小项目实施软件配置管理探析

Dolly ·
更新时间:2024-11-13
· 546 次阅读

 目前,由美国软件工程学会(SEI)开发的软件能力成熟度模型(CMM,Capability Maturity Model),已经在软件过程及质量改进方面被广泛接受,但如何在商业驱动的软件过程改进中有效地使用这一模型,特别是针对小型组织和小型工程项目,仍存在着许多误解。本文这个问题进行尝试性的探讨,并对CMM二级的软件配置管理关键过程域的执行予以描述。   一、小组织/小项目与CMM

  小组织/小项目必须引入标准的软件能力成熟度模型,否则不可能成为真正的软件开发企业。在全面接受CMM理念的同时,为急需导入的是软件配置管理关键过程域,要不失时机地上线使用软件配置管理工具,以便支撑项目实施。项目承制方不仅能在开发过程中受益,为实际的是通过软件基线的界定,能形成阶段性产品。这些产品是项目开发团队理应关注的对象,也是市场部经理与客户方博弈的砝码。小组织/小项目在执行软件配置管理关键过程域中,应该完全按照规范操作,不能做任何裁剪,在组织结构与角色划分上尽量实现4个目标、25个关键实践及其描述的各种活动。

  1.小项目/小组织

  CMM能否被用于小项目/小组织的问题中,关于“小”的定义一直是模糊难解的。1998年软件工程过程改进小组(SEPG)会议非常关注CMM 及小组织。会上,“小”被定义成“5个或更少的人为期3至4个月的开发”。还有的机构定义“小组织”为少于50个软件开发人员,并且“小项目”为少于20 个开发人员。表1列出了小项目及微小项目的定义。

  其中,小项目到微小项目是在小组软件过程(TSP,Team Software Process)的范围中,而个人的开发努力则在个体软件过程(PSP,Personal Software Process)的范围中。TSP和PSP阐明了CMM的概念是如何应用到小项目中的。

  2.PSP和TSP

  个体软件过程是一种可用于控制、管理和改进个人工作方式的自我改善过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP为基于个体和小型群组软件过程的优化提供了具体而有效的途径,譬如,如何制定计划,如何控制质量,如何与其他人相互协作等等。在软件设计阶段,PSP的着眼点在于软件缺陷的预防,其具体办法是强化设计结束的准则,而不是设计方法的选择。

  个体软件过程与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何软件工程任务之中。个体软件过程应达到:①说明个体软件过程的原则;②帮助软件工程师做出准确的计划;③确定软件工程师为改善产品质量要采取的步骤;④建立度量个体软件过程改善的基准;⑤确定过程的改变对软件工程师能力的影响。

  小组软件过程致力于开发高质量的产品,建立、管理和授权项目小组,并指导他们在满足计划费用的前提下,在承诺的期限范围内,不断生产并交付高质量的产品。

  小组软件过程实施集体管理与自己管理相结合的原则,终目的在于指导开发人员如何在少的时间内,以预定的费用生产出高质量的软件产品,所采用的方法是对群组开发过程的定义、度量和改进。 软件开发网

  实现小组软件过程的方法需要具备四个条件:①需要高层主管和各级经理的支持,以取得必要的资源;②整个软件开发小组至少应在CMM的第二级(可重复层);③全体软件开发人员必须经过个体软件过程培训,并有按小组软件过程工作的愿望和热情;④开发小组成员应在2到20个人之间。

  在实施小组软件过程中,如果发现未能按期按质完成,应立即分析原因,以判定问题是由于工作内容不合适或工作计划不实际引起,还是由于资源不足或主观努力不够所引起的。开发小组应随时追踪项目进展状况并定期汇报,还应经常审视自己是否按软件开发过程的原理工作。如发现过程不合适,应及时改进。

  3.CMM、PSP和TSP组成的软件过程框架

  CMM是过程改善的第一步,它提供评价组织的能力、识别优先改善需求和追踪改善进展的管理方式。PSP能够指导软件工程师如何保证自己的工作质量,估计和规划自身的工作,度量和追踪个人的表现,管理自身的软件过程和产品质量。TSP结合了CMM的管理方法和PSP的工程技能,通过告诉软件工程师如何将个体过程结合进小组软件过程,并将后者与整个管理系统相联系;通过告诉管理层如何支持和授权项目小组,坚持高质量的工作,并且依据数据进行项目管理,向组织展示如何应用CMM原则和PSP去生产高质量的产品。 二、软件配置管理

  软件配置管理(SCM,Soft Configure Management)的目的是在整个项目的软件生存周期内,建立和维护软件项目产品的完整性。

  软件配置管理包括在给定时间点上及时地标识软件的配置,系统地控制对配置的更改,并在整个软件生存周期中维护配置的完整性和可跟踪性。置于软件配置管理之下的工作产品包括交付给客户的软件产品(如软件需求文档和代码),以及与这些软件产品一同标识的或为产生这些软件产品所要求的产品项(如编译程序)。

  通过软件配置管理的更改控制和配置审核职能,项目能系统地控制对基线的更改和由软件基线库构造的软件产品的发布。

  关键过程域包括实施软件配置管理职能的有关实践。标识特定配置项/单元的实践则



软件配置管理 配置管理 软件

需要 登录 后方可回复, 如果你还没有账号请 注册新账号