You are on page 1of 5

FOCUS: PROFESSIONAL SOFTWARE DESIGN

Design Strategy between activities during the design


phase. However, the way they do so can
influence the final design’s effectiveness.

and Software
Choosing an approach that doesn’t fit
the problem will have a negative impact
on the design outcome. For instance, it

Design
doesn’t make sense to start designing a
nationwide e-government system with
a depth-first approach because many
high-level issues must be considered

Effectiveness up front. Designers must understand


the scope of the design problem to plan
which activities to tackle early.
In a study based on a 2010 work-
Antony Tang, Swinburne University of Technology shop at the University of California, Ir-
vine, we observed the design activities
Hans van Vliet, VU University Amsterdam and strategies employed by two teams
to design a traffic simulator. 3 Team M
and Team A consisted of two designers
each, and each team employed differ-
// A study of software design activities establishes ent design strategies. Here, we evaluate
their effectiveness and identify four ar-
four archetypical strategies that apply under different chetypal design strategies to use under
circumstances. Designers can consider these different circumstances.

strategies among their early design decisions. // Software Design


Exploration
Design exploration can be explicit or
implicit, elaborate or brief, and per-
formed before or during the actual
design. Depending on factors such as
designer experience and system com-
plexity, the way a design is planned can
significantly influence the end results.
As Figure 2a shows, Team M used a
breadth-first exploration strategy early
SOFTWARE DESIGN STRATEGY is • problem-solving is about identify- in the traffic simulator design. They
about organizing design activities that ing problems and finding solutions. spent 9 minutes exploring the design
reflect the designers’ approach to creat- scope, using a drawing tool as a meta-
ing a design, and the approach is often Designers can perform these activities in phor and concluding that they needed
opportunistic.1,2 Studies of design tech- different combinations and sequences. to visualize the simulator. The tool calls
niques and software designers at work For instance, they can begin by explor- for a drawing area, which led to ques-
indicate two important activity types ing the whole design space broadly or tions about which editing modes to dis-
(see the “Related Work in Software De- a particular design area in depth. They tinguish and what objects to visualize
sign Strategies” sidebar): can proceed during the actual design ac- (such as cars, intersections, and sensors).
cording to a problem- or solution-driven At this point, the team made no deci-
• design space exploration is about approach. Figure 1 shows the iterative sions on how to model these elements;
scoping the issues and deciding how application of these activities. they merely explored the issues broadly.
to approach the design, and Designers can switch strategically In minutes 21, 53, and 80, Team M

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  51
FOCUS: PROFESSIONAL SOFTWARE DESIGN

RELATED WORK
IN SOFTWARE DESIGN STRATEGIES
Donald Schön suggests that the way designers frame problems solution possibilities, and developing assumption-consequence
determines the features they focus on.1 Framing problems is a scenarios.6
strategy for planning design activities and managing the interplay
of design components. Carmen Zannier and her colleagues found References
that the more structured the problem space is, the more rational is 1. D.A. Schön, The Reflective Practitioner: How Professionals Think in Action,
Basic Books, 1983.
the approach taken by designers.2 Linden Ball and Thomas Ormer-
2. C. Zannier, M. Chiasson, and F. Maurer, “A Model of Design Decision Mak-
od see the unstructured and opportunistic nature of design activi- ing Based on Empirical Results of Interviews with Software Designers,”
ties as the result of the cognitive constraints placed on designers.3 Information and Software Technology, vol. 49, no. 6, 2007, pp. 637–653.
Raymonde Guindon suggests that designers are opportunistic in 3. L.J. Ball and T.C. Ormerod, “Structured and Opportunistic Processing in
Design: A Critical Discussion,” Int’l J. Human-Computer Studies, vol. 43, no.
following partial solutions, and the level of design structure de- 1, 1995, pp. 131–151.
pends on the completeness of problem specification.4 4. R. Guindon, “Designing the Design Process: Exploiting Opportunis-
Herbert Simon and Allen Newell describe how people generate tic Thoughts,” Human-Computing Interaction, vol. 5, no. 2, 1990, pp.
problem spaces when solving problems.5 They suggest six infor- 305–344.
5. H. Simon and A. Newell, Human Problem Solving: The State of the Theory in
mation sources, such as previous experience and task descrip- 1970, Carnegie Mellon Univ., 1972.
tions serving as guidelines. Marian Petre suggests designers use 6. M. Petre, “How Expert Engineering Teams Use Disciplines of Innovation,”
14 strategies, such as identifying barriers, systematically exploring Design Studies, vol. 25, no. 5, 2004, pp. 477–493.

