UML软件工程组织 |
给项目管理一双慧眼 |
作者:张扬 发布时间: 2002-9-9 15:39:36 |
在诸多招聘广告中,经常可以看见一些IT软件企业或集成商对他们的技术部门经理或者项目经理是这样要求的:
有XX行业X年软件开发经验 正因为这样,项目管理资质认证成为继MBA之后的一大热点,许多媒体纷纷刊登有关项目管理资质认证的各种利好信息,大有项目管理资质认证是解决一切项目问题之灵丹妙药。其实,专业的项目管理是保障项目成功实施的关键因素之一,但并不是唯一因素,就象股份制只是使企业的所有制趋于合理化,但股份制并不能保证企业的经营一定能获得良好的经济效益。 虽然国内众多IT企业都开始重视项目管理,也积极的让员工们参加各种项目管理的培训,但是在实际的项目执行中,往往还是会出现许多不尽如人意的情况,或者可以说,在注意项目管理后,许多项目的执行效率并没有得到实质性的提高。或许,我们需要一双慧眼来仔细看看项目管理领域里存在的诸多关键点。 一、项目管理的理论、方法和工具 首先需要认清的是项目管理的理论、方法和工具的区别以及相互关系。 有不少人接受了一些关于项目管理培训,或者阅读了一些关于项目管理的书籍,他们基本上就知道项目管理需要制定计划,需要进行跟踪和监控,也了解项目管理包含哪些内容,比如说质量管理、变化管理、风险管理、合同管理等等。但是,当他们真正在一个项目中去进行项目管理,却仍然会感到无从下手,无法通过执行项目管理的活动让项目沿着正确的方向前进。 之所以出现这样的情况,是因为他们所掌握的往往还只是项目管理的理论,但却还没有掌握项目管理的方法。而理论的可操作性往往很弱,因此出现这样的情况也是非常正常的。用一句话说,掌握理论只是知道了“What”,但还不知道“How”。 而方法会告诉你应该如何去做,它解决了“How”的问题,比如说,项目管理分成几个阶段?每个阶段又包含哪些活动?这些活动的执行顺序是什么?这些活动之间的关系是什么?这些活动产生哪些计划?诸如此类等等。这样就具有很强的可操作性。但遗憾的是许多培训或者书本,都还是保持在理论的层次。 在日常工作中,经常会听到这样一句话“计划不如变化快”。甚至有人会拿这句话做为挡箭牌,拒绝进行积极的项目管理。实际上,没有一个项目可以在执行中完全遵守一开始制定的计划,尤其是在计划制定得非常详细的情况下。项目的执行过程中肯定会随时发生各种变化的,因此在进行项目管理时,是一定要对项目进行监督和控制的,并设定一些节点根据项目的进展对项目计划进行必要的调整;另外,在制定项目计划时,还应该注意根据项目的规模和时间,从粗到细制定详细程度不同的计划,以保证计划的指导作用和有效性。象这样的情况,都是要有方法才可以解决的。出现问题,并不是“进行项目管理”的理念不对,而是没有找到合适的方法。 在日常工作中,还常听到有人说:“以后我们要加强项目管理,使用××软件进行项目管理。”他们不但用软件做出了计划,也产生了甘特图和关键路径图等等,但是实际的工作往往和他们所做出的计划有很大差异,项目管理成效依然甚微。在这种情况下,他们所犯的错误通常是以为有了工具,就可以解决一切问题,而其实他们并没有项目管理方法。实际上,工具是基于方法的,需要和方法相结合。使用工具是为了更好的贯彻方法,如果没有相适应的方法,使用工具甚至会产生负面的效果。 因此,在具体项目实施中,一定要有清楚的项目管理方法,才可能用好工具;同时也必须注意到所选择的工具和采用的项目管理方法是相匹配的,因为并不是所有的项目管理软件都会适用于所有的项目,应该基于项目管理的特定需要选择某个项目管理软件,就象ERP系统实际上体现着某种企业管理的理念,每个企业在选择ERP时都需要密切关注隐藏在它背后的企业管理方法,而不只是它需要的技术支撑平台是什么?它的实施需要几个人月? 二、项目管理方法和项目实施方法 其次,也必须看到,在一个项目的执行过程中还同时需要两种方法:项目管理方法和项目实施方法。 项目管理方法是关于如何进行项目管理的方法,是可在大部分项目中应用的方法。而项目实施方法指的是在项目实施中为完成确定的目标如某个应用软件的开发而采用的技术方法。项目实施方法所能适用的项目范围会更窄些,通常只能适用于某一类具有共同属性的项目。而在有的企业里,常常把项目管理方法和项目实施方法结合在一起,因为他们做的项目基本是属于同一种类型的。 实际上,只要愿意,做任何一件事情,我们都可以找到相应的方法,项目实施也是一样。以IT行业的各种项目为例,常见的IT项目按照其属性可以分成系统集成、应用软件开发和应用软件客户化等,当然,也可以把系统集成和应用软件开发再分解成一些具备不同特性的项目。系统集成和应用软件开发的方法很显然是不一样的,比如说:系统集成的生命周期可能会分解为了解需求、确定系统组成、签订合同、购买设备、准备环境、安装设备、调试设备、验收等阶段;而应用软件的开发可能会因为采用的方法不同而分解成不同的阶段,比如说采用传统开发方法、原型法和增量法就有所区别,传统的应用软件开发的生命周期可能分解成:了解需求、分析需求、设计、编码、测试、发布等阶段。 至于项目管理,可以分成三个阶段:起始阶段,执行阶段和结束阶段。其中,起始阶段是为整个项目准备资源和制定各种计划,执行阶段是监督和指导项目的实施、完善各种计划并最终完成项目的目标,而结束阶段是对项目进行总结及各种善后工作。 那么,项目管理方法和项目实施方法的关系是什么呢?简单的说,项目管理方法是为项目实施方法得到有效执行提供保障的。如果站在生命周期的角度看,项目实施的生命周期则是在项目管理的起始阶段和执行阶段,至于项目实施生命周期中的阶段分布是如何对应项目管理的这两个阶段,则视不同项目实施方法而不同。下图是一个简单说明。 项目管理方法和项目实施方法对项目的成功都是有重要意义的,两者是相辅相成的,就如管理人员和业务技术人员对于企业经营的意义一样。 从客户的角度看,如果希望得到有保障的产品或服务,那就既需要关注提供产品或服务的企业是否有恰当的项目管理方法和项目实施方法,也必须尊重该企业的方法。 三、 项目管理和项目的目标 有了合适的方法,还要清楚项目的目标,才能有针对性的进行项目管理。项目的目标是指项目做完后能够支持客户如何运作业务,或者客户可以获得具备哪些功能的产品等。 在项目的实际执行过程中,客户方和项目执行方往往很容易产生争执,出现“先君子,后小人”的情况:开始时大家都是一团和气,或项目执行方为了获得项目合同,先是猛拍胸脯保证没问题,只要是客户方的要求就承诺一定实现。但随着项目的进展,才发现双方的期望有着不小的难以弥补的差距。 这种现象的原因就是项目双方并没有定义清晰的、可实现的项目目标,换句话说,双方并没有真正在项目目标上达成彼此认可的一致。这样就很可能出现不了双赢的局面,要么是最后产生的结果不是客户需要的,要么是客户不断的修改需求,导致项目的进度和质量受影响。项目目标既是客户期望的体现,也是项目执行方期望的体现,因此它们应该是清晰的和可实现的。 从另一方面讲,项目目标的实现是要受到一定制约的,那就是它应该在确定时间和财务预算内实现。有一些目标并不是不能实现,而是实现的代价太高,或者不能满足进度的要求。这也是在项目实施中需要注意的。 同时,清楚的目标也是界定项目是否成功的客观标准,是对项目进行验收和质量管理的重要依据。设定清楚的项目目标,在某种程度上也会让执行项目的IT人员更清楚要做什么,因为在一些项目中,往往会出现片面追求技术的先进和完美,而忽视项目的结果是为谁服务的。因此,为了保证项目双方能够在项目执行过程中愉快有效合作,保证项目的成功执行,双方都应该注意尽快在项目实施初期定义清楚的目标。 四、 项目管理与体系结构 “体系结构”这个词语来自英文单词“Architecture”,在计算机行业中也有译为“系统结构”,许多行业都用到这个单词。对于一台计算机而言,它所关注的是如何合理的利用合适的软件、硬件和固件来构造计算机,使之能够以最好的性能价格比完成用户所需要的任务。之所以特别提出“体系结构”,主要有三方面的原因:一个是IT应用范围的扩大;一个是IT系统的复杂性和产品多样性;一个是软件技术的发展。 随着IT技术的发展,以及人们对IT技术的理解和掌握,IT在各行业的应用都日渐的发展和成熟,越来越多的行业和人员都在利用IT技术提高他们的业务运作效率,也就产生越来越多的应用型项目。尤其是IT 应用发展到现在,一个IT系统所覆盖的范围日益扩大(范围包括最终用户数量、部门数量、地理分布等),比较常见的大型IT项目是一些新用户希望在一个高起点上构建一个覆盖多个业务部门的完整的新IT系统,或者一些用户希望在原有分散的IT系统基础上进行整合,从而构建成一个完整的IT系统。 对于这样的大型项目,它们所覆盖的业务部门很多,彼此的业务功能差异比较大但又存在相当的联系,也就是说应用软件的功能会比较多,且相互之间存在着一定关联;而与之相适应的是应用软件技术也发生了变化,多层结构、对象技术和组件技术等得到日益广泛的应用,这就意味着必须对应用软件的体系结构进行全面的分析设计如层次如何划分、组件如何划分等,才有可能产生一个较完善的应用软件系统以满足最终用户的复杂需求。 同时从IT系统的基础设施来看,其使用的产品也是多种多样的,从服务器级的系统平台、网络平台到客户端等,有功能的差异,也有性能的差异,甚至还有采用异构技术实现的。如何让这些产品构成一个和谐完整的系统为客户提供方便、快捷的服务,就需要站在整个IT系统的高度上进行完整的分析设计,定义整个IT系统的组成内容,每个组成部分的功能和性能,相互之间如何进行数据交换。 如果没有清楚的体系结构观念,在项目实施中往往会出现这样的情况:客户今天说需要这样的功能,项目人员就按照客户的要求实现了;客户明天再提出新的功能,项目人员也实现了。这看起来很简单,“简单就是美”——客户也会感到很满意,可是随着项目的进展,情况就不那么美了,客户开始发现“这两个部分怎么不能连接”,进而提出要修改想法,甚至要求重新来过。整个项目实施就可能会出现“边施工,边设计”的情况,在这种情况下,项目的进度和开销就很难有效控制,项目的资源可能被极大的浪费,而质量能否得到保证则存在很大的风险。 在体系结构清楚的基础上,项目管理人员就可以根据一定的优先次序关系组织资源去建设IT系统的各个组成部分,从而保证项目的顺利实施,而不致于出现“停工待料”甚至是“推倒重来”的局面。因此,在一个合理的项目组织机构中,必须保证项目经理和体系结构设计师的有效配合。 五、 ISO9000、CMM与项目管理 从90年代中后期开始,众多的IT企业象其它传统企业一样,开始关注国际标准组织颁布的ISO9000标准系列,并有不少企业通过了ISO9000认证。2000年后,国内大部分从事软件开发的IT企业开始和国际接轨,重视CMM认证,并有许多企业走上CMM认证之路。这是非常好的一个现象,说明我们的观念和意识在提高,在一定程度上意味着未来更加光明。但是也出现有的企业为认证而认证,而对于它们的客户来讲,所得到的产品或者服务并没有因为这些企业通过某项认证而得到更好的质量保证。 为什么会这样呢?其中很重要的一点是大家并没有完全认识清楚ISO9000、CMM和项目管理、项目实施的相互关系,或者是不愿意承认这种关系。ISO9000针对质量保证和管理,而项目管理要考核的指标包括了时间(或进度)、成本、资源和质量,它不仅有质量管理,还包含了变化管理、风险管理、合同管理等,当然这些专项管理内容和质量管理是相辅相成的,或者说这些专项管理都是在为质量服务的(有时质量的范畴会被尽可能的扩大)。项目管理必然包含质量管理,而ISO9000标准并无法完全代替项目管理。 ISO9000是面向绝大多数企业的质量标准体系,是具有通用性的质量保证和管理标准,也因此它对某些行业可能缺乏针对性。虽然它也提出和软件开发有关的指南,但从总的来看制造业最容易按照ISO9000标准实施。对于制造业和IT企业(软件、集成),它们都需要质量体系,但是它们的质量指标并不完全相同,甚至可以说绝大部分是不同的。当然,如果在未来的某一天软件和系统集成的技术方法真的发展到很完善就象工厂中的流水线一样,那么ISO9000类似的质量标准对软件和系统集成的衡量就很有意义了。 IT企业通过ISO9000认证,这个体系一定要和项目实施方法密切结合。从ISO9000的发展历程我们或许可以看出,质量管理方法的完善在时间上是落后于项目实施方法(对于制造业,应该是产品的研发和生产方法)的完善的,因为要进行质量管理,必须清楚要管理的质量指标项和相应的衡量标准,而这些都必须在积累一定的开发生产经验后才能提出和完善。因此对于IT企业来讲,要有很好的质量保证,必须有相对清楚合理的项目实施方法,才有可能把ISO9000标准真正贯彻到项目中,没有项目实施方法,全面贯彻ISO9000标准是不切实际的。当然,这并不是说在没有清楚合理的项目实施方法之前不能接触ISO9000标准,不能应用ISO9000标准。如果在起步阶段就开始接触ISO9000标准,应该说会更有可能以全面的眼光去看待项目的实施以及项目管理和落实项目质量保证,也更有可能逐步去完善项目管理方法和贯彻ISO9000标准。 至于CMM,则是侧重于对企业的软件过程和软件能力的评估评价,它提供的是一个软件过程改进的框架,这个框架与软件开发的生命周期无关,更与项目管理的生命周期无关,因此它并不是企业可以直接采纳的软件开发方法和项目管理方法。CMM做为一个指南能够帮助软件企业选择、采纳和合理使用一些先进的软件项目管理方法和软件开发方法,并在实践活动中不断提高和完善,从而极大程度地提高企业按计划的时间和成本提交有质量保证的软件产品的能力。如果一个企业真正达到CMM第四级,那么它的软件开发方法和软件项目管理方法应该是相当成熟的。 六、结合实情逐步落实 完整的项目管理还包括一系列专题管理,如:质量管理、变化管理、风险管理、财务(或成本)管理等。这些专题管理并不完全停留在项目范畴内,它们的实施要依赖企业内部诸多相关部门的配合,如果一开始就准备在项目实施中进行全面的项目管理(包括诸多专题管理),会存在相当大的难度,因为很多企业的内部运作还不足以支撑这样的全面项目管理,而且大部分人员也不可能在一开始就能全部领会这么多的内容。“罗马,不是一天建成的。” 在推广项目管理的过程中,经常会出现这样的情况,有的人会委婉的提出意见:“你提出的这种项目管理观念非常好,我也觉得应该这样去做,可是我又感觉好像太理想化了”,或者“太理论化了”等等。也就是说,对于他们,思想上接受了,但行动上却很难真正执行,思想和行动总是存在一定的距离。 项目管理对于很多人来说是一个新事物,观念上接受它就需要时间,更何况是在行动上完全采纳。应该承认的是,引进项目管理,无论是对于企业,还是员工,都是一种变化。但是,这种变化对个体来说是必须的,而对整个行业来说则是必然的。 要让项目管理真正进入实际业务运作中,应该结合实情逐步落实项目管理理论中的各项内容。比较合适的步骤是:第一阶段,先进行一般意义上的项目管理,做到可以清楚的定义项目的目标、范围及工作成果等,在这个阶段应该确保对项目管理方法和项目实施方法及体系结构有清楚的认识和理解,并掌握适当的项目管理工具;第二阶段,全面实施质量管理;第三阶段,全面实施变化管理、风险管理以及财务管理。 接下来,制定一个计划,把“实施和推广项目管理方法”做为一个项目去执行和管理,一步一步去做,就会获得成功的。开始吧! 本文由作者向AMT提供 http://www.amteam.org/web/docs/BDDo...&Noheader=1&ID={094841DE-435F-4256-9968-22ECFAC4DD64}
|
版权所有:UML软件工程组织 |