In the 1970′s and 80′s, Stuart Pugh developed a philosophy of product development, which he called Total Design. This philosophy anticipated many of the values of Agile development and Design for Six Sigma, but in some ways is still more advanced than either of those. Pugh is remembered most often for his set-based development method of Pugh Concept Selection, but there is much more to his philosophy that just that.
Principles of Total Design
- The user need/customer requirement/voice of the customer is paramount to the success or failure of the product
- All facets of a business need to be involved in (and interact with) the design core in parallel and not sequentially
- To satisfy the user need, rigorous systematic working is required throughout the design core using modern methods
- A product’s status needs to be assessed accurately before starting any new design
- Within systematic working, a cyclical process of synthesis/analysis/synthesis is necessary, brought to a satisfactory conclusion by the appropriate methods
- The most up-to-date elements of engineering, based on sound engineering principles, must be used as appropriate
- Total design teams must be multi-disciplinary, with sufficient expertise within the team, and sufficient diversity of experience
- Consideration must be given to a wide range of alternatives without prior commitment to any particular alternative
- The design team must repeatedly scrutinize and test the information and reasoning on which a design is based
- People performance is critical to total design performance
- Engineering principles are a vital subset of total design; they influence but do not necessarily relate directly to the user need
- To minimize the cycle time for completion of the design core (to minimize process losses), systematic working with modern methods and aids is required
- Total product quality is only achievable through total design
I know of no popular software development methodology that lives up to these ideals. So, we are trying to define one!