Agile Software Development
Автор: Alistair Cockburn /
CHAPTER 3. Communicating, Cooperating Teams Convection Currents of Information
-
Часть 5
-
The chart shows the state of the user stories being worked on in the iteration, one Post-It note sticy per story. The programmers moved the stickies on the graph to show both completeness and implementation quality of the user stories they were working on. They moved the sticky to the right as the story grew to completion, and raised it higher on the poster as its quality improved. A sticky might stop moving to the right for a time while it moved up.
The testers could see the state of the system without pestering the programmers. In this case, they saw that the work was farther along than they thought and soon became less worried about the state of the project. computerliterature.ru
Just as a heating duct blows air into a hallway or a heater radiates heat into a room, these posters radiate information into the hallway, onto people walking by. They are marvelous for passing along information quietly, with little effort, and without disturbing the people whose status is being reported.
The best thing was that they could see the progress of the work daily, without asking the programmers a question.
A second use of information radiators, suited for any project using increments of a month or less, is to show the work breakdown and assignments for the next increment (Figure 3-8). The following example also comes from Thoughtworks.
The team created a flipchart for each user story. They put sticky notes on the flipchart for the tasks they would need to do for that story. They would move stickies below a flipchart to show tasks being taken out of scope of the current iteration in order to meet the delivery schedule.
Figure 3-8. Large information radiator wall showing the iteration plan, one flipchart per user story. (Courtesy of Thoughtworks, Inc. )
Figure 3-9. Detail of an XP task signup and status for one iteration (nicknamed "Mary Ann"). (Courtesy of Evant, Inc. )
Evant's XP team also used whiteboards and flipcharts as information radiators. Figure 3-9 shows the tasks for iteration "Mary Ann" (each iteration was nicknamed for someone on the Gilligan TV series).
A third use of flipchats as information radiators is to show the results of the project's periodic reflection workshop (Figure 3-10). During these one- to two-hour workshops, the team discusses what is going well for them and what they should do differently for the next period. They write those on a flipchart and post it in a prominent place so that people are reminded about these thoughts as they work.
The wording in the posters matters. One XP team had posted "Things we did wrong last increment. " Another had posted, "Things to work on this increment. " Imagine the difference in the projects: The first one radiated guilt into the project room, and was, not surprisingly, not referred to very much by the project team. The second one radiates promise. The people on the second team referred to their poster quite frequently when talking about their project.
Periodic reflection workshops such as these are used in Crystal Clear and XP projects. Obviously, this technique is appropriate for smaller, colocated groups.
A fourth use of information radiators is to show everyone the user stories delivered, in progress, the number of acceptance tests written and met, and so on. (Figure 3-11).
Figure 3-11. Graph showing growing completion. (Courtesy of Ron Jeffries)
The systems operations team at eBucks. com constructed a fifth use of information radiators, this time to keep the programmers from pestering them. Displaying System Status
The programmers kept asking, "Is system A up? Is system B up? Is the link to the back end up? " The maintenance team wrote the status of each system and link on the whiteboard outside their area. Each day, they updated the status. It looked rather like ski areas posting the status of lifts and runs (so skiers don't keep asking the ski resort staff. ).
The group at eBucks. com came up with a sixth use of information radiators. This time it was the programmers who created the status displays:
Figure 3-10. Reflection workshop output. (Courtesy of IndustrialLogic, Inc. )
Displaying Work Progress
The programmers were being asked about the status of their work every hour or two, which caused them no end of frustration. They wrote on the whiteboard outside their office their intentions for the current week. As they completed their tasks, carefully sized to be of the half-day to two-day variety, they marked the tasks complete.
Once these boards had been tried by the programmers, several other groups started using them to broadcast their own priorities and progress.
Applying the Theory of Hot Air
People have long applied the above, "hot air theory of software development. "
Gerald Weinberg discussed the damaging effect of removing a soda machine from a computer hel--desk area (Weinberg 1998). Thomas Allen, of MIT's Sloan School of Management, discussed the effect of building design on RD organizations in (Allen 19? ?, Allen 19? ?). IBM and Hewlett Packard have incorporated such research in their RD buildings since the late 1970s.
As a result of these and others' work, we consider it natural for research and development groups to have whiteboards in the hallways or near coffee machines. What we have forgotten, though, is the significance of actually being within sight and earshpt of each other.
Here are several examples. The first is from a Crystal Orange project, the second is from a project trying to apply Crystal Clear. After that I discuss the Caves and Commons room design recommended by XP, and close with a story from Lockheed's Skunkworks group. Repairing Design Discussions
-