Dr. Dobb's Modeling and Documentation survey revealed that there's not a lot of difference between the various development approaches when it comes to deliverable documentation. After all, a deliverable is a deliverable. So, the fears concerning the mythical lack of documentation on agile projects appear to be unfounded, forcing the traditionalists who are still holding out to find another excuse for not adopting agile strategies. As you see in Figure 2, the survey did show that agilists are slightly less likely than traditionalists to produce system overview documentation, although slightly more likely to produce operations documentation. I suspect that there is less of a need for system overview documentation because agilists have a greater tendency to produce higher quality code as the result of refactoring and test-first practices. Agile teams may also require less documentation due to the practice of writing executable specifications.
The Practices and Principles Survey explored how people communicate with one another on agile project teams, asking how effective various ways for communicating with stakeholders are. In order of most effective to least effective, the score for each technique is a weighted average between 5 (very effective) and -5 (very ineffective), it found the following:
- Face to face (F2F) discussion (4.06)
- F2F at whiteboard (3.46)
- Overview diagrams (1.89)
- Overview documentation (1.86)
- Video conferencing (1.62)
- Teleconference calls (1.51)
- E-mail (1.32)
- Detailed documentation (0.16)
- Online chat (0.15)
There are several interesting observations to be made. First, the belief that traditionalists have in the value of detailed documentation can be understood as it has neutral value, regardless of all the rhetoric that we hear in the agile communities surrounding the evils of detailed documentation. Second, sharing overview documentation with stakeholders does seem to have some merit, although it is nowhere near as effective as direct communication, clearly belying some agile prejudices against documentation. Third, media richness theory, which Alistair Cockburn introduced the Agile community to (see www.agilemodeling.com/essays/communication.htm), pretty much holds. The "hotter" the communication channel, generally the more effective it appears to be. Fourth, these results may explain why distributed agile projects appear to be riskier than colocated projects because the greater the distribution, the more restricted your communication options become. Dr. Dobb's 2008 Agile Adoption Survey (www.ddj.com/architect/207600615) found measurable differences in the success rates of distributed agile projects83 percent for colocated agile teams, 72 percent for near-located agile teams, and 60 percent for far-located agile teams.