One of the puzzling aspects of ‘waterfall’ development is the idea that knowledge, in the form of ‘requirements,’ exists prior to and separate from coding. Software development is a knowledge-creating process. While an overall architectural concept will be sketched out prior to coding, the validation of that architecture comes as the code is being written. In practice, the detailed design of software always occurs during coding, even if a detailed design document was written ahead of time.
From the Book Implementing Lean Software Development: From Concept to Cash, 2007, ISBN 0321437381
Copyright © 2007 by Pearson Education, Inc.