Reality Check | The value of user scenarios
Connecting state and local government leaders
Commentary: User-scenario modeling is the most effective method of designing software systems.
Michael Daconta
GCN
IT'S EASY FOR an enterprise software system to lack
cohesion ' because its parts are often disparate and
illfitting. Such a system typically limps along, frustrating users
and management because of its halting, onestep forward, two-steps
backward path. To bring cohesion to such a system requires an
architecture that ties the pieces together into a single efficient
machine.
This all sounds good except for two details: What kind of
vehicle are you building and where are you driving it?
Although architecture is the solution here, it is not a
guaranteed solution. Architecture performed wrong can easily lead
systems astray. If architecture is to be more than just consulting
hype, it must be grounded in solid engineering principles.
The first principle is the classic 'form follows
function.' And there is only one way to get a detailed
understanding of the required functionality: walk through it.
How do we do that? I started my career by building military
simulations for the Army. That experience has proved helpful in
understanding the correlation between realistic training and
superior execution in real conditions. In other words, practice
does indeed make perfect.
Applying simulation to architecture gives us a novel approach to
designing robust systems. I call it userscenario modeling, and it
is a combination of Alan Cooper's interaction design and the
Unified Modeling Language's use case diagrams.
I recently used the technique while facilitating a three-day
architecture workshop for a government client. The client needed an
architecture for an enterprise information- sharing system and had
created an architecture design group of key stakeholders in the
organization. My job was to guide and facilitate the group.
I started by recommending that we create detailed user scenarios
and walk through the proposed architecture. It's worth
clarifying those terms. A user scenario is a domain-specific,
instantiated use case. In turn, a use case is a generic set of
steps in which a user performs an action on the system to receive a
result.
For example, in a banking application, 'Withdraw
Money' would be a use case. To turn a use case into a user
scenario, you instantiate it by implementing it with a specific
user, a specific situation and specific results.
Another key requirement for a good user scenario is to select
one that demonstrates full-loop functionality. A full loop starts
and ends with the user.
On the first day of the workshop, we tried a narrative approach
to userscenario modeling. However, the small groups produced a
result that suffered from inconsistency and confusion over what a
good user scenario looks like.
So that night I devised a simple user-scenario modeling notation
in Microsoft PowerPoint (available at www.daconta.us/
downloads.html). It galvanized the three breakout groups, and on
the second day, they produced detailed user scenarios and a
cohesive high-level architecture.
The architecture group ended the workshop with consensus,
confidence and motivation. Excitement is infectious, and it was
great to see the group know it had a good architecture because the
members had modeled it and walked through it with detailed user
scenarios.
Some of you might notice that this approach combines multiple
similar views in the Department of Defense Architecture Framework.
So why not just use DODAF views for user-scenario modeling? The
multitude of DODAF views is overkill and overly complex for a
threeday workshop. More importantly, in my opinion, userscenario
modeling is the most effective method of designing software
systems. The views you choose to model them with are secondary.
I encourage you to examine the roots, theory and practice of
designing detailed user scenarios. Mastering userscenario design
will surely raise the bar on your software systems development.
Daconta, mdaconta@ acceleratedim.com, is chief technology
officer at Accelerated Information Management LLC and former
metadata program manager at the Homeland Security Department. His
latest book is 'Information as Product: How to Deliver the
Right Information to the Right Person at the Right
Time.'
NEXT STORY: Power management