在小型软件开发组织中使用CMM
http://tech.ddvip.com 2008年09月06日 社区交流
内容摘要:这篇论文以小型组织为例讨论了怎样在各种商业环境中正确而有效地使用CMM。从那些对改进其软件过程感兴趣的任何组织得出的结论是:使用为大组织/大项目所开发的发行版来相应地解释用于小项目或小组织中的CMM,可能会存在程度上的差异,但它们决不会是本质上的不同。正确有效地使用CMM,要求具有专业性的判断,并且能够理解CMM是如何针对不同的用途来进行建构的。
软件工程学会(SEI)是由美国国防部1984年设立的一个联邦资助研发中心,主要通过大范围承包工程的研究来寻求软件工程技术的跃迁——即改进软件工程的实践。在某种意义上, SEI的存在是“软件危机”(即习惯性的拖延,超出预算,达不到预期功能,以及不可靠的质量等[Gibbs94])的结果。硬性地讲,危机大多是由软件自身造成的,一位首席信息官曾说过:“我宁愿让它有了错,也不想让它出得晚,稍后我们总会去修理它的。”许多组织要完成预期成本和进度目标的关键就在于——经常性地关注质量成本,一再地学习以往20年由美国工业界所推演出的现称为“全面质量管理(Total Quality Management,TQM)”的一门课程。
引用DeMarco [DeMarco95], 各种因素综合造成的如下情形并不令人惊奇:
· “人们总是抱怨我们,因为他们知道在抱怨的时候,我们会努力工作。”
· “大多数软件评估报告是令人沮丧的……但好在他们还不是对评估过程完全不满。”
· “正确的进度表是绝对不能达成的,只不过还不那么明显地不能达成。”
DeMarco继续观察到我们的工业界正在疲于奔命,而感觉上唯一真切的选择就是降低质量以换取速度。
TQM课程聚焦于在质量管理引导下减少开发周期, 提高生产率,增进客户满意程度并努力取得商业上的成功。挑战,当然被定义成“聚焦质量”的实用手段是什么,随即就要系统地寻求各种质量问题。也许SEI最成功的产品就是软件能力成熟度模型(CMM),就是说,它给在全世界软件社团中已成为主流的软件过程改进提供了路标[Paulk95]。CMM定义了怎样使开发组织的软件过程走向成熟的5个等级的框架结构。这些等级描述了从特别紊乱的混沌过程到成熟的、有纪律的软件过程的进化路径。如图1中的概示,5个等级和18个关键过程区域详细描述了它们。5个成熟度等级指明了对于成功的过程改进(即在许多案例的研究和调查中被文档化记录的有效性)的优先顺序[Herbsleb97,Lawlis95,Clark97]。
作者:Mark C. Paulk 责编:豆豆技术应用