【配置管理】3、配置管理作用

  为了应对不断变化的项目需求。对于任何一个项目,成功的SCM的关键是尽可能接受更多的变更,同时不失去第软件的控制。配置管理伴随着软件开发的历史逐步发展,产生的主要原因是管理难度的加大:

  • 1)软件系统的复杂性增加;
  • 2)项目环境的复杂性增加;
  • 3)变化的生命周期变化;
  • 4)过程和人员的变化。

  随着软件系统的日益复杂化和用户需求、软件更新的频繁化,软件产品的规模也越来越庞大,个人单打独斗的开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。 配置管理逐渐成为软件生命周期中的重要控制过程,在软件开发过程中扮演着越来越来重要的角色。一个好的配置管理过程能覆盖软件开发和维护的各个方面,同时对软件开发过程的宏观管理,即项目管理,也有重要的支持作用。良好的配置管理能使软件开发过程有更好的可预测性,使软件系统具有可重复性,使用户和主管部门用软件质量和开发小组有更强的信心。
  软件配置管理的实质就是软件项目计划的编辑和跟踪。概念上,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件配置管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,所以能够减少软件的开发风险。
  软件配置管理主要体现在开发过程和管理过程。通常,人们注重项目的开发过程,从而忽略软件项目的管理过程。事实上,管理过程的重要性比开发过程的重要性大得多,项目管理可以让一个项目的整体成型,使得项目盈利,而开发过程中的编码的影响力相对小一点,项目的缺陷也可以在项目管理中发现。现实中,由于出色的项目管理,可以将有缺陷,亏损的项目转化为盈利的项目的例子不计其数。
  为什么我们要做软件配置管理工作呢?其实在现实中的例子很多,小小的做笔记就是一个例子:考试周要准备考试的时候,学生都会在一张纸上记录所有要考试的科目,即考试安排,这个考试安排可以帮助学生提前安排时间去复习,保证不会挂科,复习完一科和考试完一科在考试安排上打一个“勾”。同理的,软件配置管理也是这样去管理好软件项目的内容、进度、成本…等等。为此!我们需要制定好的一个项目计划,然后管理好这个项目,从源代码编辑到跟踪控制软件项目计划再到指导书和说明书就是软件项目的管理的实质。

  由于历史和现实的原因,配置管理流程和工具在我国软件行业中的应用并不普及,由于缺乏必要的配置管理流程和工具,很多软件企业在日常的开发工作中都会或多或少的遇到如下的问题:

  • 1) 组织的知识和过程财富流失   
    现代的社会竞争激烈,人员流动频繁,如果由于没有必要的配置管理流程和工具,大量的文档和代码等知识财富必然缺乏统一的管理,可能随意地保存在项目经理和软件工程师各自的机器里,往往会因为硬盘的故障或人员的离职而永远的消失,软件组织的数字财富就这样因为缺乏必要的配置管理而白白的流失
  • 2) 不能及时了解项目的进展状况   
    现代软件工程思想认为越早发现缺陷和风险,采取相应措施的代价越小。CMM 的一个重要作用就是要提高软件开发过程中的可视性,使得问题能够被及时的发现。然而由于缺乏配置管理的流程和工具的支持,部门主管无法确切得知项目的进展情况,即便是项目经理也不知道各个开发人员的具体工作,项目进展随意性很大。所有的问题往往都会集中到项目里程碑时一起出现,这必然会造成巨大的开销,其结果往往是容忍部分缺陷存在或者延误开发周期。所有问题只能寄希望于最终实施时再解决,项目的实施工 作因此变成了无法汇报、无法理清、无休止的维护。
  • 3) 缺乏实现并行开发的手段   
    在日常的开发工作中,经常会出现并行开发的需求,比如:对于一个 项目可能要在开发新版本的同时继续对先前的版本进行必要的维护,或者针对某个特定的版本需要针对不同的客户同时进行客户化的修改等等。在并行模式下,不同开发人员可以同时编辑修改某一文件,并行开发有可能产生冲突,但是却能够提高开发效率。如果没有配置管理工具的支持,进行并行开发将十分困难,单单通过人工操作,往往会造成修改过的bug 重复出现或者几个人进行相同的工作,产生不必要的浪费。
  • 4)软件复用率低下   
    软件复用是现代软件工程中的重要思想,是提高软件产品生产效率和质量的重要手段。软件产品是一个公司的宝贵财富,代码的可重用性是相当高的,如何建好知识库,用好知识库将对公司优质高效开发产品产生重大的影响。但如果没有良好的配置管理流程,软件复用的效率将大打折扣,比如对于复用的代码进行了必要的修改或改进,却只 能通过手工的方式将发生的变更传递给所有复用该软件的项目,效率如何可想而知。另外由于缺乏进行沟通的必要手段,各个开发人员各自为政,编写的代码不仅风格迥异,而且编码和设计脱节,往往会导致开发大量重复的难以维护的代码。
  • 5)无法开展规范化的测试工作   
    在传统的开发方式中,由于缺乏必要的配置管理和变更控制,测试工作只是人们的 一种主观愿望,根本无法提出具体的测试要求,加之开发人员的遮丑,测试工作往往是 走走过场,测试结果既无法考核又无法量化,当然就无法对以后的开发工作起指导作用。
  • 6)对软件版本的发布缺乏有效的管理   
    因为缺乏有效的管理手段,往往会在产品发布时却无法确定该版本所有的组件,或者向用户提供了错误的版本。对于特定客户出现的问题,无法重现其使用的版本,只能到用户的现场才能进行相应的调试工作。由于应用软件的特点,各个不同的客户会有不同的要求,开发人员要手工地保持多份不同的拷贝,即使是相同的问题,但由于在不同 地方提出,由不同人解决,其做法也不尽相同,程序的可维护性越来越差。这些都会延长实施的周期,同时意味着人力物力的浪费。
  • 7)缺乏历史数据的积累,没有软件开发的历史数据   
    缺乏软件开发的历史数据是大多数软件项目失败的关键所在,这样的结论也许使很多人感到吃惊,但事实就是如此。因为软件开发的历史数据是反映软件开发队伍的能力的标尺,没有了这个标尺,就无法对软件的开发过程有一个清醒的认识。而良好的配置管理正是收集软件开发历史数据的重要来源。
  • 8)无法有效的管理和跟踪变更   
    软件的一个显著特点就是易于改变,没有配置管理将无法对软件的变更进行有效的记录、跟踪和控制。
      软件配置管理的最终目标是管理软件产品。由于软件产品是在用户不断变化的需求驱动下不断变化,为了保证对产品有效地进行控制和追踪,配置管理过程不能仅仅对静态的、成形的产品进行管理,而必须对动态的、成长的产品进行管理。由此可见,配置管理同软件开发过程紧密相关。配置管理必须紧扣软件开发过程的各个环节:管理用户所提出的需求,监控其实施,确保用户需求最终落实到产品的各个版本中去,并在产品发行和用户支持等方面提供帮助,响应用户新的需求,推动新的开发周期。通过配置管理过程的控制,用户对软件产品的需求如同普通产品的订单一样,遵循一个严格的流程,经过一条受控的生产流水线,最后形成产品,发售给相应用户。从另一个角度看,在产品开发的不同阶段通常有不同的任务,由不同的角色担当,各个角色职责明确,泾渭分明,但同时又前后衔接,相互协调。
      好的配置管理过程有助于规范各个角色的行为,同时又为角色之间的任务传递提供无缝的接合,使整个开发团队像是一个交响乐队一样和谐而又错杂地行进。正因为配置管理过程直接连接产品开发过程、开发人员和最终产品,这些都是项目主管人员所关注的重点,因此配置管理系统在软件项目管理中也起着重要作用。配置管理过程演化出的控制、报告功能可帮助项目经理更好地了解项目的进度、开发人员的负荷、工作效率和产品质量状况、交付日期等信息。同时配置管理过程所规范的工作流程和明确的分工有利于管理者应付开发人员流动的困境,使新的成员可以快速实现任务交接,尽量减少因人员流动而造成的损失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值