您好,欢迎来到爱问旅游网。
搜索
您的当前位置:首页论项目配置管理

论项目配置管理

来源:爱问旅游网


论项目配置管理

[摘要]随着软件系统的日益复杂化和用户需求、软件更新的频繁化,配置管理逐渐成为软件生命周期中的重要控制过程,在软件开发过程中扮演着越来越来重要的角色。一个好的配置管理过程能覆盖软件开发和维护的各个方面,同时对软件开发过程进行的宏观管理,即项目管理,起着重要的支持作用。

[正文]配置管理(即Configuration Management,简称CM)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配置。良好的配置管理能使软件开发过程有更好的可预测性,使软件系统具有可重复性。配置管理在整个软件研发过程中起着至关重要的作用。

一个软件研发项目一般可以划分为三个阶段:计划阶段、开发阶段和维护阶段。然而从软件配置管理的角度来看,后两个阶段所涉及的活动是一致,所以就把它们合二为一,成为“项目开发和维护”阶段。

项目计划阶段:

一个项目设立之初PM首先需要制定整个项??研发计划之后,软件配置管理的活动就可以展开了,因为如果不在项目开始之初制定软件配置管理计划,那么软件配置管理的许多关键活动就无法及时有效的进行,而它的直接后果就是造成了项目开发状况的混乱并注定软件配置管理活动成为一种“救火”的行为。所以及时制定一份软件配置管理计划在一定程度上是项目成功的重要保证。

在软件配置管理计划的制定过程中,它的主要流程应该是这样的:

CCB根据项目的开发计划确定各个里程碑和开发策略;

CMO根据CCB的规划,制定详细的配置管理计划,交CCB审核;

CCB通过配置管理计划后交项目经理批准,发布实施。

项目开发维护阶段:

这一阶段时项目研发的主要阶段。在这一阶段中,软件配置管理活动主要分为三个层面:

(1)主要由CMO完成的管理和维护工作;

(2)由SIO和DEV具体执行软件配置管理策略;

(3)变更流程。这三个层面是彼此之间既又互相联系的有机的整体。

在这个软件配置管理过程中,它的核心流程应该是这样的:

(1)CCB设定研发活动的初始基线;

(2)CMO根据软件配置管理规划设立配置库和工作空间,为执行软件配置管理就阿做好准备;

(3)开发人员按照统一的软件配置管理策略,根据获得的授权的资源进行项目的研发工作;

(4)SIO按照项目的进度集成组内开发人员的工作成果,并构建系统,推进版本的演进;

(5)CCB根据项目的进展情况,审核各种变更请求,并适时的划定新的基线,保证开发和维护工作有序的进行。

这个流程就是如此循环往复,直到项目的结束。当然,在上述的核心过程之外,还涉及其他一些相关的活动和操作流程,下面按不同的角色分工予以列出:

各开发人员按照项目经理发布的开发策略或模型进行工作;

SIO负责将各分项目的工作成果归并至集成分支,供测试或发布;

SIO可向CCB提出设立基线的要求,经批准后由CMO执行;

CMO定期向项目经理和CCB提交审计报告,并在CCB例会中报告项目在软件过程中可能存在的问题和改进方案;

在基线生效后,一切对基线和基线之前的开发成果的变更必须经CCB的批准;

CCB定期举行例会,根据成员所掌握的情况、CMO的报告和开发人员的请求,对配置管理计划作出修改,并向项目经理负责。

综上所述,配置管理的工作流程如图1所示:

就我个人来看,信息系统项目的对象是信息系统,它和传统的制造产品有着很大的差别,这些差别决定了信息系统项目必须相应地采取特殊的措施,否则无法达到其目标。但是,由于在当今软件开发活动中由于缺乏必要配置管理流程和工具很多软件企业在日常开发工作中都会遇到诸如组织知识和过程财富流失,项目成员不能及时了解项目进展状况,缺乏实现并行开发手段,无法有效管理和跟踪变更等问题。那么配置管理在it项目管理中到底能起到什么作用呢?

(一)多重维护问题。在日常开发工作中经常会出现并行开发的需求,比如对于某个项目可能要在开发新版本同时继续对先前版本进行必要维护或者针对某个特定版本需要针对区别客户同时进行客户化修改等等,在并行模式下区别开发人员可以同时编辑修改某文件并行开发有可能产生冲突,但是,却能够提高开发效率。如果没有配置管理工具支持进行并行开发将十分困难单单通过人工操作往往会造成修改过bug重复出现或者几个人进行相同工作产生不必要浪费。

同时,一个文档的几个拷贝在不同的地方使用时,或者若干个文档中含有一些共同的内容。如果一个用户发现了一个文档出现了问题便直接进行修改,或者几个用户发现了问题各自都做了修正,这样文档就不一致了。

