质量控制。软件设计方法可以区别为重量级的方法和轻量级的方法。重量级的方法中产生大量的正式文档。着名的重量级开发方法包括ISO 9000，CMM，和统一软件开发过程（RUP）。轻量级的开发过程没有对大量正式文档的要求。着名的轻量级开发方法包括极限编程（XP）和敏捷过程（Agile Processes）。根据《新方法学》这篇文章的说法，重量级方法呈现的是一种“防御型”的姿态。在应用“重量级方法”的软件组织中，由于软件项目经理不参与或者很少参与程序设计，无法从细节上把握项目进度，因而会对项目产生“