Some years ago Harlan Mills proposed that any software system should be grown by incremental development. That is, the system should first be made to run. even if it does nothing useful except call the proper set of dummy subprograms. Then, bit by bit. it should be fleshed out, with the subprograms in turn [...]