solutions. This reflects a depth-fi rst ex-


ploration approach.
Design problem-solving
Software Design
Problem-Solving
Design exploration Problem- Designing software requires an un-
• Breadth-driven driven
derstanding of domain-specific design
• Depth-driven
problems. Users and designers typi-
Solution- cally specify goals at a high level. As
driven the design proceeds, new and implicit
goals emerge, along with subgoals, and
become problems that designers must
identify and solve to achieve the goals.
Teams A and M used different prob-
FIGURE 1. Exercising strategic design activities. Designers can carry out design exploration lem-solving strategies. Team A used
and problem-solving activities according to different strategies in different sequences and a solution-driven strategy. In min-
iterations. ute 5, they were already making solu-
tion statements such as, “I’m thinking
in terms of MVC.” Then they decided
investigated the scope and evaluated Team A, on the other hand, spent to use a queue to represent car move-
how to meet the design goals. The fi rst the fi rst 1.5 minutes investigating the ments. With this data structure, cars
time, they discussed the availability scope of the problem (see Figure 2b), could pop from the queues when a light
of mathematical packages; the second which they framed in terms of intersec- turns green. They also decided to use a
time, how to measure traffic flow; and tions and cars. They quickly noted the controller to look after clock ticks.
the third time, whether statistics would problem’s time dimension—cars flow Anchoring on a real-time, event-
be available to help them in the design. through intersections, and both cars driven solution, they continued to en-
These points represent a depth-fi rst ex- and intersections must be modeled— hance this solution over the next hour
ploration strategy. and spent the next hour discussing their to handle intersections, left turns,

52 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
Exploration-breadth PS-coevolution Problem-driven PS-coevolution
Exploration-depth Exploration-depth Exploration-depth
10

8
No. of statements

0
1 11 21 31 41 51 61 71 81 91 101
(a) Team M

Exploration-depth Solution-driven Exploration-depth Solution-driven

4
No. of statements

0
1 11 21 31 41 51 61 71 81 91 101
(b) Team A
Design exploration
Problem framing
Solution identification

FIGURE 2. Design activities in terms of exploration and problem-solving: (a) Team M began with a breadth-first approach to design
exploration, and (b) Team A began with an in-depth exploration approach. The vertical axis shows the number of discussion statements on
design exploration, problem framing, and solution identification over the duration of the study.

traffic light timing, sensors, and traffic on problem identification.4 They suggest proposing solutions, asking questions
density. Accommodating these new is- that a solution can evolve with a prob- such as, “What are the effects of X?”
sues more and more complex, and they lem in a process called problem-solution In minute 54, Team M had a burst of
spent much time discussing the solu- coevolution (PS-coevolution). Software questions lasting about 10 minutes (see
tion but little time discussing the prob- design methods such as twin peaks and Figure 2a). During this time, they ana-
lems (see Figure 2b). In minute 77, they problem frames have a similar idea of co- lyzed issues relating to timing, traffic
saw that time was running out and de- evolving problems and solutions. density, and traffic flow. In the PS-co-
cided to abandon their approach and For the most part, Team M followed evolutionary approach, such question-
revisit the design scope, where they de- a PS-coevolution strategy. Through- ing appeared to have given Team M
cided to focus on code design and user out the design session, they alternated new insights, and the solutions that fol-
interaction. between raising design issues and pro- lowed addressed initiating traffic into
Kees Dorst and Nigel Cross show that posing solutions. They fi nally spent as the simulation model.
solutions are discovered and evolve based much time exploring the problems as Team M identified many more

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 53
FOCUS: PROFESSIONAL SOFTWARE DESIGN

