The development process boils down to:
1) Determining Requirements
2)Building exact specifications complete with descriptions of functionality and mockups
3) Developing the software to match the specifications
4) Creating a QA test plan to break the SW and ensure that it matches the specification exactly
5)making necessary changes to both the specification and software
6)Rolling out the product to users
Being a loather of redundancy and having a personal project/startup background, this process strikes me as antiquated and arcane. Surely there must be a better way to develop software. What are some of the workflows that work for you to create great features when you've got more than just a couple people hacking? What can startups teach scaling companies in this light?