You are on page 1of 7

FOCUS: PROFESSIONAL SOFTWARE DESIGN

Strategies that the team can subsequently imple-


ment. Surprisingly, many software
companies today still have individuals

for Early-Stage
performing much or all of the design
alone, producing detailed technical
project plans that include major flaws

Collaborative
that aren’t discovered during cursory
project plan reviews; often no one finds
them until implementation or even well
thereafter, when the system is deployed

Design and in use.


Collaboration during early-stage de-
sign can catch crucial flaws in both the
problem analysis and the proposed so-
Ania Dilmaghani, Oracle lution. Design partners can challenge
assumptions, identify potential road-
Jim Dibble, Cooper blocks, and help ensure that design de-
cisions are airtight. However, not every
collaborative design session succeeds—
locking multiple designers in a room
// A set of 10 design session ground rules can significantly doesn’t guarantee progress. By devising
a strategy for collaborative work ses-
enhance the process and output of early-stage design. // sions, designers can participate in more
productive and creative sessions. A col-
laborative design session is more likely
to succeed when designers agree on
ground rules for conducting the session.
Figure 1 shows the authors’ collabora-
tive design session in a research study of
professional software designers.
Here, we present 10 ground rules
for collaborative design sessions that
can significantly enhance the process
and output of early-stage design. We’ve
distilled them from our individual and
SOFTWARE DESIGN CONSISTS of involves improving their understanding joint experiences of software design
an ongoing series of decisions, from of the problem domain to produce a de- over roughly 25 years, 15 companies,
the development project’s initiation sign that addresses users’ needs. Early- and scores of projects. We’ve selected
and the elicitation of requirements to stage design, then, involves the creative and honed them through an iterative
the initial system architecture sketches exploration of both the design problem process of reflection and application;
to a developer’s choices of suitable al- and its possible solutions. we include them when inducting new
gorithms, data structures, and user in- Almost every software project re- team members and use them to guide
terface controls. Early-stage design re- quires broad thinking from multiple our own practice. Making the most
fers to the set of design decisions that perspectives. Software architects, inter- of collaborative design results in clear
occur at product inception, when the action designers, and developers must gains: uncovering assumptions, coor-
software design team has a rough un- collaborate to understand the problem, dinating design thinking, identifying
derstanding of the problem and a vague generate potential solutions, and evalu- conflicts and misconceptions, explor-
set of requirements. A nontrivial por- ate those solutions, so that they arrive ing alternatives, and fortifying the de-
tion of a software team’s initial work at an innovative and effective design sign rationale.

0 74 0 -74 5 9 / 12 / $ 3 1. 0 0 © 2 0 12 I E E E J A N U A R Y/ F E B R U A R Y 2 0 1 2 | IEEE S O F T W A R E  39
FOCUS: PROFESSIONAL SOFTWARE DESIGN

FIGURE 1. The authors participated as research subjects in the Studying Professional Software Design study. During the collaborative
design session, we were tasked with designing a traffic control simulation system for civil engineering students. These video stills capture our
interaction during the design session.

