Agile Software Development
Автор: Alistair Cockburn /
CHAPTER 2. Individuals Drawing on Success Modes
-
Часть 3
-
Every day, every scrap of paper that fell behind the grimy string would find an eager group of volunteers to undertake the work required to remove it. To be able to get one's own work done and help another became a sought-after privilege. Nor did anyone feel beggared by accepting help. Such Herculean effort meant that at any time, anyone's task could fall behind and emerge on the wrong side of the string.
Leaders spontaneously emerged and reemerged, none in control, but all in order. Ingenuity exploded. Individuality and diversity flourished. People astonished themselves at what they could accomplish and were amazed at the suppressed talents that emerged in others.
Position became meaningless. Power over others became meaningless. Time became meaningless. Excitement about doing the impossible increased, and a community based on purpose, principle, and people arose. Individuality, self-worth, ingenuity, and creativity flourished; and as they did, so did the sense of belonging to something larger than self, something beyond immediate gain and monetary gratification. No one ever forgot the joy of bringing to work the wholeness of mind, body, and spirit; discovering in the process that such wholeness is impossible without inseparable connection with the others in the larger purpose of community effort. Money was a small part of what happened. The effort was fueled by a spontaneous expansion of the nonmonetary exchange of value. .. . No one ever replaced the dirty string and no one washed the cup. .. . The BASE-1 system came up on time, under budget, and exceeded all operating objectives. "
According to traditional software engineering methods, this project should have been a shambles. According to the cooperative game theory, it is clear why it works.
Is it a repeatable process? The answer depends on how well the group manages to keep those key factors alive.
Heroes as Ordinary People
One point I wish to make is that in well-run projects, people in any job description can notice when something is out of kilter and act to correct it or notify someone who can.
Although heroes who work overtime are necessary to save poorly run projects, there is a much more interesting phenomenon to observe: ordinary people doing their work with a sense of pride and community and in doing that work noticing something wrong, passing information to someone who can fix the problem, or stepping out of their job descriptions to handle it themselves. This is an indicator of a community in action, not an indicator of a poor development process. Note the strength of this community effect in the VISA story above.
Pride-in-work, citizenship, and communication even have an effect in strongly "engineering" cultures. Here is an example, from computer hardware design: Finding Errors in PC Boards
When designing computer hardware, one person has the job of examining with a magnifying glass the photographic negatives used to produce the printed circuit boards. The person is to any find hairline cracks that may be in the negatives and to paint over them with black ink.
One day, the woman who was doing this work noticed a strange looping pattern in the line she was following. Deciding that it couldn't be correct, she notified the department head. He first dismissed the idea that she could have found anything substantive, but at her insistence took the time to investigate further. As it turned out, a circuit drawing error had resulted in two signals being tied together. The error showed up in the original circuit design. It had somehow slipped past all the design, drawing, and board layout reviews.
I wish to draw two morals from this story: The first is that everyone on a project is in a position to detect a mistake, regardless of the type of system being designed.
The second is a lead-in to a key topic in the next chapter: After a person detects a mistake, the cost of getting that information to the right person starts to drive the cost of the project.
I close this section with this summary from NASA's "Deorbit flight software lessons learned" (NASA 1998, my italics added for emphasis).
"Perhaps most important for the long term, during the course of the project, a capable core team for rapid development of GNC systems evolved. This included finding talented team members; training in and gaining experience with the tools, processes and methodology, and integrating into a cohesive team.
After working together in the RDL for a year, team members have acquired expertise in methods, tools and domain. A helpful and cooperative atmosphere has encouraged and enabled cross training. A willingness on the part of team members to address any and all project issues has proven invaluable on many occasions. .. this team can be a long-term asset to the division and to the agency. "
-
Навигация [ Часть 3. Глава 10. ]
Закладки
The industry is littered with projects whose sponsors did…
Walk around your place of work. Notice · The convection…
The third problem is absence of feedback from the downstream…
On a new project, I would use Crystal Orange as a base methodology…
The main question is, if you were funding this project,…
Agility implies maneuverability, a characteristic that…
Figure 4-1. Elements of a methodology. Roles. Who you employ,…
Crystal Clear is the most tolerant, low-ceremony small-team…
The chart shows the state of the user stories being worked…
For us as designers, it was possible to express both…
Games are not just for children, although children also…
While writing, reading, typing, or talking, we pick up…
The group of 17 quickly agreed on those value choices.…
The complete discussion about when and where to apply…
Types of Methodologies Rechtin (1997) categorizes methodologies…
13. (FIRST TECHNIQUE). .. your sword now having bounced…