当前位置:首页 >> 正文

制订明确的项目目标和范围,防止软件项目失控

[ 日期:2019-4-16 ]

恒佳PMP培训中心

(一)软件开发项目的经验与教训

“坦白地说,微软所面临的挑战之一是它的很多员工还没有遭遇过多少失败。很多人从未遇到过失败的项目。结果是,人们把成功视为理所当然的事,这是很危险的。人们遭遇失败时,将被迫发挥出创造性,不分昼夜地深入探索并冥思苦想。每个公司都需要有过这种经历的人。”
  ——比尔.盖茨
  “犯错的重要性”,《美国航空杂志》,1995年7月
  上面这段话是摘自《软件开发的滑铁卢——重大失控项目的经验与教训》一书的,两个月前第一次看到这段话,那时刚好经历了一个让我印象无比深刻的项目,对这段话也特别有感触,就第一时间放到了blog上。
 
  两个月过去了,又重新找出这本书来看,对作者提到的一些现象有了更深的共鸣。鉴于这本书目前尚没有中文电子版,所以决定把其中一些值得反复体会的文字,以及自己在读书过程中的一些思考记录下来, 与大家一起分享。
 
  所谓的“软件失控项目”,是指在创建系统所需的软件时遇到困难,从而导致大大超出可控制范围的项目。“项目失控”暗示着项目变得无法管理,从而无法达到最初的目标,甚至无法接近目标——这里所指的目标,包括进度目标、成本目标以及满足功能性和非功能性需求的目标。
 
  但软件项目未能达到成本和进度的目标,常常是因为这些目标本身就是错误的,而软件从业人员辛辛苦苦的工作,其实是不断的耗费时间去迎合不可实现的目标;而这些目标通常是由营销人员或客户指定的,其次是由管理人员来制定,很少有实际完成项目的技术人员涉足其中。
 
  书中作者引用了三个词来说明软件项目所处的不同情形:两难境地(crunch mode),死亡行军(death march),和 失控。我特别喜欢作者对“两难境地”和“死亡行军”项目的描述,很生动很形象的这样两种项目对软件从业人员的影响。 


 
  处于“两难境地”的项目面临着无法达到最初目标的威胁,而项目团队在努力想要跨越该困境。软件专家会在办公室给家人打电话说:“我们正处于两难境地,在半夜之前我是不会回家的”。家人也不会吃惊。两难境地的状况可能会持续几天、几周,甚至几个月,这取决于项目本身持续的时间以及它偏离目标的程度。
 
  “两难境地”这个词源自John.Boddie在1987年出版的《Crunch Mode》一书,而这个词并不是Boddie发明的,而是由发现自己被迫完成项目的软件从业者们发明的,通常用来描述进度表极其紧迫的项目,说明项目参与者感受到的压力。
 
  而“死亡行军”项目简单的说,就是当你发现不得不参与到一个项目中,又不得不通过超常的努力和超长时间的工作才能完成那些不合理目标时,你所参与的这个项目就是一个“死亡行军”的项目。
 
  “死亡行军”这个词源自Ed.Yourdon在1997年出版的《Death March》一书,而这个词也同样是由那些被迫在“死亡行军”项目中行走的人们发明的,通常用来描述进度表几乎不可能完成的项目,说明项目参与者的周围弥漫着的是难以忍受的潜在的失败气味。
 
  在我们现实的世界中,通常是因为有人对项目结果期望太高,时间要求太紧,所以从项目开始就呈现出“两难境地”;随着项目的进行,项目参与者很快发现自己在进行“死亡行军”,正在设法实现越来越不可能实现的目标;当项目明显成功无望、多个方面都已失败时,改项目就成为“失控”项目了。
 
  大多数人,如果让他们选择的话,都不愿意加入到死亡行军,不想让自己处于两难境地,而且永远不想处于失控的项目中。可因为系统项目通常受到进度表的支配,管理者根据项目预先确定的进度表来检查项目进度,而进度表总是由那些没有能力精确估算的人来确定——比如营销人员或者客户——所以总是时间紧迫,不合情理。
 
  有意思的是,“两难境地”的提出是在1987年,“死亡行军”的提出是在1997年,两者相隔10年;而我们再反观又过了10年后的今天,2008年,20年过去了,可似乎我们身处的软件行业、软件项目管理并没有出现太明显的改善。虽然真正“失控”的项目只是极少数,而且也并不是所有的死亡行军项目都会失败,但我们可以发现自己要么处于“两难境地”,要么正在“死亡行军”,总是难以逃脱。


(二)明确的目标和范围是预防软件项目失控的方法

