文中着重从软件工程的角度讨论变更管理,可使原先杂乱、随意的变更处于可控、可查的管理之下,尽量消除或减少研发过程中由于上一阶段变更导致对后续阶段产生影响;并在变更管理过程中引入项目管理的方法,使项目在实施变更的同时兼顾进度、成本、质量等效益;最后鉴于软件研发项目都不可避免会产生变更的特点,尝试探讨了变更管理决策提供判断标准和理论依据,使变更管理控制可以通过技术手段实施监督。
关键词:研发;变更管理;流程
随着社会经济、科学技术的飞速发展,行业竞争变得日益激烈,一些熟悉行业业务的软件企业会利用自己行业经验丰富的优势,针对预期市场预先投入开展一些研发项目,再在适当的时候将这些研发产品推向市场,抢占市场先机。
这种预先提供产品解决方案的做法,由于研发项目的需求提出者不是具体的、固定的最终客户,而是企业中富有行业经验的管理人员、技术人员或市场人员,利用其行业经验总结出来的可能性需求,这种非最终用户提出的、不确定的需求会使研发项目在推向市场前就有可能面临各种不可预测的变化。这样在软件研发项目整个生命周期中产生的非预期变更会给项目带来许多不确定因素,如果对这些变更处理不及时,可能会导致项目产生非预期结果。
研发项目的研究性和探索性,必然导致了研发项目过程中会产生变更,甚至频繁变更的必然性。而需求的不确定性,又会使得变更的范围可能会涉及到整个项目研发生命周期的各个阶段。一方面对于市场的快速变化要求有相应的软件产品来满足要求,另一方面企业要占领市场先机必须要用新技术、新架构、高性能的产品作为销售的亮点,这些因素都加重了研发项目的压力,使得研发项目必须在选择有利于项目取得成功的诸多因素中进行权衡。
既然变更是不可避免的,那么如何管理、追踪和控制变更就显得尤为重要。变更控制不能仅在过程中靠流程控制,有效地方法是在事前明确定义。
虽然可以事前定义好变更控制流程,但在各种压力下真正“控制”起来其实非常困难。要管理好变更需要找一个“标准化”的方式,来进行变更管理,在研发项目中,未知因素很多,可能导致变更的原因也不确定,甚至于有些变更具有突发性,因此在项目各个里程碑阶段设立评审机制尤为重要。
对变更的提出、变更的评估、变更的实施都应该进行评审,避免一家之言,以偏盖全,应对每次变更的后果及产生的影响说明利弊,最后权衡各方面的因素确定最后变更的实施方案,并将整个过程应记录在相应的文档中,以备今后查阅。
软件需求是用户解决问题或达到目标所需的条件或权能,系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能,一种反应上面所述的条件或权能的文档说明(IEEE软件工程标准词汇表(1997年)中定义)[1]。
随着软件系统规模的扩大,需求分析与定义在整个软件开发和维护过程中越来越重要,直接关系到软件的成功与否。人们逐渐认识到需求分析活动不再仅限于软件开发的最初阶段,它贯穿于系统开发的整个生命周期。
在软件开发过程中,必需要经过单元测试、集成测试、系统测试,在交付用户使用前还需接受用户验收测试[2]。在这些测试过程中有可能产生缺陷,缺陷的修改有可能会造成对软件前期设计方案、基线的变更。
由于研发项目需要具有一定的技术前瞻性,而计算机技术的飞速发展,软件开发方式的多样性,市场竞争的需要,客户提出的新技术手段,都有可能对原有的开发设计方案产生变动,需要实施变更。
明确变更管理在研发项目中的意义,我们可以将变更的管理归结到对项目的管理中去。所谓管理,就是制定,执行,检查和改进。本论文从软件生命周期的角度出发,就各个阶段变更产生的原因,规范变更流程,以达到对变更进行控制和管理的目标。
既然要管理就需要一套规范的处理流程,对于研发项目的变更处理流程可以分为以下步骤:变更的提出、变更的评估、变更的实施。
变更提出,对于研发项目中的任何一个业务相关人员都有可能提出变更,可能是客户、可能是项目组自身、也可能是市场人员,但都需要变更需求方提出变更申请,并在申请中写明产生变更的原因、对哪个阶段的设计或处理进行变更、变更可能会造成的影响、变更后将达到的效果等。
变更评估,变更申请需进行评审,确定是否需要变更、变更是否可行、变更的实施方式、变更的预期效益如何、成本影响、质量影响、资源分配的影响、是否有因变更导致后续的各方面计划、进度的修改。如下图所示就是一个变更控制的通用流程,它能应用在研发项目中的通用变更处理。
图1变更管理控制通用流程图
在变更实施时过程中有4个关键控制点:授权、审核、评估和确认。每一变更需要得到项目管理负责人的授权,不允许发生随意变更的事情,变更的具体方案、计划和实施需要预先审核,评估变更完成后由测试评估和评审过程来做最后的确认。
通过对研发过程可能产生变更的关键点分析,得出要对变更实行提出、评审、实施、验收的几个阶段监控,同时结合项目管理的方法对变更实施控制和监督,使变更管理处于事前目标明确、事中可控可管、结果可预判、事后可查的规范管理之下。
参考文献
[1]刘竹林. 软件工程与项目管理[M]. 北京:北京师范大学出版社,2008.
[2]郑人杰. 计算机软件测试技术[M]. 北京:清华大学出版社,1992.
论文作者:冯琳玲
论文发表刊物:《科技中国》2018年3期
论文发表时间:2018/8/6
标签:项目论文; 软件论文; 阶段论文; 市场论文; 过程中论文; 流程论文; 需求论文; 《科技中国》2018年3期论文;