An effective software process establishes the infrastructure that supports any effort at building a high-quality software product. The management aspects of process create the checks and balances that help avoid project chaos - a key contributor to poor quality. Software engineering practices
allow the developer to analyze the problem and design a solid solution-both critical to building high-quality: software. Finally, umbrella activities such as change management and technical reviews have as much to do with quality as any other part of software engineering practice.