Page 197 -
P. 197

164     part 2  •  inforMation requireMents analysis

              Figure 6.5                                                Agile Core Practices
              The core practices are interrelated
              with agile modeling’s resources,                                    40-Hour Work Week
                                                                            Short Release
              activities, and values.
                                                                                     Onsite Customer

                                                                         Pair Programming




                                                                                                                      Testing

                                                                          Cost                             Coding
                                                           Time                                         Designing                 Listening


                                                                         Quality
                                                           Scope
                                                                                                    Agile Activities
                                                    Agile Resources

                                                                                                Simplicity
                                                                                Communication


                                                                                                 Feedback
                                                                                     Courage


                                                                               Agile Values



                                             process. Pair programming saves time, cuts down on sloppy thinking, sparks creativity,
                                             and is a fun way to program.
                                             How core agile practices interrelate with and support agile development activities, resources,
                                         and values is shown in Figure 6.5.

                                         The Agile Development Process
                                         Modeling is a keyword in agile methods. Agile modeling seizes on the opportunity to create
                                         models. These can be logical models such as drawings of systems, or mock-ups such as the
                                         prototypes described earlier in this chapter. A typical agile modeling process would go some-
                                         thing like this:
                                           1. Listen for user stories from the customer.
                                           2. Draw a logical workflow model to gain an appreciation for the business decisions repre-
                                             sented in the user story.
                                           3. Create new user stories based on the logical model.
                                           4. Develop some display prototypes. In doing so, show the customers what sort of interface
                                             they will have.
                                           5. Using feedback from the prototypes and the logical workflow diagrams, develop the sys-
                                             tem until you create a physical data model.
                                             Agile is the other keyword in agile modeling. Agile implies maneuverability. Today’s sys-
                                         tems, especially those that are Web based, pose twin demands: getting software released as soon
                                         as possible and continually improving the software to add new features. A systems analyst needs
                                         to have the ability and methods to create dynamic, context-sensitive, scalable, and evolutionary
                                         applications. Agile modeling is therefore a change-embracing method.
   192   193   194   195   196   197   198   199   200   201   202