Page 57 -
P. 57
42 BERENTE AND LYYTINEN
The bulk of systems design research treats cognitive iteration in accordance with the rationalistic
tradition and normally seeks to map a designer’s mental operations into a set of corresponding
operations on the artifacts. Since the mid-1990s, however, there has been a growing amount of
research that draws upon the situated action perspective (Bergman, King, and Lyytinen, 2002;
Boland and Tenkasi, 1995; Cockburn, 2002; Hazzan, 2002; and others). In this alternative tradi-
tion, design is an ongoing dialogue that is always open to reinterpretation. Next we review ways
in which the information systems literature has addressed cognitive iteration and its three aspects
of design activity, as well as prescriptive and descriptive accounts of systems design.
Cognitive Iterations Within Design
Surprisingly, cognitive iterations as such have gone largely unaddressed in the systems design
literature. Although the design literature draws extensively upon the systems approach (Churchman,
1968), the mainstream of the systems design research rarely accounts for the iterating cognitive
process inherent in design (Churchman, 1971). In contrast, systems development literature has
focused mainly on the cognitive iterations in the form of operations associated with steps in the
design process, and less so with the design process itself, or cognitive iterations about the design.
Table 4.2 offers examples of each form of cognitive iteration as recognized in the literature. We
emphasize that this is not an exhaustive list, but rather is intended as an illustration.
Cognitive Iterations of Stages in the Design Process
In the systems design tradition, cognitive activity is assumed to coincide with formal stages of the
design—the moments at which a given aspect of the software crystallizes and becomes “frozen.”
The most common conceptual iteration observed in systems design is that of the step, stage, or
phase. Stages are iterated as they are repeated during the design. Such iterations have tradition-
ally been considered inevitable, necessary evils (Davis, 1974; Royce, 1970), but are now more
commonly thought to enhance system quality (Basili and Turner, 1975; Beck, 2002; Boehm,
1981; Brooks, 1995; Cockburn, 2002; Floyd, 1984; Keen and Scott Morton, 1978; Larman and
Basili, 2003; McCracken and Jackson, 1982). Such stages can be formal, such as the requirements
determination phase that results in “frozen” requirements (Davis, 1982), or they can be fairly
indeterminate, such as “time-boxed” steps in agile methods (Auer, Meade, and Reeves, 2003;
Beck, 2002; Beynon-Davies, Tudhope, and Mackay, 1999). Stages, phases, rounds, or iterations
of the process are prescribed by a methodology but are not directly related to the status of the
design or the code (Beck, 2002; Boehm, 1988; Kruchten, 2000; Larman, 2004). The rationalistic
tradition within systems design thus tends to equate cognitive iterations with the formal procedural
iterations.
Cognitive Iterations About the Design Process
Cognitive iterations associated with system development are not necessarily limited to those within
the process, but can also relate to the designer’s conceptions about the process itself. If we follow
the idea that a method is in itself a formal design model, this model can iterate during the design
process much the same as conceptualizations of the design object itself. This idea is prominent in
the concept of method engineering (Brinkkemper, 1996; Rossi et al., 2004; Tolvanen and Lyytinen,
1993). Method-engineering advocates claim that formal methodologies cannot specify a priori
all design tasks to be completed, as problems and solutions spaces change. Therefore designers