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.