I just read through that.
Asking questions and planning up front? Documentation before code?
Thats so waterfall. (And it works quite well for some projects). Certainly having a problem that isn't clearly defined is a good way build something that doesn't solve the problem well.
I think this really old article addresses it better. It's self-explanatory.
Managing Complex Design Projects (1995) http://www.dubberly.com/articles/managing-complex-design-pro...