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

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

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

  涉及的项目团队是指中小规模的软件开发团队,团队成员人数在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认证的环境下,重视绩效的意义也就不言而喻了。