ERP项目失控管理的经验在ERP的实施中是非常重要的,如果缺乏大型企业ERP项目失控管理经验,缺少掌控全局的能力,再加上对企业管理理解有限,导致没法清楚地界定自己的需求,这些都是项目常见的缺陷。所以ERP项目是否制定了明确有效的目标和范围,是项目实施中的一大关键。

明确有效的目标和范围是预防ERP项目失控的有效手段

专注于制衣管理软件的华遨总结出,在实施ERP项目管理过程中,稍有不慎就容易失控主要表现在以下五个方面:

一、项目成本管理失控,严重超出预算

项目成本是评价一个项目是否成功的一个关键因素,所以成本的变化将直接影响项目的成功。因此,ERP实施的关键问题就在于如何有效的在预期成本下达成预期目标。往往的情况是项目经理在开始不注重有效控制成本,而到项目实施一段时间之后,发现项目预算已经不能保证项目的完成了,或者半途而废,或者追加投入,而追加投入又会遇到企业资金是否充足的影响。所以我们建议在项目开始之前一定尽量准确的做出项目预算,避免在途中因资金影响项目进展。方法是分阶段进行成本评估,当每个阶段都能够在成本控制范围之内,那么最终的项目一定保证在成本范围内成功,当出现项目费用超出预算成本的时候要及时调整,确保总体成本控制在范围之内。

二、项目计划执行乏力

企业执行ERP项目计划往往朝令夕改,毫无确定性。其中重要的原因是企业往往低估了实施的难度,安排计划不切实际,执行过程中又严重缺乏执行力度,往往计划只具有理论上可行性,而一旦付诸实施,则不能被严格执行。 



三、人员流动大,人力资源管理失控

任何项目都需要人来做,而ERP项目更需要高素质的人才参与。目前的大部分ERP项目过程中都会或多或少发生成员变动,甚至有的变动率超过百分之五十。面对焕然一新的项目组成员,将会对原有ERP项目产生很多问题,项目中人力资源的管理问题需要进一步得到解决。

所以,ERP项目人力资源管理就是在对项目目标、规划、进展以及各种变量进行有序的分析、规划基础上,对项目过程中的所有相关人员给予有效的协调、控制和管理。同时,项目管理中团队组建完成并不等于团队建设的完成,团队建设是伴随项目团队的整个生命周期的活动,团队建设活动包括为提高团队运作水平而进行的管理和采用的措施。

四、时间管理严重滞后和失控

实施ERP是个庞大的管理和系统综合性项目,过程控制主要是体现在项目实施过程中的时间控制。

包括控制项目实施过程中各阶段投入的各种资源和达到的目标所用的时间,使之尽可能达到项目实施计划要求。当一个切实可行的总体实施计划和目标被制定和批准以后,如何监督和控制就成了一个重要的问题。根据在许多项目中的实施的经验,基本上可以这样讲,很少有一个项目是完全按照实施计划预定的时间来进行的,所以高效的时间管理就显得非常重要。

五、未能有效进行风险控制

实施ERP的风险控制可以分为四个步骤:识别风险、衡量风险、管理风险、监控项目进程与状态。识别风险主要的工作是确定可能影响项目实施的风险并记录风险的特征。在识别风险的同时,需要辩证地分析其负面效应和正面效应。衡量风险主要是对识别的风险进行评估,确定风险与风险之间的相互作用以及潜在的一系列后果,同时还需要确定风险的重要性和处理风险的优先次序。

管理风险是风险控制中最为直接,也是最为关键的一个步骤。在管理风险过程中,需要对风险的正面效应(即潜在的机会)制定增强措施,对风险的负面效应(即可能的威胁)制定应付方法。对于不同的风险,需要根据其重要性、影响大小以及已经确定的处理优先次序,采取相应的措施加以控制,对负面风险的反应可以是尽量避免、努力减小或设法接收。ERP几乎是与失败阴影伴随而生的,没有一个企业希望这个阴影降临在自己头上。因此,必须重视强化实施过程中的项目风险管理。关于风险控制的建议,具体可查看《ERP实施中如何识别风险、如何管理风险》的相关介绍。

总的来说,ERP项目是否制定了明确有效的目标和范围,是项目实施中的一大关键。有了目标和范围,才能对项目成本、项目执行力、人力、时间管理有了明确的要求。但企业总想花较少的钱办较多的事,项目目标过大、过多、范围过宽,加上ERP项目本身是一个高风险项目,过多的目标、过宽的范围对驾驭控制项目都是极为重大的挑战。

(三)软件项目需求开发和项目的范围管理

