为什么要开发和应用CMMI
开发和应用CMMI的主要原因有三点:一是现在软件项目的复杂性的快速增长使过程改进的难度增大,二是软件工程的并行与多学科的组合,三是实现过程改进的最佳效益。
(1)解决软件项目的过程改进难度增大问题。CMM成功实施以后,极大地提高了软件企业的开发效率和软件产品的质量,从而也提高了软件产品的可靠性和软件产业的信誉,这样人们就对软件寄予了更大的希望。人们希望软件能够完成更多、更大、更复杂的任务。
(2)实现软件工程的并行与多学科组合。CMM模型的成功实践,促进了工程和产品开发的组织发生了巨大的变革,变革的目标主要是为了消除与分段开发有关的低效。在分段开发过程中,中间产品传给下一阶段的工作人员时,有可能要进行大量的返工,以纠正原先的理解错误。并行工程、交叉学科群组、交又功能群组、集成化产品群组以及集成化产品和过程开发等,都代表了在产品或服务的整个生命周期的合适时间内处理这类问题的不同方法。这种倾向意味着设计人员和客户要与制造人员、测试人员和用户共同工作,以支持开发需求的制造组织。这种工作方式蕴涵着所有关键的相关人员要支持产品或服务开发的所有阶段。
(3)实现过程改进的最佳效益。尽管过程改进存在复杂化的因素,但软件管理专家们相信,其中的许多障碍可以通过一个集成过程改进的公共模型来克服。这种信念反映了在集成方面所进行的工作和CMMI项目的作者和评审人员的经验。人们相信,正如通过CMM的过程改进能够产生显著的效益一样,集成过程改进也能产生更大的效益。
从根本上来说,过程改进集成主要影响四个领域:成本、侧重点、过程集成和灵活性。其中某些变化可能比另一些变化容易量化,但所有这些都体现了过程改进集成的真正优势