Extreme & pair programming Slides ppt
- 2. Extreme Programming (XP)
Formulated in 1999 by Kent Beck, Ward
Cunningham and Ron Jeffries
Agile software development
methodology (others: Scrum, DSDM)
Developed in reaction to high ceremony
methodologies
- 3. XP: Why?
Previously:
Get all the requirements before starting design
Freeze the requirements before starting
development
Resist changes: they will lengthen schedule
Build a change control process to ensure that
proposed changes are looked at carefully and no
change is made without intense scrutiny
Deliver a product that is obsolete on release
- 4. XP: Embrace Change
Recognize that:
All requirements will not be known at the beginning
Requirements will change
Use tools to accommodate change as a
natural process
Do the simplest thing that could possibly work
and refactor mercilessly
Emphasize values and principles rather than
process
- 5. XP Practices
(Source: http://www.xprogramming.com/xpmag/whatisxp.htm)
- 7. XP Criticism
Unrealistic--programmer centric, not business
focused
Detailed specifications are not written
Design after testing
Constant refactoring
Customer availability
12 practices are too interdependent
- 8. The Way Forward?
‘High ceremony’ software engineering
methodologies in disfavor
Agile software development methodologies in
increasing use, but with significant criticism
Formal methods will never have a significant
impact until they can be used by people that
don’ t understand them. T. Melham
- 9. Pair Programming Overview
Two programmers work side-by-side at
one computer
Continuously collaborate on same
design, algorithm, code, test, etc.
Continuous informal review
- 10. Two guys working on the same task
Both have the same target
Both have different expertise
One executes the task , other watches for
external factors, evaluates the situation,
Corrects him and validates success after
execution
Two guys working as a team
- 11. Share everything
Two programmers are assigned to jointly
produce one artifact
One person typing or writing, the other
continuously reviewing
Both equal participants
Both partners own everything
- 20. How does it Help?
Continuous Review.
Less Defects caught early.
Better Problem Solving.
More Economical.
“Pair-Pressure” ensures timely delivery.
Rapid Hands-on Approach to Learning.
Better Induction of new Team Members.
- 23. What is NOT pair programming?
Splitting up the work
Taking turns doing the work
One person doing all the work
Being located in different places
Sitting at different computers
(Exception – it’s ok to use remote
shared desktop technology, such as
VNC, if absolutely necessary)