Page 208 -
P. 208

Chapter 6  •  agile Modeling and prototyping     175

                 system that more closely addresses users’ needs and expectations. Users play a distinct role in the prototyping
                 process, and systems analysts must work systematically to elicit and evaluate users’ reactions to a prototype.
                     Agile modeling is a software development approach that defines an overall plan quickly, develops and
                 releases software quickly, and then continuously revises software to add additional features. The values of
                 the agile approach that are shared by the customer as well as the development team are communication, sim-
                 plicity, feedback, and courage. Agile activities include coding, testing, listening, and designing. Resources
                 available include time, cost, quality, and scope.
                     Agile core practices distinguish agile methods, including a type of agile method called extreme pro-
                 gramming (XP), from other systems development processes. The four core practices of the agile approach
                 are (1) short releases, (2) 40-hour workweek, (3) on-site customer, and (4) pair programming. The agile
                 development process includes choosing a task that is directly related to a customer-desired feature based on
                 user stories, choosing a programming partner, selecting and writing appropriate test cases, writing the code,
                 running the test cases, debugging it until all test cases run, implementing it with the existing design, and
                 integrating it into what currently exists.
                     Later in this chapter we compared how SDLC and agile approaches handle improving knowledge work
                 efficiency differently. We then discussed several inherent dangers to organizations adopting innovative
                 approaches, including an incompatible organizational culture, poor timing of the project, cost of training
                 systems analysts, unfavorable client reactions to new behavioral expectations, difficulties in measuring the
                 impact, and the possible compromise of the individual creative rights of programmers and analysts.



                 Keywords and Phrases
                 40-hour workweek                        on-site customer
                 agile modeling                          pair programming
                 agile principles                        patched-up prototype
                 agile values                            prototype
                 assume simplicity                       requirements planning phase
                 embracing change                        scrum methodology
                 extreme programming (XP)                selected-features prototype
                 first-of-a-series prototype             short release
                 implementation                          stressing the user interface
                 incremental change                      user involvement with prototyping
                 modifying the prototype                 user stories
                 nonoperational prototype                working in manageable modules




                 Review Questions
                    1.  What four kinds of information is an analyst seeking through prototyping?
                    2.  What is meant by the term patched-up prototype?
                    3.  Define a prototype that is a nonworking scale model.
                    4.  Give an example of a prototype that is a first full-scale model.
                    5.  Define what is meant by a prototype that is a model with some, but not all, essential features.
                    6.  List the advantages and disadvantages of using prototyping to replace the traditional SDLC.
                    7.  Describe how prototyping can be used to augment the traditional SDLC.
                    8.  What are the criteria for deciding whether a system should be prototyped?
                    9.  List four guidelines an analyst should observe in developing a prototype.
                   10.  What are the two main problems identified with prototyping?
                   11.  List the three main advantages in using prototyping.
                   12.  How can a prototype mounted on an interactive website facilitate the prototyping process? Answer in
                     a paragraph.
                   13.  What are three ways that a user can be of help in the prototyping process?
                   14.  What are the four values that must be shared by the development team and business customers when
                     taking an agile approach?
                   15.  What are agile principles? Give five examples.
                   16.  What are the four core practices of the agile approach?
                   17.  Name the four resource control variables used in the agile approach.
                   18.  Outline the typical steps in an agile development episode.
                   19.  What is a user story? Is it primarily written or spoken? State your choice, then defend your answer
                     with an example.
   203   204   205   206   207   208   209   210   211   212   213