苹果软件开发管理与创新思维探秘
1. 软件开发管理的CMM模型
在软件开发领域,存在一种常见误解,即管理者常将软件开发简单等同于编码。然而,前IBM副总裁瓦茨·汉弗莱在卡内基梅隆大学软件工程研究所(SEI)开发的能力成熟度模型(CMM)揭示了这一观点的错误。
CMM模型最初针对软件领域,后演变为更通用的能力成熟度模型集成(CMMI),涵盖机械、电子等工程活动。尽管CMM部分已过时,但因其简单且专注软件,更适合我们探讨软件开发管理。
任何软件开发组织都处于CMM模型的五个等级之一:
- 初始级(等级1) :公司无标准流程,问题处理混乱,项目参与者不清楚期望。虽可能因项目领导者的卓越才能使部分项目成功,但长期来看会导致沮丧或倦怠,难以晋升到下一级。
- 管理级(等级2) :每个项目遵循规范方法,有开发计划、质量保证计划等,项目领导者负责定义、应用和维护这些计划。
- 定义级(等级3) :公司范围内的规范得以记录和应用,通过标准化和项目间的知识积累,项目计划基于通用计划实例化,开发者接受充分培训。
- 定量管理级(等级4) :项目基于可量化的目标进行管理,客户的质量目标转化为项目目标,成为项目规划的基础。
- 优化级(等级5) :所有流程可预测且定量管理,一切按计划有序进行,无需加班。
CMM模型的结构包含18个关键过程域(KPA),与五个成熟度等级相关联,具体如下表所示:
| 成熟度等级 | KPA | 代码 |