40 I E E E S O F T W A R E | W W W. C O M P U T E R . O R G / S O F T W A R E
Agree on Individual designers might fixate on a is unclear. Implementing the require-
Agenda and Goals few detailed design problems, while ments directly as stated can produce a
When a design team gathers to address failing to address the core design issues. system that’s a patchwork of features.
a complex problem, the number of is- When collaborators don’t first agree Such a system might seem intuitive to
sues can be overwhelming. The team on the scope and nature of the design its implementers but often makes little
might disagree on which issues to ad- problem, misunderstandings and faulty or no sense to target users.
dress, leading to long-running meet- assumptions can occur. Early-stage design becomes the pro-
ings without clear outcomes. Most Collaborative design gives the best cess of converting feature lists into an
designers have participated in un- results when designers work from a integrated product vision, structured
structured meetings that seem to drag shared understanding of target users. around user goals and usage context.
on forever, losing both energy and By defining user goals before address- Creating this holistic vision doesn’t in-
momentum. ing implementation concerns, designers volve simple requirements translation
To ensure progress, designers should can generate innovative solutions that but instead is an ongoing process of
plan a collaborative design session just better meet user needs. discovery.
as they would plan any other meeting.
By setting time limits and achievement
goals, designers can force themselves
to focus on the fundamental problems.
To ensure progress, designers should plan
Should the design session result in the a collaborative design session just as they
software architecture? The interaction would plan any other meeting.
framework? The detailed design of a
specific component? Or are the design-
ers refining the requirements by work-
ing through a set of user scenarios? For almost all software systems, de- Scenarios are great tools for explor-
By identifying the meeting’s goals signers should identify target users as ing target users’ needs and framing the
up front, designers can reduce the pos- the first step toward agreeing on the problem from their perspective. With
sibility of digression because all par- problem scope. This provides a com- user scenarios, designers can organize
ticipants are on the same page from the mon frame of reference for design deci- the activities suggested by the require-
beginning. Each collaborator takes re- sions. They should start by discussing ments into a plausible narrative of tar-
sponsibility for keeping the meeting on their current understanding of the tar- get users’ usage patterns. Scenarios let
track and steering side conversations get users, their work context, technical designers organize and prioritize fea-
back to the meeting’s stated purpose. experience, attitudes, behaviors, and tures based on users’ needs. Designers
If the team must address multiple prob- goals. If they don’t have a clear under- can refactor the original requirements
lems, they can explicitly “time box” standing of these factors, they should list, adding features crucial to achiev-
each topic to guarantee time for discus- find a way to learn more about them. ing user goals and downgrading fea-
sion. While this sometimes means that Then they can explore requirements tures incidental to product usage.
designers must table a topic that hasn’t from the target users’ perspectives.
been fully addressed, they typically Sketch the
make progress across the board. They Reframe Requirements Problem Domain
might even have an easier time with the around Users To begin understanding the problem
topic later, after addressing other prob- Product requirements can come from domain, designers often sketch dia-
lems that shed light on it. internal and external sources includ- grams and pictures to communicate
ing executives, marketing information, ideas. Diagrams offer a great way to ex-
Determine sales data, competitive analysis, mar- amine the relationships among objects
the Target Users ket analysis, existing customers, po- in the problem domain, as well as the
On a large project, the problem space’s tential customers, and users. When col- ways users might interact with them.
scope and complexity can overwhelm lected into a single document as a list However, designers often feel obligated
the team. Brainstorming discussions of features, these requirements often to formalize their notation and nomen-
can take the team in multiple direc- lack a holistic product vision: stated re- clature early in the process. Formal
tions because different individuals quirements are in conflict, crucial fea- notation can lead designers to make
have different priorities and expertise. tures are missing, and prioritization premature design decisions because

J A N U A R Y/ F E B R U A R Y 2 0 1 2 | IEEE S O F T W A R E  41
FOCUS: PROFESSIONAL SOFTWARE DESIGN