从CMMI到CMM来看其变化
Req从只有一个PA叫RM,到两个PA,分别是Reqm、ReqD
目前我们的需求开发就如在一间黑屋子打着手电筒在看你需要装修的范围,你看到一个墙角墙上贴着白色的磁砖,铺着蓝色的地砖。你别以为客户的整个房子的需求就是白砖蓝地。那可只是个厕所。当你把全房子的灯都点亮,你再走一圈,你就会发出“原来如此”的感叹,其时需求的难度不是问题,问题就是当你所有的灯都亮了的时候,项目进入测试阶段的,这时候你发现返工很大,客户不满意,甚至对无关紧要的事情都在抱怨、恼火。
为什么灯不能在项目前期点亮?
这盏灯在我看来就是业务专家,对行业从广度到深度有切身体会的专家。当然对于一些小的项目不需要专家,项目经理应该要扛起责任来。
灯也不是说什么时候亮就什么时候亮的,足够的时间是必须的,为什么到了测试阶段才豁然开朗?大部分的项目经理连需求范围没有摸清就开始摸石头过河,我赞成对某些陌生业务的需求分析可以采用摸石头过河的策略,但是前提是要搞清楚需求的范围和方向。就像打帝国时代游戏一样,先造几个兵,然后一人一个方向出去探路,整个地图都是黑的情况下,可以造农民、士兵一些基本的准备工作。等地图一步步看清楚了,在决定策略,你靠海就多造船,你周边物产资源丰富就多造农民、仓库,物资多了就可以造更高级的武器了。如果你地理位置险固比较容易守,就尽快先升级。
兵法说要先谋而后定,需求开发不就是谋吗?

(四)项目管理过程中如何正确地进行范围管理

发布时间:2007-08-29 13:52:39来源:作者:
项目管理过程不从确定项目开始,也不随着项目计划完成而告终。你必须要在项目管理过程中使用范围变化管理,如果你不善用此一技巧,那麻烦将是不可避免的。确定并计划项目仅仅是成功的项目管理过程的第一步。在制定出计划之后,你还必须要将计划付诸实施。你必须要保证计划任务在规定的时间内完成,而且不能超出原有的预算。一旦项目开始进行,客户可能会向你提出更多的或是与原计划不同的要求。在这个时候范围变化管理就可以派上用场了。如果你不善用此一技巧,项目小组就只能尝试着在项目时间和预算不变的情况下去完成比原计划多得多并且要耗费更多成本的任务。换句话来说,就是麻烦将是不可避免的。

范围管理从范围界定开始

对项目范围进行界定恐怕是确定项目的过程当中最为重要的组成部分。事实上,如果你并不能确定项目的目标任务,也不能确定项目的范围,项目就根本不可能成功。范围管理是项目管理过程当中最为关键的组成部分之一。但是,如果不能对项目的范围作出成功的界定,想要实施范围管理也几乎是不可能的。

界定范围的目的是清楚描述项目的逻辑范围并在此问题上同有关各方达成一致。对项目范围的陈述可以让大家清楚的了解哪些工作是项目范围之内的事情,而哪些工作不属于该项目范畴。对项目范围的界定越明确,对项目就越有利。下面这些信息应该能起到一些帮助作用。

范围内和范围外的任务类型(业务需求、现状评估)
范围内和范围外的生命周期流程(分析、设计、测试)
范围内和范围外的数据类型(财务、销售、员工)
范围内和范围外的数据来源或数据库(账单、公司总帐,薪水明细)
范围内和范围外的部门(人力资源、制造商、供货商)
范围内和范围外的主要功能(决策支持、数据输入、管理报告)
制定可行的范围变化流程

项目经理和项目小组的成员都必须意识到,项目范围的变化本身并没有错。也就是说,在项目的进行过程中改变项目范围并不是一件坏事。事实上,在很多情况下,这还是一件好事。首先,客户通常都不能在项目开始之前明确所有的需求。其次,即使他们能够做到这一点,整个的商业环境也是在不断变化的,所以项目需求也可能会随之而发生变化。

如果你不能够适应变化,项目的最终价值可能会受到影响,或者可能会使项目失去价值。因此,你需要具备在项目进行的过程当中根据需要作出改变的能力。如果项目经理不能够在项目进行过程当中积极的对变化进行管理,问题可能就会随之而来。任何项目都应该有一个有效的变化管理流程。这个流程应该包括对变化的识别判断,对变化的商业价值的判断,对变化会给项目带来的冲击和影响的判断,将相应的信息提交项目投资人进行评估。项目投资人来最终决定是否将变化引入到项目当中。如果变化被引入项目,项目投资人还应该考虑变化对项目的影响程度,并且为之配备相应的额外资源,如延长时间和追加资金预算等。

分享到: