PDF Document
PDF Document
PDF Document
CONCEPTS
CHAPTER # 3 – AGILE DEVELOPMENT
“We are uncovering better ways of developing software by doing it and helping
others do it. Through this work we have come to value:
Individuals and interactions over processes and tools.
Working software over comprehensive documentation .
Customer collaboration over contract negotiation .
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on
the left more.” - Kent Beck et al
WHAT IS “AGILITY”?
• XP Planning
Begins with the creation of “user stories”. Agile team assesses each story and assigns a cost Stories are grouped to for a
deliverable increment. A commitment is made on delivery date. After the first increment “project velocity” is used to help
define subsequent delivery dates for other increments
• XP Design
Follows the KIS principle. Encourage the use of CRC cards. For difficult design problems, suggests the creation of “spike
solutions”—a design prototype. Encourages “refactoring”—an iterative refinement of the internal program design
• XP Coding
Recommends the construction of a unit test for a store before coding commences. Encourages “pair programming”
• XP Testing
All unit tests are executed daily. “Acceptance tests” are defined by the customer and executed to assess customer visible
functionality
OTHER AGILE PROCESS MODELS
• Scrum principles are consistent with the agile manifesto and are used to guide development activities within a
process that incorporates the following framework activities: requirements, analysis, design, evolution, and delivery.
Within each framework activity, work tasks occur within a process pattern called a sprint.
• The work conducted within a sprint (the number of sprints required for each framework activity will vary
depending on product complexity and size) is adapted to the problem at hand and is defined and often
modified in real time by the Scrum team.
• Scrum emphasizes the use of a set of software process patterns that have proven effective for projects
with tight timelines, changing requirements, and business criticality. Each of these process patterns
defines a set of development actions:
• Backlog—a prioritized list of project requirements or features that provide business value for the
customer. Items can be added to the backlog at any time (this is how changes are introduced). The
SCRUM
• Sprints—consist of work units that are required to achieve a requirement defined in the backlog that must be fit
into a predefined time-box (typically 30 days).
• Changes (e.g., backlog work items) are not introduced during the sprint. Hence, the sprint allows team members to work in
a short-term, but stable environment.
• Scrum meetings—are short (typically 15 minutes) meetings held daily by the Scrum team. Three key questions are asked
and answered by all team members:
• What did you do since the last team meeting?
• What obstacles are you encountering?
• What do you plan to accomplish by the next team meeting?
• A team leader, called a Scrum master, leads the meeting and assesses the responses from each person. The Scrum meeting
helps the team to uncover potential problems as early as possible. Also, these daily meetings lead to “knowledge
socialization” and thereby promote a self-organizing team structure.
SCRUM