 |
One of the core practices of Agile Modeling
(AM) is
Active Stakeholder Participation, which insists that
stakeholders be available to provide information, make
decisions, and even be involved in modeling. Although
many traditionalists will tell you that it’s
preposterous to expect stakeholders to be actively
involved in modeling, agilists know otherwise, as do
user centered design (UCD) practitioners.
|
|
Unfortunately most stakeholders
don't understand the complex diagrams preferred by many
traditional modelers, nor do they want to
take the time to learn them (the same thing can be said
of many developers, but that's a different discussion).
The implication is that
the models typically supported by software-based
modeling tools will hinder communication with
stakeholders rather than foster it. The
secret is to adopt inclusive models which use
simple
tools and simple techniques
that stakeholders can
easily learn and therefore use to help capture and
analyze requirements for your system. Yes, some
stakeholders have the ability to understand some of the
more sophisticated modeling techniques, and can learn to
use complex modeling tools, but it's rare to find such
people in practice (when you do, act accordingly).
The point is that "inclusive" is situational, although
my experience is that the simpler the tool or technique
the more inclusive it becomes.
Inclusive models can be used to
improve the communication which you have with your
project stakeholders. Stakeholders can be active
participants in modeling if developers are willing to
work with inclusive models. Yes, you will very likely
find that you need to use other types of models in order
to design your software, and that’s ok. Inclusive
models and inclusive tools are an important aspect of
model storming. If you truly
value
interactions and individuals over processes and
tools as the
Agile Alliance suggests then you’ll
consider adopting inclusive modeling techniques.
|
There are many simple tools
available to you, including:
|
 |
The
DDJ 2008 Modeling and Documentation survey explored
how people approach modeling and documentation.
Figure 1 summarizes the results
of the question that looked into the primary approach to
modeling, and regardless of development paradigm
sketching was the most common approach to modeling.
The point is that inclusive modeling is a common
strategy.
Figure 1.
Primary
approaches
to
modeling.

The following table summarizes common inclusive
modeling techniques, and
Agile Models Distilled
summarizes a larger number of models (many of which are
technical in nature). The examples are from a
university system case study or from an online
e-commerce system.
| Technique |
Suggested Tool |
Usage |
Example |
|
Change Cases |
- Index Cards
- Word Processor
|
Explore potential, architectural level
requirements to identify potential changes which
could occur in the future. |
Change case:
Registration will occur completely via the Internet.
Likelihood: Medium
likelihood within two to three years, very likely
within ten years.
Impact: Unknown.
Although registration will be available online
starting in September, we currently expect less than
one quarter of registrations to be made via the
Internet this year. Response time will be an issue
during the peak use periods, which are the two weeks
prior to the beginning of classes each term, as well
as the first week of classes.
|
|
Class Responsibility Collaborator (CRC) cards |
|
Explore business entities, such as Student and
Seminar, and the relationships between them via
domain modeling. Developers can use CRC
cards to do detailed structural
modeling of their object designs. |
 |
|
Essential Use Cases |
- Flip Chart
- Word Processor
|
Explore how people will use a system.
|
Name:
Enroll in Seminar
Identifier: UC 17
Basic
Course of Action:
-
Student provides her name and student number
-
Registrar verifies the student is eligible to
enroll in seminars. If not eligible then student
informed and use case ends.
-
Registrar asks student which seminar they’d like
to enroll in. If they don’t know registrar
provides student with course catalog if required.
-
Student chooses a seminar or decides not to enroll
at all.
-
Registrar checks student record to see if student
has previously passed prerequisite courses. If
not eligible student is asked to choose another.
-
Registrar validates the seminar fits into
student’s schedule.
-
Registrar calculates fees
-
Student verifies the cost and either indicates she
wants to enroll or not.
-
Registrar enrolls the student in the seminar and
bills them for it.
-
The registrar writes enrollment receipt.
|
|
Essential User Interface Prototypes |
|
Identify user interface requirements without
committing to a design too early in the project. |
 |
|
Features |
- Index Cards
- Word Processor
|
Identify what people would like from the system |
|
|
Free Form Diagrams |
|
Pretty much everything. |


 |
|
User Interface Sketch |
|
Define rough design of a screen or page. |
 |
|
User Stories |
|
Explore how people will use a system.
|
 |
 |
|
The Object Primer 3rd Edition: Agile Model Driven
Development with UML 2 is an
important reference book for agile modelers,
describing how to develop 35
types of agile
models including all 13
UML 2 diagrams.
Furthermore, this book describes the techniques
of the
Full Lifecycle Object Oriented Testing
(FLOOT) methodology to give you the fundamental
testing skills which you require to succeed at
agile software development. The book also
shows how to move from your agile models to
source code (Java examples are provided) as well
as how to succeed at implementation techniques
such as
refactoring and
test-driven development
(TDD). The Object Primer also includes a
chapter overviewing the critical database
development techniques (database refactoring,
object/relational mapping,
legacy analysis, and
database access coding) from my award-winning
Agile Database Techniques
book. |
 |
|
Agile Modeling: Effective Practices for Extreme
Programming and the Unified Process is the seminal
book describing how agile software developers approach
modeling and
documentation. It describes principles and
practices which you can tailor into your existing
software process, such as
XP, the
Rational Unified Process (RUP), or the
Agile Unified Process (AUP), to streamline your
modeling and documentation efforts. Modeling and
documentation are important aspects of any software
project, including agile projects, and this book
describes in detail how to
elicit requirements,
architect, and then
design your system in an agile manner. |
 |
|
The Elements of UML 2.0 Style describes a collection
of standards, conventions, and
guidelines
for creating effective
UML diagrams. They are based on sound, proven
software engineering principles that lead to diagrams
that are easier to understand and work with. These
conventions exist as a collection of simple, concise
guidelines that if applied consistently, represent an
important first step in increasing your productivity as
a modeler. This book is oriented towards
intermediate to advanced UML modelers, although there
are numerous examples throughout the book it would not
be a good way to learn the UML (instead, consider
The Object Primer). The book is a brief 188
pages long and is conveniently pocket-sized so it's easy
to carry around. |
I actively work with clients around the world to
improve their information technology (IT) practices as
both a mentor/coach and trainer. A full description of
what I do, and how to contact me, can be
found here.
|