SP 1.1 Estimate the Scope of the Project
SP 1.2 Establish Estimates of Work Product and Task Attributes
SP 1.3 Define Project Lifecycle
SP 1.4 Determine Estimates of Effort and Cost
SG 2 Develop a Project Plan
SP 2.1 Establish the Budget and Schedule
SP 2.2 Identify Project Risks
SP 2.3 Plan for Data Management
SP 2.4 Plan for Project Resources
SP 2.5 Plan for Needed Knowledge and Skills
SP 2.6 Plan Stakeholder Involvement
SP 2.7 Establish the Project Plan
SG 3 Obtain Commitment to the Plan
SP 3.1 Review Plans That Affect the Project
SP 3.2 Reconcile Work and Resource Levels
SP 3.3 Obtain Plan Commitment
我们可以看到,CMMI已经教我们在项目估算(SG1 Establish Estimates )时,可以做以下几件事情:
- 确立项目范围(SP1.1)
- 确立工作产品和任务属性的估算(SP1.2)
- 定义项目生命周期(SP1.3)
- 确定项目成本的估算(SP1.4)
当然,CMMI告诉你的不仅仅是这些,它还告诉你在“项目计划”过程中,还要“计划实施项目所必要的知识和技能”(SP2.5)、“计划利益相关人的参与”(SP2.6)……不仅如此,在CMMI的文档中,对每个SP都有Typical Work Products,即产出物的例子。对于SP1.1有:
1. Task descriptions
2. Work package descriptions
3. WBS
所以你知道了吧,CMMI是帮助我们去更好地进行软件开发,更好地控制开发过程。哪怕你是在几个人的小团队,也完全可以借鉴CMMI的思想,把它融入到敏捷开发中。
最后推荐大家看一份PPT:http://www.slideshare.net/sempsalon/agilecmmi#
它会告诉你,CMMI和敏捷,不是敌人而是朋友。