谈谈对软件项目成员的业绩考核

项目经理:是否实现了公司的战略目标,或者项目目标. 具体的目标,一般是用利润来衡量,项目的合同价格主要由销售部门来谈,项目经理必须准确的计算成本来配合报价,并且在项目过程中控制成本。有的时候利润并不是优先目标,其他可能的目标是:赢得客户;打响品牌;锻炼队伍等,如果你以打响品牌为第一目标,那你就要严格控制质量,不太考虑成本和利润。公司可以把若干目标按优先顺序列出,项目经理能实现前几个即为成功,如果全部实现,那此项目经理就很了不起了。

需求分析师:项目实施后客户对需求变更的多少,变更越少,需求分析师业绩越好。需求分析师的工作对项目成败有极大的影响,它对人的要求很高,比如沟通能力,对业务的熟悉程度和判断能力(潜在需求),对客户组织(谁说了算)/人员(性格等)的掌握程度,对系统运行环境的了解等。

系统架构师:项目整个过程的架构保持不变,如果有变化,那么架构师的工作即为失败。系统架构基于需求分析的结果,所以有时候架构更改要归咎于需求分析师。其实目前软件架构的资料信息很多,基本上都是知识,创新的机会不多,像David H.Hansson不满web开发的烦琐,创建了Rails on Ruby的例子属于极少数,我们多数都选择成熟的框架和技术。架构师需要有广泛的知识和长期的经验。并且能追踪软件技术的最新发展。

系统设计师:项目实施后维护开发(针对新需求)工作量的多少,改动越少,设计师的业绩越好。设计师的工作是项目中最具创新潜力的部分,精妙的模型,算法开发,公司的核心技术都来源于此处,不同设计师的工作成果可能是天上地下,当然了,缺少巧妙设计的软件系统也可以跑,但后续的维护开发必定会成为一个成本黑洞。

软件开发师:软件的bug数量和修复bug的时间以及bug的严重程度,公司可以有一个公式来量化这些指标。软件开发师的工作是项目质量的基本保证,软件系统最终要在这里变成成品。很多时候软件开发师也兼着设计工作,那么他们的重要性就更大了,好的开发人员多数是好的设计人员,因为写代码本身也是在做设计。

测试工程师:软件实施后bug的数量和严重程度。考核开发人员和测试人员都用了bug指标,但这些bug应该是独立计算的。这里bug是广义的,比如压力测试不过关,也算一严重的bug。

最后是架构/设计/开发/测试的反复,这里情况比较复杂,比如代码质量低下造成测试人员工作量的剧增,测试人员是比较冤枉的,这里就需要项目经理的智慧了,具体情况具体分析,对项目经理的要求是全面的,项目经理需要对团队士气负责,要知道,软件开发是智力活(体力活的观点非常错误),人的因素最重要。

项目经理负责真实而准确的记录项目所有数据,这是业绩考核的根据,他必须做到公平、公正、公开!

Contributors: FHL