Page 45 -
P. 45
12 Part 1 • SyStemS analySiS FundamentalS
Figure 1.5
The five stages of the agile
modeling development process Exploration
show that frequent iterations are
essential to successful system
development.
Iterations to the
Planning
First Release
Agile methods involve
the customer in many
iterations prior to
the first
release . . .
Productionizing
. . . and increase
Maintenance
the pace of
iterations after
the product is
released.
should practice estimating the time needed for a variety of tasks. In exploration, customers also
are experimenting with writing user stories. The point is to get the customer to refine a story
enough so that you can competently estimate the amount of time it will take to build the solution
into the system you are planning. This stage is all about adopting a playful and curious attitude
toward the work environment, its problems, technologies, and people.
planning. The next stage of the agile development process is called planning. In contrast
to the first stage, planning may take only a few days to accomplish. In this stage you and
your customers agree on a date anywhere from two months to half a year from the current
date to deliver solutions to their most pressing business problems (you will be addressing
the smallest, most valuable set of stories). If your exploration activities were sufficient, this stage
should be very short.
The entire agile planning process has been characterized using the idea of a planning game,
as devised by Kent Beck, the father of Extreme Programming. The planning game spells out
rules that can help formulate the agile development team’s relationship with their business cus-
tomers. Although the rules form an idea of how you want each party to act during development,
they are not meant as a replacement for a relationship. They are a basis for building and main-
taining a relationship.
So, we use the metaphor of a game. To that end we talk in terms of the goal of the game,
the strategy to pursue, the pieces to move, and the players involved. The goal of the game is to
maximize the value of the system produced by the agile team. In order to figure the value, you
have to deduct costs of development, and the time, expense, and uncertainty taken on so that the
development project can go forward.
The strategy pursued by the agile development team is always one of limiting uncertainty
(downplaying risk). To do that they design the simplest solution possible, put the system into
production as soon as possible, get feedback from the business customer about what’s work-
ing, and adapt their design from there. Story cards become the pieces in the planning game that
briefly describe the task, provide notes, and provide an area for task tracking.
There are two main players in the planning game: the development team and the business
customer. Deciding which business group in particular will be the business customer is not