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:
-
Whiteboards
- Index cards
- Post-its
- Flip chart paper
- String
- Word processor (ok, not so
simple but most people know how to use them)
|
 |
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.
|
 |