Wednesday, March 23, 2005

developer.* - Code as Design: Three Essays by Jack W. Reeves

One of the seminal essays of the past 10-15 years of software development history.

The overwhelming problem with software development is that everything is part of the design process. Coding is design, testing and debugging are part of design, and what we typically call software design is still part of design.

The software design is not complete until it has been coded and tested. Testing is a fundamental part of the design validation and refinement process.

This often results is what managers perceive as "hacking", but it is the reality of software development.