UML软件工程组织

让项目经理左右逢源(上)
王鸿 选自:e-works

编者按:随着产业的发展和竞争的加剧,计算机软件开发的规模和复杂度日益加大,时间要求愈来愈严格,软件企业逐渐从“软件作坊”向“软件工厂”转变,这引起了人们对软件开发理念、开发团队管理方式、人员角色定位等一系列问题的重新认识。

种种问题之中,项目经理的角色定位是讨论的热点。项目经理的工作目标是什么?项目经理应该对谁负责?项目经理在工作中应当获得怎样的授权?什么样的人适合做项目经理?这些问题的回答“仁者见仁、智者见智”。在此,笔者总结了一些看法,和大家一起交流。

为了保证讨论的针对性和可操作性,我们不妨先预设讨论的前提为:

涉及的项目团队是指中小规模的软件开发团队,团队成员人数在6~30人之间;
 团队管理不属于“软件作坊”方式;
 团队目标是完成具体应用或者开发商业产品,而非科研课题;
 软件工程思想主要采用传统的软件工程思想,而非“敏捷”型软件工程思想(例如极限编程方法等)。

项目经理做什么?

项目经理的工作目标是什么?要回答这个问题,首先必须弄明白什么是项目。关于项目的定义很多,其中以项目管理专家James P.lewis(美)的说法比较有代表性:项目是一次性、多任务的工作,具有明确规定的开始和结束日期、特定的工作范围、预算和要达到的特定性能水平。这里涉及到了4个要素:P——预期的绩效,C——费用(成本),T——时间进度,S——指定的工作范围。这4个要素相互关联、相互影响。如果C只考虑人力费用,在理想情况下,这4个要素可以使用以下数学表达式:

C=2P+3T+4S

这可以用一个三角形来形象说明:绩效、费用和时间是三角形的边,范围是三角形的面积(如图1)。通常的项目金三角理论(如图2)中,项目管理集中考虑的因素是R(资源)、C(费用)、T(时间/进度)、S(特色/范围)。与之比较,这里的定义在其基础上着重提出了P(绩效)。在软件公司纷纷进行ISO 9000认证和CMM认证的环境下,重视绩效的意义也就不言而喻了。

了解了项目的含义,那什么是项目管理呢?项目管理是为完成一个预定的目标,而对任务和资源进行计划、组织和管理的过程,通常需要满足时间、资源或成本方面的限制。换句话说,项目管理也就是对与项目密切相关的绩效(P)、时间进度(T)、费用成本(C)、范围(S)进行管理控制的过程。

总之,项目经理是运用一定的方法和工具对项目进行实际项目管理的人。简单地说,项目经理就是项目的实际控制者。他的工作目标就是成功地对项目的PTCS进行管理。

对谁负责?

项目经理应该向谁负责?有人说应该向所在公司负责,因为其属于公司直接管理;有人说应该向客户负责,因为项目是为客户服务的;也有人说要向项目综合利益负责,因为项目涉及到各个方面,项目经理偏重那方都不对。哪个说法更准确?这先要弄清楚项目关系人这个概念。

项目关系人也可以称为项目风险承担者,是在项目中有既得利益或者与项目有直接关系的所有法人和个人。这包含项目贡献者、项目管理者、供应商、项目投资方、客户等。这些人或者直接推动项目的进展,或者给项目提供各种援助,或者最终对项目进行评价验收。项目经理要达到工作目标,完成项目,这些人的积极参与是根本保证。可以说,项目经理实际控制的项目的权力虽然是由其所在的公司直接授予的,但最终是来源于这些项目关系人的。

可以这样理解:尽管项目经理隶属于其所在的公司,他受公司的委任管理项目时必须要对公司的利益负责。但是,从其所管理的项目本身角度看,项目涉及的是多方的利益,必须要达到多方共赢的目标。项目经理必须在保证公司利益的同时,保证项目关系人其他各方的利益。否则,在推进项目的过程中,必然会受到其他各方的压力和阻挠,从而使项目徘徊不前,甚至走向失败。

可见,项目经理不仅仅需要向委任自己的公司“老板”负责,还必须向其他项目关系人负责。这也就是说,项目经理必须向代表所有项目关系人的综合利益负责。

这里有人也许会提出疑问:实际中的项目关系人都只注重各自的利益,例如:公司管理层、项目投资方注重的是最低成本、最大利润;客户注重以最低价格获得项目成果;项目成员注重的是在可接受的时间和成本范围内完成项目从而获得精神上的满足和经济上的回报。项目经理如何对这种相互矛盾的利益负责?

要回答这个问题必须探究项目管理目标的量化。一般来说,项目决定开始的重要前提之一是项目关系人对于项目的量化目标取得完全一致的意见。这里涉及的量化目标包含4个方面:一个量化的项目可交付结果列表(S);提交项目可交付结果列表必须满足的质量准则(P);确定项目最终完成以及中间里程碑的截止日期(T);项目不能够超过的成本限制。

 

版权所有:UML软件工程组织