0% found this document useful (0 votes)
26 views19 pages

AGILE Unit 4 Practicing XP

This document discusses the key practices of eXtreme Programming (XP), which include collaborating, releasing, planning, and developing software incrementally. Some of the highlighted practices include having daily stand-up meetings, test-driven development, collective code ownership, continuous integration, and incremental requirements and design. The overall aim of XP is to improve collaboration between programmers and customers in order to deliver working software frequently in short iterations.

Uploaded by

thalaaskar55
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views19 pages

AGILE Unit 4 Practicing XP

This document discusses the key practices of eXtreme Programming (XP), which include collaborating, releasing, planning, and developing software incrementally. Some of the highlighted practices include having daily stand-up meetings, test-driven development, collective code ownership, continuous integration, and incremental requirements and design. The overall aim of XP is to improve collaboration between programmers and customers in order to deliver working software frequently in short iterations.

Uploaded by

thalaaskar55
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

UNIT-IV

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

• Team Strategy 2 – Programmer-Tester Empathy

• Team Strategy 3 – Eat Together

• Team Strategy 4 – Team Continuity

• Impressions

• Organizational Strategy 1 :

• Show Some Hustle

• 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

• Exploiting Great Communication

• Secrets of Sitting Together

• Making Room

• Designing Your Workspace

• Sample Workspaces

• Adopting an Open Workspace


Real Customer Involvement
• Personal Development

• In-House Custom Development

• 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

• How to Speak the Same Languages

• Ubiquitous Language in Code

• Refining the Ubiquitous Language


Stand-Up Meetings
• We know what our teammates are doing.
• I have a special antipathy for status meetings.
• You know—a manager reads a list of tasks and asks about each
one in turn.
• They seem to go on forever, although my part in them is typically
only five minutes.
• I learn something new in perhaps 10 of the other minutes.
• The remaining 45 minutes are pure waste.
• There’s a good reason that organizations hold status meetings:
people need to know what’s going on.
• XP projects have a more effective mechanism: informative
workspaces and the daily stand-up meeting.
• How to Hold a Daily Stand-Up Meeting
• Be Brief
Coding Standards
• Beyond Formatting

• How to Create a Coding Standard

• Dealing with Disagreement

• Adhering to the Standard


Iteration Demo
It is a powerful way to show off your work, and stakeholders
are happy to see product.
• How to Conduct an Iteration Demo

• Two Key Questions

• Weekly Deployment Is Essential


Reporting
• Types of Reports
• Progress Reports to Provide
• Vision Statement
• Weekly demo
• Release and iteration plans
• Burn-up chart
• Progress Reports to Consider
• Roadmap
• Status email
• Management Reports to Consider
• Productivity
• Throughput
• Defects
• Time usage
• Reports to Avoid
• Source lines of code (SLOC) and function points
• Number of stories
• Velocity
• Code quality
RELEASING
What is the value of code? Agile developers value “working software over
comprehensive documentation.”* Does that mean a requirements document
has no value? Does it mean unfinished code has no value?
1. “Done Done”
2. No Bugs
3. Version Control

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.

9. Spike Solutions use controlled experiments to provide


information.

10. Performance Optimization uses hard data to drive


optimization efforts.

11. Exploratory Testing enables testers to identify gaps in


the team’s thought processes.

You might also like