This was originally posted by Marty Cagan (LinkedIn | Twitter) on April 16, 2007 on the Silicon Valley Product Group website.
NOTE: “Design” below refers to User Experience Design, and not Architectural or Systems Design.
There are many things in the software development process that can and should be done in parallel. For example, I have long argued that requirements and design (again, user experience design) are intertwined and should be done together. I don’t like the old waterfall model of a product manager doing “requirements” and handing that off to interaction designers that do “design.” I have written elsewhere about why that is an obsolete view of product development. Most teams I encounter now seem to understand this.
I also believe that great strides have been made by software engineering teams that have learned the value of doing implementation and testing in parallel. The old model of the engineer writing software and then handing it all off to a QA person to test actually takes longer and the result is less reliable. Agile methods like XP understand the value of doing implementation and testing together. Read More
