AGILE Unit 4 Practicing XP
AGILE Unit 4 Practicing XP
PRACTICING XP
Dr. M. Durairaj
Bharathidasan University
Practicing XP
A. Thinking
B. Collaborating
C. Releasing
D. Planning
E. Developing
COLLABORATING
1. Trust
2. Sit Together
3. Real Customer
4. Ubiquitous Language
5. Stand-Up Meetings
6. Coding Standards
7. Iteration Demo
8. Reporting
Trust
• Team Strategy 1 – Customer-Programmer Empathy
• Impressions
• Organizational Strategy 1 :
• Organizational Strategy 2 :
• Deliver on Commitments
• Organizational Strategy 3 :
• Manage Problems
• Organizational Strategy 4 :
• Respect Customer Goals
• Organizational Strategy 5 :
• Promote the Team
• Organizational Strategy 6 :
• Be Honest
Sit Together
• Accommodating Poor Communication
• A Better Way
• Making Room
• Sample Workspaces
• Vertical-Market Software
• Horizontal-Market Software
Ubiquitous Language
You need a ubiquitous language to explain business
logic to a nonprogrammer domain expert.
• The Domain Expertise Conundrum
• Two Languages
4. Ten-Minute Build
5. Continuous Integration
6. Collective Code Ownership
7. Documentation
1. "done done" ensures that completed work is ready to
release.
2. No bugs allows you to release your software without a
separate testing phase.
3. Version control allows team members to work together
without stepping on each other’s toes.
4. A ten-minute build builds a tested release package in
under 10 minutes.
5. Continuous integration prevents a long, risky integration
phase.
6. Collective code ownership allows the team to solve
problems no matter where they may lie.
7. Post-hoc documentation decreases the cost of
documentation and increases its accuracy.
PLANNING
1. Vision
2. Release Planning
3. The Planning Game
4. Risk Management
5. Iteration Planning
6. Slack
7. Stories
8. Estimating
1. Vision reveals where the project is going and why it’s going
there.
2. Release Planning provides a roadmap for reaching your
destination.
3. The Planning Game combines the expertise of the whole
team to create achievable plans.
4. Risk Management allows the team to make and meet
long-term commitments.
5. Iteration Planning provides structure to the team’s daily
activities.
6. Slack allows the team to reliably deliver results every iteration.
7. Stories form the line items in the team’s plan.
8. Estimating enables the team to predict how long its work will
take.
DEVELOPING
1. Incremental Requirements allows the team to get
started while customers work out requirements details.
2. Customer Tests help communicate tricky domain rules.
3. Test-Driven Development allows programmers to be
confident that their code does what they think it should.
4. Refactoring enables programmers to improve code
quality without changing its behavior.
5. Simple Design allows the design to change to support
any feature request, no matter how surprising.
Contd..
8. Incremental Design and Architecture allows
programmers to work on features in parallel with
technical infrastructure.