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
   40   41   42   43   44   45   46   47   48   49   50