Page 190 -
P. 190
Chapter 6 • agile Modeling and prototyping 157
Figure 6.3
An important step in prototyping
is to properly record user
Observer Name Prototype Evaluation Form reactions, user suggestions,
Michael Cerveris
innovations, and revision plans.
Date
System or Project Name
1/06/2013
Company or Location
Cloud Computing Data Center
Program Name or Number Aquarius Water Filters
Prev. Maint. Version
User 1
User Name User 2 1
Andy H. User 3
Period Observed Pam H. User 4
1/06/2013
User Reactions 1/06/2013
Generally
Excellent!
favorable,
got excited
about project
User Suggestions
Add the date
Place a form
when maintenance number on top
was performed.
for reference.
Place word
WEEKLY in title.
Innovations
Revision Plans
Modify on
1/08/2013
Review with
Andy and Pam.
Agile Modeling
Agile methods are a collection of innovative, user-centered approaches to systems development.
You will learn the values and principles, activities, resources, practices, processes, and tools
associated with agile methodologies in the upcoming sections. Agile methods can be credited
with many successful systems development projects and, in numerous cases, even credited with
rescuing companies from a failing system that was designed using a structured methodology.
Values and Principles of Agile Modeling
The agile approach is not based just on results. It is based on values, principles, and practices.
Essential to agile programming are stated values and principles that create the context for col-
laboration among programmers and customers. In order to be agile analysts, you must adhere to
the following values and principles as developed by Beck (2000) in his work on agile modeling
that he called “extreme programming,” or “XP.”
FOUR VALUES OF AGILE MODELING. There are four values that create an environment in which
both developers and businesses can be adequately served. Because there is often tension between
what developers do in the short term and what is commercially desirable in the long term, it
is important that you knowingly espouse values that will form a basis for acting together on
a software project. The four values are communication, simplicity, feedback, and courage, as
shown in Figure 6.4.
Let’s begin with communication. Every human endeavor is fraught with possibilities for
miscommunication. Systems projects that require constant updating and technical design are
especially prone to such errors. Add to this tight project deadlines, specialized jargon, and the
stereotype that programmers would prefer to talk to machines rather than people, and you have
the potential for some serious communication problems. Projects can be delayed, the wrong
problem can be solved, programmers may be punished for even bringing up problems to man-
agers, people may leave or join the project in midstream without proper updates, and so the
litany goes.