“It is impossible to fully specify or test an interactive system designed to respond to external inputs” –Peter Wegner
This is a strong argument for agile development for two reasons:
- It is impossible to fully specify the software we build. This means it is necessary to build it in small, incremental steps to ensure we build the right thing.
- It is impossible to fully specify the software process we use to develop, so why bother using a heavyweight process like RUP or V-Model? Better use a process which was designed to respond to change (and change itself when necessary), like Scrum or XP
I’ve got to use this as an argument against the V-Model style process I’m in right now in one of our next meetings…