Problem-solving strategies
aspects of it. Examples include tech-
nical and algorithmic problems such
as the security implementation. While
Problem-driven Solution-driven searching for a solution, designers
must regularly backtrack to explore the

High
problem space.
Scoping/ Scoping/ Finally, the lower-right quadrant is
Design exploration

Breadth-first
questioning solving

Complexity
a no-scoping/solving strategy. It applies
strategies

when the design problem and solution


are well-known. It fits a context of low
Depth-first No-scoping/ No-scoping/
questioning solving system complexity and high designer
experience.

Low
Selecting the right combination of
Low High
Experience strategies given the nature of a particu-
lar problem type at the right moment
FIGURE 3. Archetypal software design strategies. Complexity is about a system’s size is important in positioning how best to
and difficulty. Experience is about a designer’s familiarity with the specific problems and the design, but selecting a wrong strategy
system solutions. can give rise to design problems.

Strategy and Design Effectiveness


problem statements than Team A. which designers have no prior experi- Although the concepts of traffic lanes
Team M’s problem statements repre- ence. In these cases, designers need to and lights, intersections, and car queu-
sented 31.9 percent of the total num- explore the design’s goals and scope ing are common and appear to be sim-
ber of statements they made during fi rst to understand the issues broadly. ple, building a traffic simulator to repre-
the study, compared to Team A’s 13.4 This helps them appreciate high-level sent these relationships and events in real
percent. Basically, Team M formulated relationships between issues, so they time is complex. The two design teams
their design problems thoroughly while can plan and prioritize activities. When took different strategies in their design.
creating their solution. This facilitated they begin searching for a solution, Initially, Team A worked from a no-
a focused design discourse that reduced they will identify new problems that re- scoping/solving strategy. Because they
design context switching. 3 quire frequent backtracking as the solu- didn’t have a broad scope of design is-
tion evolves. This fits a context of high sues from the beginning, they couldn’t
Design Strategies system complexity and low design ex- prioritize all the problems. These issues
We’ve so far considered design ex- perience in the problem domain. arose as the team developed their solu-
ploration and design problem-solving The upper-right quadrant is a scop- tions and forced them to switch design
separately. The study teams performed ing/solving strategy. It involves using topics. Team A context-switched de-
these activities without explicit discus- packaged or known solutions in ap- sign topics in 1 out of every 4 discus-
sion or any conscious strategies. We plication domains where the prob- sions. As the design problems grew
propose combining these two dimen- lems are well known and a solution is more complicated over time, they had
sions to support conscious strategic de- readily available. Designers start with to revisit the same problem again and
sign choices. exploring and setting the scope to en- again. Team A’s ratio of problem-to-
Figure 3 is a matrix of four arche- sure that no major surprises exist in de- solution statements is 1 to 3, indicating
typal design strategies that address ploying a solution. If the target system their strong preference for the solution-
breadth-fi rst versus depth-fi rst ap- falls within the solution’s known capa- driven strategy that led them to anchor
proaches to design space exploration bilities, the designers must explore few on a solution prematurely. The initial
and problem-driven versus solution- design problems. This strategy fits a solution wasn’t as suitable as it fi rst ap-
driven approaches to solving design context of high system complexity and peared, so the problems gradually be-
problems in the contexts of design com- high design experience. came more difficult to tackle.
plexity and designer experience. The lower-left quadrant is a no- On the other hand, Team M worked
The upper-left quadrant is a scop- scoping/questioning strategy. It applies from a scoping/questioning strategy.
ing/questioning strategy. It applies to when designers are familiar with the Using a PS-coevolution strategy, Team
green-field and complex systems in design’s overall scope but not certain M’s ratio of problem-to-solution

54 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
statements was almost 1 to 1, showing

ABOUT THE AUTHORS


