“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:

  1. 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.
  2. 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…