项目需求变更原因及处理

转载 2016年06月01日 14:29:55


需求变更的控制当然与项目管理范畴之外的纯技术因素息息相关,比如面向对象的分析、面向对象的设计、面向对象的编码方式等等。不论在项目变更控制中采取什么方法、策略,对于项目本身的变化一定要时时洞悉,处处留意,只有这样才能从真正意义上对项目进行很好的变更控制。但所有技术的发展趋势都是一样,那就是为了使变更管理变得更容易。

1、需求变更的原因分析

  需求变更的表现形式是多方面的,如老板临时改变想法、项目预算增加或减少、客户对功能的需求改变等。在IT项目中,变更可能来自方案服务商、客户或产品供应商等,也可能来源于项目组内部。虽然需求变更的表现形式千差万别,但究其根本不外乎以下几种原因:

  (1)范围没有圈定就开始细化

  细化工作是由需求分析人员完成的,一般是根据用户提出的描述性的、总结性的短短几句话去细化的,提取其中的一个个功能,并给出描述(正常执行时的描述和意外发生时的描述)。当细化到一定程度后并开始系统设计时,范围会发生变化,那细节用例的描述可能就有很多要改动。如原来是手工添人的数据,要改成根据信息系统计算出来,而原来的一个属性的描述要变成描述一个实体等。

  (2)没有指定需求的基线

  需求的基线是指是否容许需求变更的分界线。随着项目的进展,需求的基线也在变化。是否容许变更的依据是合同以及对成本的影响,比如软件整体结构已经设计出来是不容许改变需求范围的,因为整体结构会对整个项目的进度和成本有初步预算。随着项目的进展,基线将越定越高(容许的变更将越少),其过程如下:变更请求à比较基线à变更实现。

  (3)没有良好的软件结构适应变化

  组件式的软件结构就是提供了快速适应需求变化的体系结构,数据层封装了数据访间逻辑,业务层封装了业务逻辑,表示层展现用户表示逻辑。但适应变化必须遵循一些松祸合原则,各层之间还是存在一些联系的,设计要力求减少会对接口入口参数产生变化。如果业务逻辑封装好了,则表示层界面上的一些排列或减少信息的要求是很容易适应的。如果接口定义得合理,那么即使业务流程有变化,也能够快速适应变化。因此,在成本影响的容许范围内可以降低需求的基线,提高客户的满意度。

  2、如何控制需求变更

  按照现代项目管理的概念,一个项目的生命周期分为启动、实施、收尾三个过程。需求变更的控制不应该只是项目实施过程考虑的事情,而是要分布在整个项目生命周期的全过程。为了将项目变更的影响降低到最小,就需要采用综合变更控制方法。综合变更控制主要内容有找出影响项目变更的因素、判断项目变更范围是否已经发生等。

  进行综合变更控制的主要依据是项目计划、变更请求和提供了项目执行状况信息的绩效报告。为保证项目变更的规范和有效实施,通常项目实施组织会有一

  (1)项目启动阶段的变更预防

  对于任何项目,变更都无可避免,也无从逃避,只能积极应对,这个应对应该是从项目启动的需求分析阶段就开始了。对一个需求分析做得很好的项目来说,基准文件定义的范围越详细清晰,用户跟项目经理扯皮的幌子就越少。如果需求没做好,基准文件里的范围含糊不清,被客户抓住空子,往往要付出许多无谓的牺牲。如果需求做得好,文档清晰且又有客户签字,那么后期客户提出的变更就超出了合同范围,需要另外收费。这个时候千万不能手软,这并非要刻意赚取客户的钱财,而是不能让客户养成经常变更的习惯,否则后患无穷。相对于需求来说,什么WBS、风险管理、计划进度都是次要的,只要需求做好了就会一帆风顺。

  (2)项目实施阶段的需求变更

  成功项目和失败项目的区别就在于项目的整个过程是否是可控的。项目经理应该树立一个理念——“需求变更是必然的、可控的、有益的”。项目实施阶段的变更控制需要做的是分析变更请求,评估变更可能带来的风险和修改基准文件。控制需求渐变需要注意以下几点:

  需求一定要与投入有联系,如果需求变更的成本由开发方来承担,则项目需求的变更就成为必然了。所以,在项目的开始,无论是开发方还是出资方都要明确这一条:需求变,软件开发的投人也要变。

  需求的变更要经过出资者的认可,这样才会对需求的变更有成本的概念,能够慎重地对待需求的变更。

  小的需求变更也要经过正规的需求管理流程,否则会积少成多。在实践中,人们往往不愿意为小的需求变更去执行正规的需求管理过程,认为降低了开发效率,浪费了时间。但正是由于这种观念才使需求逐渐变为不可控,最终导致项目的失败。

  精确的需求与范围定义并不会阻止需求的变更。并非对需求定义得越细,就越能避免需求的渐变,这是两个层面的问题。太细的需求定义对需求渐变没有任何效果。因为需求的变化是永恒的,并非需求写细了,它就不会变化了。

  注意沟通的技巧。实际情况是用户、开发者都认识到了上面的几点间题,但是由于需求的变更可能来自客户方,也可能来自开发方,因此,作为需求管理者,项目经理需要采用各种沟通技巧来使项目的各方各得其所。

  (3)项目收尾阶段的总结

  能力的提高往往不是从成功的经验中来,而是从失败的教训中来。许多项目经理不注重经验教训总结和积累,即使在项目运作过程中碰得头破血流,也只是抱怨运气、环境和团队配合不好,很少系统地分析总结,或者不知道如何分析总结,以至于同样的问题反复出现。

  事实上,项目总结工作应作为现有项目或将来项目持续改进工作的一项重要内容,同时也可以作为对项目合同、设计方案内容与目标的确认和验证。项目总结工作包括项目中事先识别的风险和没有预料到而发生的变更等风险的应对措施的分析和总结,也包括项目中发生的变更和项目中发生问题的分析统计的总结。

  3、需求变更的处理流程

  需求变更既然不可避免,那么就必须有一套规范的处理流程。对于需求变更的处理流程应该分以下步骤:提出变更-变更评估-实施变更-需求变更处理流程

