Heuristics for iterative software development
Drasko Sotirovski · IEEE Software · 2001
The author discusses the foundation principles of iterative software development. He goes on to examine a set of heuristics that he has found useful when applying iterative development methods to define the contents of subsequent increments. Understanding the heuristics helps provide vision and focus, which is essential when building complex systems. All the examples share the same domain, that of an advanced air traffic control (ATC) system, admittedly simplified to illustrate the points for an audience that might not be familiar with the ATC domain. The choice is not accidental. Designers successfully used incremental development, and the heuristics described, to build the Canadian Automated Air Traffic System, probably the most advanced system of its kind.