I am reviewing and grading documentation in a student project. Or rather 12 student projects, all trying to develop similar software. The context is this: The students work in teams of 6. Each student has a separate role; project manager, architect, designer, quality/testing responsible, GUI designer and communications expert (it is an peer-to-peer application based on TCP). Alla students have to write code, and in addition to this they are supposed to turn in documentation related to their role.
What strikes me is that in the teams with good documentation all documents are good, regardless of author. How come? There could be several explanations:
- Good students want to work with each other (they could choose their teammates, they weren't assigned by us teachers).
- In good teams they cooperate on everything, inlcuding reviewing each others documents. In not-so-good teams they instead might try to split the tasks and work as independently as possible.
- In the good teams there is an exceptional student that functions as a mentor to the others.
- Excellent documementation from one role supports the others in their roles, e.g. an excellent architeture description supports testing etc.
- The good teams had not only a notion about what to deliver when they started, they also had a good notion on how to do it early on, e.g. they discussed so they had a common understanding of coding responsibility (everybody had to write code) and they choose an interative process or SCRUM already the first week.
- The good teams started with coding as quickly as possible. This is counterintuitive, but I think they felt more comfortable spending time on documentation if they already had some prototype running.
- It seems that analysis paralysis actually produces worse documentation. I think this is due to an inability to focus on the vital concerns and stop when they are sufficiently covered.
- It is hard to excel if your teammates drag you down. This could explain why there are no groups where just one role shines above the rest.
I'm sure there could be other explanations that I didn't think of...