因为现实世界的软件系统可能有不同的严格程度和复杂性,所以事先预言所有的相关需求是不可能的。系统原计划的操作环境会改变,用户的需求会改变,甚至系统的角色也有可能改变。实现和测试系统的行为可能导致对正解决的问题产生新的理解和洞察,这种新的认识就有可能导致需求变更。CMM提出“分配需求的变更被复审,并加入到软件项目中来”,其关键是在需求发生变更时,没有必要马上把这些变更付诸于软件开发工作之中。

实际上,坚持把需求变更付诸开发努力,企业就会形成一种混乱且不稳定的氛围,进而严重破坏项目的控制和管理。需求管理关键过程试图通过把分配需求的变更囤积到可管理的组中,等到开发工作允许的时候再引人相应的方法,避免产生这种混乱的氛围。

由于需求管理创建了一个隔绝开发工作与所有真实的、潜在无序的、来自于客户的变更。这个缓冲器允许真实的变更被注意、记录、追踪,同时开发工作又不会因此而被扰乱。结果,开发项目应该周期性地暂停来吸收最新的需求变更积累,此时,所有的计划、设计、行为都根据刚刚吸收的需求变更的影响进行更新。

项目管理---项目经理如何应对客户的需求变更?

相信做软件开发的我们,大家都有这样的体会,当我们辛辛苦苦的熬了几个月的通宵、加班后,终于完成了客户提出的V1.0功能需求,当我们大家准备按部就班的进行系统上线时,客户、企业用户突然改变了需求,不想这么...
  • lishehe
  • lishehe
  • 2014年03月25日 20:04
  • 8206

软件过程解决需求变更方案

软件的基础是需求,需求变动后数据库、设计、编码等都需要变动,严重的甚至会推翻原来所作的一切工作。 如果需求一直变动,就会进入需求设计循环,大部分时间都会化在需求变更后的设计变动上。这样总体上对理清...
  • tearsmo
  • tearsmo
  • 2011年09月01日 11:06
  • 889

SOA之基于服务总线的设计

在上文中,主要介绍了SOA的概念,什么叫做“服务”,“服务”应该具备哪些特性。本篇中,我将介绍SOA的一种很常见的设计实践--基于服务总线的设计。基于服务总线的设计基于总线的设计,借鉴了计算机内部硬件...

微服务基础设施之服务注册中心: Spring Cloud Eureka

对服务注册中心的需求在微服务架构中,由于每一个服务的粒度相对传统SOA来说要小的多,所以服务的数量会成倍增加。这时如果有效管理服务的注册信息就尤为重要。我们对服务注册中心的期望主要有以下几条: 简单易...

项目经理进阶修炼2--处理需求变更策略

需求变更是项目管理过程中最为头痛的问题,也是对项目成本最大影响的因素之一。    我们该如何的应对客户的需求变更呢?         生硬的拒绝,拿合同和需求文档抠字眼跟客户较劲        ...

项目管理中的需求变更分析和解决之道

一、令人烦恼的需求变更     作为一个软件项目经理,在项目开发进行中,你是否遇到过这样的问题:客户的一个电话,就推翻了之前你与客户、与你自己的开发团队,经过再三讨论而确认定下来的需求。之后你就...

浅谈项目需求变更管理

“项目一旦启动,变更也就随之而来。”  变更是无法避免的,作为一个合格的项目经理,我们应该有有效的方法来管理项目变更。    先来看一个小案例:    A公司正在实施一个...
  • pmpgao
  • pmpgao
  • 2014年11月12日 11:49
  • 369

软件项目的需求变更管理

一、做好需求工程   需求分析是软件工程项目最重要、最基础的起始阶段,为后续的规划设计阶段提供参照依据。在软件研发项目过程中一定要树立需求工程的意识,将需求视为一项系统工程。为了能够全面做好需求管理...
  • th3737
  • th3737
  • 2011年12月22日 17:29
  • 99

《小团队项目管理》第三问 --- 如何看待客户的需求变更?

作为一名码农,在项目开发过程中经常会涉及到项目的需求变更,变更的理由也是多种多样,总结而来分为外部和内部,从外部讲,例如:为了顺应某行业新的工作操作规范,甲方要求现有项目在工作流程环节上进行局部功能的...

项目需求变更控制技术---技术性论文

摘要 -----------------------------  项目需求变更控制技术是保证项目成果于客户期望一致,控制项目成本,按期完成项目进度的关键性保障之一。本文从某市应急联动指挥系统的实...
  • hpjtjw
  • hpjtjw
  • 2011年01月19日 11:13
  • 1056
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:项目需求变更原因及处理
举报原因:
原因补充:

(最多只允许输入30个字)