I saw this post and could not resist leaving a comment. Here’s what I wrote as a comment to that post:
How can they [Toyota] apply waterfall and be predictive, fast and high-quality? Those are all qualities that waterfall lacks.
Predictability is lost because of lack of visibility into quality until it is too late (the test phase). Not to mention that trying to predict how a software project will go is like playing Lottery blindfolded and selecting a ticket to the wrong draw!
Speed is lost because writing requirements up front leads you to create a lot more requirements than you really need because you don’t have the feedback of running software.
High-quality is lost because waterfall leads to slow and late integration which leads to many defects being left in the software! Not to mention that you can’t inspect quality in, you have to build it in!
Now I’m curious about how you get out of that “they use waterfall but they provide all of the “goodies”!
Oh, and you can’t say “they said they used waterfall but did not actually do that”! 😉
What do you think? Do you agree that Waterfall can be used with predictability, speed and high-quality.