DESIGN SCORECARD
In early 2009, we participated as research subjects in the of objects in the problem domain. Only at the very end did we
Studying Professional Software Design study. In the research, sketch out a preliminary entity-relationship diagram, based on
design pairs were allotted two hours to design a traffic control what we learned about the problem domain.
simulation system for use in civil engineering university classes,
for a hypothetical customer, Professor E.1 We evaluated the DRIVE TO A SOLUTION: YES
effectiveness of our two-hour design session using our design We actively participated in the design discussion; Jim drew
ground rules. potential solutions at the board, while Ania asked probing
questions and offered new design ideas. While we sometimes
AGREE ON AGENDA AND GOALS: NO traded roles during the design session, we typically didn’t draw at
We didn’t draw up an agenda or plan our session. The two hours the whiteboard simultaneously. We went back and forth proposing
moved quickly, and we had many design topics still to address ideas and building on each other’s insights.
when the researchers give us our 20-minute warning.
FOSTER COMMUNICATION: YES
DETERMINE THE TARGET USERS: YES We used hedging and inviting words, such as “maybe,”
During our design session, we acknowledged the separate needs “perhaps,” “it might work this way,” and “what do you think?” We
of the customer (the civil engineering professor, Professor E) and intentionally used such language to foster discussion—hedging
the users (her students). language indicates openness to critiques of current ideas and
proposals of alternative ideas.
REFRAME REQUIREMENTS
AROUND USERS: YES EVALUATE AS YOU GO: YES
We spent a fair amount of time going over the requirements As we came up with ideas, we tried to evaluate them against
to understand the application’s various uses. This led us to the needs of our customers and users. Throughout the session
discover that students would need to save their maps, traffic light we kept asking questions: What will Professor E need? What will
settings, and simulation settings independently so that they could the students want? How will we measure the success or failure
experiment with the system’s ability to deal with different traffic of a particular simulation? Frequently assessing proposed ideas
loads. against the scenarios we established helped us determine which
solutions to pursue.
SKETCH THE PROBLEM DOMAIN: YES
We spent a good portion of the session drawing images of roads, MINE DISAGREEMENTS: NO
intersections, traffic lights, and cars to understand the interactions In our design session, the point of disagreement centered on

the notation pushes them to think in shouldn’t constrain themselves to a par- solutions and choose a path for refine-
abstractions. ticular design notation. Instead, they ment. They can brainstorm multiple
Early-stage design is not focused should use drawings that help them dis- ideas and evaluate the pros and cons of
on determining the full class hierarchy cuss and explore the problem domain. each to choose the best solution. Alter-
or the exact entity names, but instead Drawing schematics of real objects in natively, designers can pick a reason-
on understanding the problem domain the problem domain can help designers able solution and walk it through a se-
and proposing a high-level solution. understand how those objects work. De- ries of potential usage scenarios.
Deciding too soon to express the prob- signers should turn to formal notation— Collaborative design sessions can
lem area in a formal notation, such as such as class diagrams—only when they become contentious when multiple
Unified Modeling Language (UML) understand how the objects interrelate. competing solutions are on the table.
diagrams, can shift the focus from un- Designers must move from generating
derstanding the problem space to de- Drive to a Solution a broad range of solutions to refining a
signing a solution. Once they understand the problem do- single solution for the design problem.
In early-stage design, designers main, designers can generate potential A successful strategy here is to take

42 I E E E S O F T W A R E | W W W. C O M P U T E R . O R G / S O F T W A R E
the behavior of the “car” entity in the model—should each car decisions and understandings. In our real work, one of us would
entity make independent choices about its route and speed? We have recorded the outcomes of our design session.
managed to move past the disagreement. However, we spent
too much time on this topic because we didn’t properly try to Reference
understand each other’s underlying concerns. 1. M. Petre, A.van der Hoek, and A. Baker, “Editorial,” Design Studies, vol. 31,
no. 6, 2010, pp. 533–544; doi:10.1016/j.destud.2010.09.001.

DON’T SWEAT THE DETAILS: YES


There were times when we delved
into details about how the traffic light
panel would be displayed or how the
user might configure an intersection.
Overall, however, we kept moving
forward. When questions arose that
we couldn’t answer or that required
stakeholder input, we took notes
and moved on. We frequently found
ourselves deferring decisions that could
be assessed by building and evaluating
a few quick prototypes later.

CAPTURE
DECISIONS: YES
As we moved forward in our design
and understanding of the problem
space, we kept iterating through the
decisions we had already made. At
several points, we took pictures of the
whiteboard before erasing and moving FIGURE A. Whiteboard snapshot from the authors’ collaborative design session. As part
on to the next level (see Figure A.) At of a research study, we collaboratively designed a traffic control simulation system. As design
the end of the session, we restated our work progressed, we captured our design decisions by snapping photos of our whiteboard.

