Embracing Change with Extreme Programming - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Embracing Change with Extreme Programming

Description:

Downfall. Long development. cycle. testing at end. 3. Why Waterfall? Broad software changes ... But new technology (relational databases, modular programming, ... – PowerPoint PPT presentation

Number of Views:134
Avg rating:3.0/5.0
Slides: 21
Provided by: gene334
Category:

less

Transcript and Presenter's Notes

Title: Embracing Change with Extreme Programming


1
Embracing Changewith ExtremeProgramming
  • By Kent Beck

Presented by Josh Horner
2
Traditional Project Management Method
  • Waterfall method
  • Works when the customers
  • Know exactly what they want
  • Dont change their minds
  • Dont contradict themselves
  • Downfall
  • Long development
  • cycle
  • testing at end
  • ?oops

3
Why Waterfall?
  • Broad software changes
  • Increased as life cycle progresses
  • Somajor decisions made early

4
Shorter Development Cycle
  • But new technology (relational databases, modular
    programming, information hiding) reduces cost
  • Iterative
  • Method

5
Extreme Programming (XP) Practices
  • Planning Game
  • Small Releases
  • Metaphor
  • Simple Design
  • Tests
  • Refactoring

6
Extreme Programming (XP) Practices (cont.)
  • Pair Programming
  • Continuous Integration
  • Collective Ownership
  • On-site Customer
  • 40-hour Weeks
  • Open Workspace
  • Just Rules

7
Development Cycle
Stories
Release
Iteration
Tasks
Tests
Program
8
Timeframe
9
Stories
  • Requirements
  • Start with a bare-bones feature set
  • Story (feature)
  • Business-oriented
  • Testable
  • Estimable

10
Release
  • Customer picks the smallest set of most valuable
    stories
  • Implement
  • Repeat with additional stories
  • Metaphor Grocery Shopping
  • Items stories
  • Prices estimates from team
  • Budget then pick items?

11
Iteration
  • Process
  • Plan implementation
  • Task Division Estimation
  • Programmer Implement
  • Integrate Test (unit test)
  • Customer deliver functional tests
  • Add tests
  • Run all unit functional tests

12
Task
  • Questions? Brief meeting with customer
  • Pair Programming
  • Process
  • Pick a test case to implement
  • Code
  • Test
  • On failure,
  • Find clean solution
  • Find dirty solution, redesign (refactor)
  • Find dirty solution, keep

13
Test Unit Tests
  • Test everything that can break
  • Unconventional
  • Tests before code
  • Written by programmer
  • Programming ? learning ? quick feedback
  • Not test written by someone else days after
    coding
  • Tests permanent
  • Automated
  • Gain confidence in behavior over time

14
Test Functional Tests
  • System-wide test
  • Black Box, expected value
  • Builds customer confidence
  • Update now Acceptance Tests1

1 lthttp//www.extremeprogramming.org/rules/functio
naltests.htmlgt
15
OopsWhen Something Goes Wrong
  • Underestimation
  • Practice estimating
  • Overcommitted Are you following XP practices
    correctly?
  • Re-estimate and talk to customer
  • Uncooperative Customer
  • Does not specify tests, prioritize, write stories
  • Cant guess. Ask for help

16
OopsWhen Something Goes Wrong
  • Turnover
  • Pair programming
  • New person catch up to speed
  • Paired with veteran
  • Read tests
  • Talk to customer
  • XP not for everyone

17
OopsWhen Something Goes Wrong
  • Changing Requirements
  • Less planning is best
  • pick stories for current iteration only
  • If new story arises, add to pile
  • If still urgent, customer will pick it

18
XP in Use
  • Acxiom campaign management database
  • OO development tool, then XP
  • DaimlerChrysler C3 payroll system
  • First full XP project
  • Before GUI-centered eye candy. Bad math
  • After success
  • Ford Motor VCAPS cost analysis system
  • XP met volatile requirements

19
Try XP?
  • Slow adoption
  • Worst problem in current process

20
Websites
  • http//www.extremeprogramming.org/
  • http//www.xprogramming.com
  • http//c2.com/cgi/wiki?ExtremeProgrammingRoadmap
Write a Comment
User Comments (0)
About PowerShow.com