Symptoms of an unhealthy process

Even if your organization has considerable experience developing software, you may not be getting the best possible results. Too many organizations suffer from problems like these:

  • The software is too unreliable or full of defects by the time it is due to be finished.
  • When the software is "finished", no one knows how reliable or defect-free it is.
  • During development, it's hard to guess whether the code will be done on time or will be disastrously late.
  • The developers spend far more time than was planned in debugging and fixing defects, sometimes even redoing large amounts of work that they thought was finished.
  • When a deadline approaches, panic sets in, and orderly development degenerates into frantic code-hacking and hasty, ineffective patching.

If any of this sounds too familiar, better software engineering practices can help.

For organizations that are ready to move up to cutting-edge practices, the approach called "Cleanroom Software Engineering" is the most effective that I have seen.

Next: Cleanroom