Professional Documents
Culture Documents
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
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.
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
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
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.
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
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