on specific roles: one designer drives by ensuring that design decisions have patterns that shape the design session
sketching and explaining ideas, while solid rationale. into a joint exploration rather than an
others help to navigate to an opti- adversarial experience. They should
mal solution. Dividing roles forces the Foster Communication agree that any ideas put forward are
group to focus on a single solution’s Communication styles, in terms of both partial ideas, not fully refined solutions.
potential rather than arguing over dif- verbal and body language, can strongly As such, designers can support and as-
ferent ideas. Having one designer lead influence a design session’s flow of sist each other in revising rather than
the session creates a central point of ideas. When designers raise voices to disposing of ideas, while remaining
interaction and provides momentum win arguments, sigh in response to sug- open to the critique and questioning re-
for the group. The other designers gestions, or dismiss others’ ideas out of quired to refine the solution.
can help guide the design forward by hand, they suppress ideas and impede Small changes in communica-
challenging underlying assumptions, the resolution of potential problems. tion patterns can encourage the free
considering potential roadblocks, and Designers can choose com­munication flow of ideas. By using active listening

J A N U A R Y/ F E B R U A R Y 2 0 1 2 | IEEE S O F T W A R E  43
FOCUS: PROFESSIONAL SOFTWARE DESIGN

skills—avoiding interruptions, using as starting points for manual and auto- • Why is it important that the system
open body language, and summariz- mated system tests. work this way?
ing what they think they’ve heard—de- • Are there any underlying as-
signers can ensure they grasp a part- Mine Disagreements sumptions for either side of the
ner’s concerns and incorporate them Disagreements inevitably occur. They disagreement?
into the evolving design. They can also can block progress and eventually cre-
communicate critical feedback in a way ate long-term strain in collaborative re- If a design team can’t get to the root
that shows respect. By explicitly us- lationships. Even with the best of inten- of the problem, they can call in a third
ing hedging words, such as “maybe,” tions, every design team will run into person for a new perspective. The new
“perhaps,” and “might,” a designer areas of disagreement—over the scope person can shed light on the problem
can convey openness to a collaborator’s of the problem, the needs of the target by assessing how well the design op-
perspective. The ultimate goal of col- users, or potential solutions. This in- tions address users’ goals, by posing
laboration is to understand the problem evitability of disagreements leads many additional questions, or by proposing a
and arrive at a suitable solution—not people to avoid collaboration alto- novel solution. Alternatively, designers
to individually lay claim to discovery gether: why spend the workday arguing might choose to table a disagreement,
of the solution. Designers should leave with a colleague over who’s right? giving them time to reflect on the issues
their egos at the door. Effective collaborators turn disagree- independently. By working to recognize
ments into opportunities—they mine the source of disagreements, designers
Evaluate as You Go disagreements for important insights can come to a more cohesive solution
When designers envision several poten- about the problem domain or the ways that better meets the needs of the de-
tial directions, a mechanism for evalu- in which different users might react to a sign problem.
ating the effectiveness of various solu- proposed solution. Although a disagree-
tions might not be immediately evident. ment might seem like a simple difference Don’t Sweat the Details
Determining the best solution can even of opinion, it can point out fundamen- Even the best-planned design sessions
become contentious. tal problems, a mismatch in the under- can bog down in details. Every com-
User scenarios are valuable tools for standing of the underlying problem, or plex system contains numerous design
evaluating potential solutions. Because a lack of insight into the target users’ problems spread through multiple lay-
they keep users’ needs and goals front goals. While designers need to resolve ers of fidelity. Designers can easily
and center, designers can use them to disagreements to make progress with spend an inordinate amount of time on
shape, evaluate, and revise solutions. the design, they also need to under- spit-and-polish issues before founda-
tional decisions have been resolved. In
collaborative design, everyone shares
responsibility for ensuring that the
Choose com­munication patterns that shape group doesn’t get lost in the weeds of
the design session into a joint exploration design.
rather than an adversarial experience. The best designers stay at the right
level of detail for the problem at hand.
Designers should focus on foundational
issues during early design sessions. To
Designers choose a framework that stand the root causes of disagreements maintain momentum during these ses-
seems to meet users’ needs and walk to make sure that the design is correct. sions, they defer detailed issues to later
it through several usage scenarios. To get the true benefits of collab- stages of the design, keeping in mind
During this process, designers refine orative design, designers must learn to that some questions might best be an-
the proposals as they encounter un- work through disagreements. When a swered through quick prototyping, user
expected roadblocks or unanticipated disagreement arises, designers should testing, or implementation. When de-
user needs. As they proceed, they can take a time-out from the discussion and signers encounter questions that they
add detail to the scenarios, using them ask questions about the nature of the can’t answer without external input,
to record the system’s evolving struc- disagreement: they can record them for follow-up re-
ture. These refined scenarios prove use- search. If necessary, designers can hy-
ful in later stages of implementation, • What underlying problem is being pothesize answers so that they can pro-
where development teams can use them solved by each proposed solution? ceed with the design.

