Agile Development: Chapter Comments 4-1
Agile Development: Chapter Comments 4-1
Agile Development: Chapter Comments 4-1
Chapter 4
Agile Development
The main point of this section is to introduce agility in the context of software
development. Agility is more than change management. Agility means that
customers and developers need to work together as collaborators on the
development team and try to build products that can be adapted to a rapidly
changing market place. Part of this adaptation is learning when and how to
streamline the production of work products and focus on the development of
incremental operational prototypes.
That is, while there is value in the items on the right, we value the items on the left
more. Kent Beck et al
Agility is todays buzzword when describing a modern software process. It is how
to appropriately respond to changes.
Change is what software development is very much about.
Changes in the software being built, changes to team members, changes b/c of
new technology that may have impact on the project that creates the product.
Agility encompasses the philosophy espoused in the manifesto noted earlier.
It adopts the customer as a part of the development team and works to eliminate
the us and them attitude that continue to pervade many software projects.
4-2 SEPA, 6/e Instructors Guide
refactoring
pair
programming
Release
software increment
unit test
project velocity computed continuous integration
acceptance testing
Planning
Begins with the creation of user stories and then placed on an index card.
The customer assigns a value to the story based on the overall business value of
the function.
Agile XP team assesses each story and assigns a cost measured in
development weeks.
If stories take more than 3 weeks to develop, the customer is asked to split the
stories into smaller ones.
Stories are grouped to form a deliverable increment done by customer and XP
team.
Once a commitment is made on delivery date, the XP team orders the stories
that will be developed in one of three ways:
1. All stories will be implemented immediately within a few weeks.
2. The stories with the highest value will be moved up in the schedule and
implemented first.
Chapter Comments 4-5
Release
software increment
adjustments for subsequent cycles
components implemented/ tested
focus groups for feedback
formal technical reviews
postmortems
Chapter Comments 4-7
It defines three different iterative cycles preceded by two additional life cycles
activities:
Feasibility Study: Business requirements and constraints.
Business Study: Establishes req. that will allow the application to provide
business value.
Functional Model Iteration: Produce iterative prototypes.
Design and build iteration: Revisit prototyping.
Implementation: Include the latest prototype into the operational environment.
4-8 SEPA, 6/e Instructors Guide
4.3.4 Scrum
Originally proposed by Schwaber and Beedle; the name derived from an activity
that occurs during a rugby match.
Scrumdistinguishing features
Development work is partitioned into packets
Testing and documentation are on-going as the product is constructed
Work occurs in sprints framework activities and is derived from a backlog
requirements that provide business values of existing requirements
Meetings are very short and sometimes conducted without chairs
Demos are delivered to the customer with the time-box allocated