that they explored the problem space
more thoroughly. The combination of ANTONY TANG is an associate professor in Swinburne University
these strategies meant that they con- of Technology’s Faculty of Information and Computer Technology, His
research interests include software architecture design reasoning,
text-switched design topics less fre-
software development processes, and knowledge engineering. Tang
quently, 1 in every 7.7 discussions, received his PhD in information technology from the Swinburne Univer-
making their discussions more effec- sity of Technology. He’s a member of the ACM. Contact him at atang@
tive. A depth-fi rst strategy like this is swin.edu.au.
effective when the issues in that area
are well understood, and the design-
ers don’t have to branch off to tackle HANS VAN VLIET is a professor of software engineering at the VU
side issues. University Amsterdam. His research interests include software
Traffic simulation is complex, and architecture, knowledge management in software development, global
software development, and empirical software engineering. Vliet has a
its design issues were new to all four
PhD in computer science from the University of Amsterdam. He wrote
designers. Under these circumstances,
Software Engineering: Principles and Practice (3rd eds., Wiley, 2008).
the scoping/questioning strategy is He’s a member of the IFIP Working Group 2.10 on software architecture
more effective because the in-depth and editor in chief of the Journal of Systems and Software. Contact him
design that follows a systematic prob- at hans@cs.vu.nl.
lem exploration helps minimize con-
text switching. A no-scoping/solving
strategy potentially postpones problem
identification, but in Team A’s case, the
solution-anchoring effect appeared to
encourage the team to stay with their solution is available, then using a ques- ACKNOWLEDGMENTS
solution. In other words, having settled tioning strategy to revisit solved prob- The US National Science Foundation fund-
ed the design sessions and corresponding
on a solution prematurely, they were lems would be a waste of time. Instead,
workshop under award CCF-0845840. We
reluctant to abandon it and backtrack designers should choose a scoping/solv- thank the designers who participated in the
to a better option. 3 ing strategy. As new information and sessions that provided the input data to this
design issues are discovered, a seem- project. We thank the organizers, André van
der Hoek, Marian Petre, and Alex Baker, for
Strategy and Design Context ingly simple design can become more
granting access to the transcripts and video
A design problem’s complexity is rela- complex than fi rst anticipated. Newly data. We also thank the anonymous review-
tive to both the problem’s difficulty and discovered design issues may impact ers for their invaluable suggestions in im-
the designers’ experience in the relevant the design strategy. Designers need to proving this article. The Dutch Regeling Ken-
niswerkers partially sponsors our work under
application and technical domains. A choose a suitable strategy conscien-
project KWR09164.
designer might have worked for many tiously and adopt new strategies as the
years but can still be relatively inexperi- context changes.
enced with a new domain and technol-

O
ogy. Moreover, a design problem that
appears complex to one designer might ur study shows that the mis- References
be familiar to another. Mismatches be- use of a design strategy can 1. W. Visser and J.-M. Hoc, “Expert Software
Design Strategies,” Psychology of Program-
tween the contexts and strategies can result in less effective designs.
ming, J.-M. Hoc, ed., Academic Press, 1990,
reduce design effectiveness and qual- The reasons lie in frequent switching of pp. 239-274.
ity. If we consider study teams design- design contexts and in revisiting design 2. R. Guindon and B. Curtis, “Control of Cogni-
tive Processes during Software Design: What
ing the traffic simulator, the design is solutions that don’t clearly articulate the Tools Are Needed?” Proc. SIGCHI Conf. Hu-
complex, and none of the designers has design problems. Deciding what strate- man Factors in Computing Systems (SIGCHI
experience in the domain. Team M’s gies to use, implicitly or explicitly, dic- 88), ACM Press, 1988, pp. 263-268.
3. A. Tang et al., “What Makes Software Design
choice of a scoping/questioning strat- tates the course of design actions and Effective?” Design Studies, vol. 31, no. 5,
egy was more effective than Team A’s thus the design’s effectiveness. More un- 2010, pp. 614–640,
no-scoping/solving strategy. derstanding of these “meta” decisions 4. K. Dorst and N. Cross, “Creativity in the
Design Space: Co-evolution of Problem-
If designers are experienced in a cer- and their impact on design should help Solution,” Design Studies, vol. 22, no. 5,
tain application domain and a packaged reduce mistakes and wasted time. 2001, pp. 425–437.

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 55

You might also like