Agile Software Development
Автор: Alistair Cockburn /
CHAPTER 2. Individuals Working Better in Some Ways than Others
-
Часть 1
-
People generally work better by starting with something concrete and tangible, such as examples, by altering rather than creating from scratch, by watching, and by getting feedback.
One of my favorite sentences comes from Wenger and Lave (1993) about the power of the concrete:
“The world carries its own structure, so that specificity always implies generality (and in this sense, generality is not to be assimilated to abstractness). That is why stories can be so powerful in conveying ideas, often more so than an articulation of the idea itself. ”
Cognitive research provides support for the idea that our minds operate directly from concrete examples (an idea that is remarkably in harmony with the properties of neural networks).
Johnson-Laird and Byrne (1991) suggest that people perform logical deduction by imagining concrete situations and concrete counterexamples rather than from manipulating predicate calculus in their heads. For example, in a problem about billiard balls, "it is possible to frame rules that capture [the] inference, but it seems likely that people will make it by imagining the layout of the balls. "
They suggest that in performing deduction, we: [Au: Use a numbered list, ]
Construct an internal model of the state of affairs that the premises describe
Formulate a brief description of the models constructed— one that ideally asserts something not explicitly stated in the premises
Search for alternative models of the premises in which the putative conclusion is false
Notice that even the third step, the validation step, involves constructing concrete examples.
Robert Glass relates a remarkably similar version of the software design process. Citing other researchers, he relates (Glass 1995, p. 178) that people composing plans,
Build a mental model of a proposed solution to the problem.
Mentally execute the model to see if it does indeed solve the problem, providing sample input to the model to see if it produces correct output. When sufficient sample inputs have passed the test, the model is assumed to be a suitable design model and representation of the design begins. If people really do make use of concrete situations in their thinking, we should find such artifacts among programmers' work products. Here are two artifacts: user composites and interaction diagrams.
In the user composites technique, the development team creates a composite sketch of one or more fictitious users of the system. Ideally, they invent several: one user who is lazy, one who is fanatically detail-oriented, one who is an expert in all the shortcuts, another who is slow to learn, and so on. They make these composite sketches as concrete and real as possible, even giving the imaginary people names. By putting very concrete images of future users in front of the design team, the team can more easily imagine how each would react differently to the system and create system capabilities suited to those different sorts of people.
Interaction diagrams (of which there are two forms, collaboration diagrams and sequence charts) tell the story of objects interacting over time. They are created by drawing object instances on the page and drawing arrows showing the messages between them. In collaboration diagrams, the objects are placed anywhere on the page, and the arrows are drawn between them and numbered to show the time sequencing of the messages. In sequence charts, the objects are all placed as column heads at the top of the page. The interactions are shown going down the page as arrows from one column to the next.
Of the two, sequence charts are a recommended part of many OO design techniques. Collaboration diagrams, which are mathematically isomorphic to sequence charts, are so rarely mentioned in methodology texts that it was only after several years of teaching and coaching that I noticed that beginners often showed me their discussion results in collaboration diagrams, not sequence charts or class diagrams.
I suspect the reason that collaboration diagrams are not mentioned in methodologies is that they are temporary artifacts. They are useful in creating designs and in communicating about specific situations, but they are not preserved in the heavily distilled design documentation the project team feels obliged to produce.
As we become better at preserving records of transient discussions, I expect to see such diagrams used more in design and documentation.
Beyond concrete is providing something tangible, something that people can touch.
Pelle Ehn used paper prototypes in the mid-1980s, helping a typesetter's union to discover how computer systems might help them. He used cardboard boxes and bits of paper to represent the computer screen and its contents, to understand how the as-yet-unimagined system might work. The people worked through their daily operations to discover ways in which a computer might be useful. They felt comfortable manipulating these tangible, movable, and unfinished-looking props. Paper-based user-interface prototypes have grown to be a favorite of professional user-interface designers (Hohmann 2002).
During the early, discovery phases of designing a user interface, such "low-fidelity" prototypes are considered even more effective than the screens simulated with care on a live computer screen. They are not only tangible but almost invite a person to change them. Rough Architecture Drawings
-
Навигация [ Часть 1. Глава 9. ]
Закладки
Types of Methodologies Rechtin (1997) categorizes methodologies…
The group of 17 quickly agreed on those value choices.…
The complete discussion about when and where to apply concurrent…
We see an example of needing these normalizing rituals in…
While writing, reading, typing, or talking, we pick up traces…
Games are not just for children, although children also play…
For us as designers, it was possible to express both propositional…
Agility implies maneuverability, a characteristic that…
13. (FIRST TECHNIQUE). .. your sword now having bounced…
Walk around your place of work. Notice · The convection…
After much coaching for six months, his programs still looked…
The industry is littered with projects whose sponsors…
The surprising thing about human success modes is how nebulous…
The chart shows the state of the user stories being worked…
Crystal Clear is the most tolerant, low-ceremony small-team…
Using the planning game in this way, the sponsors can properly…