这是配置管理最容易解决的问题,用户需要修改某个文档时,必须从配置库中检出该文档,修改后再检入,每个用户需要该文档时都从配置库中检出目前最新的文档。同时,采用配置管理活动的一种系统化的文档标志版本,并控制版本的并更采用统一的备份规定,

可以避免丢失版本或不知版本。

(二)建立组织知识和过程财富。现代社会竞争激烈人员流动频繁,如果由于没有必要配置管理流程和工具,那么项目中产生的大量文档和代码等知识财富必然缺乏统一的管理,随意地保存在项目经理和软件工程师各自机器里往往会硬盘故障或人员离职而永远消失,软件导致组织的数字财富因为缺乏必要配置管理而白白流失。

通过建立公司的组织级的知识及过程财富库可以实现软件复用。软件复用是现代软件工程中重要思想,是提高软件产品生产效率和质量重要手段。软件产品是个公司宝贵财富,代码可重用性是相当高,如何建好知识库,用好知识库将对公司优质高效开发产品产生重大影响,但如果没有良好配置管理流程,那么软件复用效率将大打折扣,比如对于复用代码进行了必要修改或改进却只能通过手工方式将发生变更传递给所有复用,该软件项目效率如何可想而知,另外由于缺乏进行沟通必要手段,各个开发人员各自为政编写代码,不仅风格迥异而且编码和设计脱节,往往会导致开发大量重复难以维护代码。

(三)便于项目成员及时了解项目进展状况。现代软件工程思想认为越早发现缺陷和风险采取相应措施代价越小。配置管理的重要作用就是要提高软件开发过程中可视性,使得问题能够被及时发现。然而由于缺乏配置管理流程和工具支持部门主管无法确切得知项目进展情况,即便是项目经理也不知道各个开发人员具体工作项目进展,随意性很大,所有问题往往都会集中到项目里程碑时起出现,这必然会造成巨大开销其结果往往是容忍部分缺陷存在或者延误开发周期所有问题,只能寄希望于最终实施时再解决项目实施工作因此变成了无法汇报、无法理清、无休止维护。有效的配置管理流程和配置管理活动可以使项目团队通过和配置管理工具可以在任意工作场合随时的了解项目的进展情况,有利于提高项目的开发效率。

(四)有效管理和跟踪变更。软件的一个显著特点就是用户需求的任意变更。由于在项目的调研阶段系统分析人员没有完全了解用户对系统功能或性能方面的需求,所以经常会出现在项目的任意阶段用户提出新的系统需求。如果项目团队没有配置管理将无法对软件变更进行有效记录、跟踪和控制。当项目发生变更时项目团队可以通过配置管理工具管理变更活动,避免项目进度的延迟。

[总结 ] 为了改进配置管理在信息系统项目中的作用,有如下措施:

1) 改进用户的开发工作模式

使用Hansky的配置管理解决方案,可以有效地改进用户的软件开发模式和过程,提高企业软件能力成熟度的级别。

2) 加强项目管理能力

通过浏览器,项目负责人可以方便地查看项目进展情况以及员工工作情况; 利用Web界面即可实现代码复查和项目状态复查; 丰富的图表、报告功能,可以自动生成变更统计报告、配置审计报告,支持过程管理与进度分析,能够帮助管理者进行决策。

(3) 量化工作量考核

传统的开发管理中,工作量一直是难以估量的指标。靠开发人员自己把握,随意性过大;靠管理人员把握,主观性又太强。采用Firefly和Butterfly管理后,系统能够客观的记录员工的工作内容和质量,可以作为工作量的衡量指标。

(4) 规范测试流程

Butterfly和Firefly集成后,可以有效地跟踪和处理软件的变更,完整地记录测试人员的工作内容,测试有了实实在在的工作,测试人员根据修改描述细节对每一天的工作做具体的测试。对测试人员也具有相应的可考核性,这样环环相扣,有效地增强了对测试的管理。

(5) 加强协调与沟通,增加团队竞争力

使用Firefly保存公司的所有知识财富、利用Butterfly的FAQ、检索以及Email自动通知功能,有效地加强了项目成员之间的沟通,做到有问题及时发现、及时修改、及时通知,却又不会额外增加很多的工作量,大大提高了开发团队的协同工作效率。

参考资料:

[1]董越.理解软件配置管理.电子工业出版社,2008,5

[2]sei 软件能力成熟度模型cmm 1.2版本

[3]黄凤圣.软件配置管理模式.机械工业,2008,7

作者简介:施媛波(1976-),女,汉族,云南昆明人,讲师。主要研究方向:信息化与教学管理、数据库与信息系统、软件项目管理等。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务