Friday, May 03, 2002

Following up on the idea of agile development, the Crystal methodologies, such as Crystal Clear look particularly interesting.
"Software development is a cooperative game, in which people use markers and props to inform, remind and inspire themselves and each other in getting to the next move in the game. The endpoint of the game is an operating software system; the residue of the game is a set of markers to inform and assist the players of the next game. The next game is the alteration or replacement of the system, or creation of a neighboring system."
The essentials of Crystal Clear are:
  1. Sit together, talk together, draw on whiteboards, look over each others' shoulders at your programs and tests.
  2. Deliver updates regularly, no longer than 3 months apart. Schedule and track the project by milestones.
  3. Have a real user reviewing the project regularly.
  4. Have a project mission statement, usage-based requirements, and a description of the system design.
  5. Have a clear ownership model: For each class or module etc, you know who it is that can change, update or, most importantly, delete parts of it.
  6. Use regression testing. Do some form of peer code reviewing.



<< Home