in reply to Design. Implement. Bug Report.

To emphasize chromatic's excellent points, release cycles need to be short to get the necessary feedback. This technique is called "Tracer Bullets" and is an XP favorite.

Also, the only specification worth talking about is the automated testcase. Anything else is out of sync with the code the moment it's written. This is called "Test-Driven Development" and is also an XP staple.

Neither of those techniques, however, require one to drink the XP koolaid. They're both extremely valuable on their own. Try them, sometime.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?