44 I E E E S O F T W A R E | W W W. C O M P U T E R . O R G / S O F T W A R E
Capture Decisions

ABOUT THE AUTHORS


Designers can easily forget all the is-
sues, decisions, and results covered in ANIA DILMAGHANI is a development manager at Oracle, where she
a design session. They travel through leads the UI group responsible for the Web application of Oracle’s Busi-
ness Transaction Management product. Her interests include designing
a maze of paths, sometimes backtrack-
and developing user interfaces and applications across a wide range of
ing when they reach a dead end. They technologies and user needs. Dilmaghani has a BS in computer science
might make decisions and then reverse from San Francisco State University. Contact her at aniad@yahoo.com.
them when they fi nd more optimal solu-
tions. They can raise new questions and
fi nd unexpected answers. When design-
ers fail to track the results of a design JIM DIBBLE is an interaction designer at Cooper, a product strategy
session, they often have to revisit the and design consultancy in San Francisco. His interests include design-
ing enterprise software, consumer products, and mobile applications
decisions that once seemed resolved.
to help people achieve their goals. Dibble has a BA in computer science
To assure that decisions are re- from Brown University. Contact him at jim@cooper.com.
corded, designers should agree at the
start of a meeting who will take notes.
As the meeting progresses, the scribe
keeps a list of unresolved questions, ar-
eas for further research, and questions
for customers, users, colleagues, and
product owners. The scribe should also
snap photos of important diagrams and
whiteboard notes. At the end of the ses- details, agree on the target user, evalu- indicates, we can also forget to follow
sion, the team should verbally summa- ate design options with user scenarios, the ground rules consistently—but in
rize decisions and capture outstanding and focus on open communication over our experience they’re essential to effec-
disagreements. Wikis are a great way notation. When designers do disagree, tive early design. We continue to employ
to share these notes, as they allow for they can harness their disagreements to them, and encourage our colleagues to
easy reference and ongoing conversa- produce a more refined solution. leverage them as much as possible.
tion. Taking the time to document the We have learned these lessons over
discussion can avoid everyone having our many years of software design. We Selected CS articles and columns
to revisit and rehash the issues. have certainly had our share of fail- are also available for free at
ures—as the “Design Scorecard” sidebar http://ComputingNow.computer.org.

C ollaborative design can serve


as a valuable technique
throughout the software devel-
opment process. It’s especially powerful
in early-stage design, while exploring the Call for Articles
problem domain, mapping out the user IEEE Software seeks practical,
interface, and determining the software readable articles that will appeal
architecture. These tasks require a broad to experts and nonexperts alike.
scope of understanding that can often The magazine aims to deliver reliable
only be accomplished by multiple people information to software developers
working together on the design. and managers to help them stay on
By agreeing on a structure for de- top of rapid technology change.
sign sessions, designers can leverage the
power of collaboration, producing inno- Author guidelines: www.computer.org/
software/author.htm
vative solutions without creating undue Further details: software@computer.org

friction. Design sessions work best when www.computer.org/software


designers set concrete goals, focus on the
big-picture decisions rather than design

J A N U A R Y/ F E B R U A R Y 2 0 1 2 | IEEE S O F T W A R E 45

You might also like