软件开发工作的绩效评估

从事着管理软件开发相关的工作若干年头,服务过的企业也不少,或在实业型大公司的信息部,或大中型科技公司、或创业型软件公司,也有自己组团队从事外包项目的开发工作经验,全部过程都围绕着软件项目设计开发、实施和软件团队管理主题开展工作。当所学专业本身也有大部分的管理学成份。所以就以经验总结一下软件技术和团队管理交集之一的内容,软件开发工作的绩效评估办法。

对软件开发团队管理工作,很大一部分都是围绕着绩效相关的工作进行着,计划、组织、协调、控制,工作指派、周报、工作日志、交付成果、工作考核等等内容。与其它管理目标一样,绩效管理也是提高业绩的重要内容,但其直接的目标是提升企业成员工作主动性与积极性,是影响企业人员主动性与积极性发挥最直接最关键的因素。

绩效管理一般有两种,一种是激励型绩效管理,侧重于激发员工的工作积极性,比较适用于成长期的企业。另一类是管控型绩效管理,侧重于规范员工的工作行为,比较适用于成熟期的企业。或者二者结合的方式。激励型绩效除公司规范的一些管理制度外,管理者所用的软办法同样有效果,如一段时间的成果奖励,人文关怀,目标激励法,适当赞美等。激励型更多的依靠管理者个人经验与个人魅力,更合适于初创型中小公司团队。

对于管控型,关键的工作是在企业成长过程中逐步量化绩效指标,遵循SWAT原则,实行KPI考核。比如计件、计时,订单考核等。

软件开发的绩效指标量化目前没有规范和标准参照,本文从长期从事IT管理实践中总结出一些软件开发团队绩效管理的一些常用办法,起到了非常大的效果。

如果以项目为对象,其实绩效评估还算比较简单,以项目的投入和产出比即是。投入为人工时*单价,产出即是开发成果在项目合同价的占比即是。当然,一部分项目的价值体现在对业务的拓展,可能项目本身的产出不多,但对市场的开拓有很大促进作用,这个暂且不放到项目绩效本身来介绍,是公司经营绩效的范畴。而项目的过程管控是项目管理的范畴,那是另一层面要介绍的内容。

本文中重点是介绍项目团队内部对开发人员的绩效管理,一个项目组当然是要配置多个角色的,大型项目更是要标配,至于小项目,一般两种做法,一人多岗或一岗跨多项目,当然如果条件允许还是推荐后,显得专业不是,且项目成员也没这么累,当然得靠项目经理的协调水平。

软件开发团队基本角色包括项目经理、 技术经理(架构师)、系统分析(员)师、开发(编写)人员、测试人员QC、运维人员,其中这些岗位可以按实际情况一人跨多岗自由组合,比较长见的,项目经理与系统分析为一岗,测试与QC为一岗,架构与高级开发为一岗,但原则上,开发与测试要分开,分析与开发也要分开。

每个角色有每个角色的绩效指标和评估的方式。跟据各角色的职责和产出可以适当量化工作目标。当然总体可以从任务的完成进度、质量和成本三个层面去反应。所有的任务都反映到工作量和产值,工作量=该岗位一个标准水平的人工日,*标准水平的人工价。

本文突出介绍开发人员角色,关注的绩效因素包括进度、质量、完成工作量、难度系数几项。一般两种办法,一是对每周的工作计划任务考核,对工作任务从完成率、质量合格率,难度系数,然后按月求平均值。二是给项目的每项任务评估工作量和产值,按项目计划下达工作任务并分配到个人,考察任务负责人对任务的完成率和质量合格率,进度和成本都可以计算出来,难度系数可以作为工作量的一个计算因子。工作量=标准人工日*难度系数;产值 =工作量*单价。公司人事部依据工作的完成率,质量合格率进行打分,再合并分值加减项得出最终得分,对应到绩效考核等级区间,以此来计算每月度的绩效工资。当然激励型绩效就要具体问题具体对待了。

关键是对任务工作量的评估,软件项目没有工程定额,实际上依旧要靠项目经理的个人经验进行评估,关于任务工作量的评估,将在后面的博文《关于软件开发项目工作量的评估方法》进行展开介绍。关于质量,可以从代码规范情况、BUG率、运行性能方面考察,一般都从测试报告,用户满意度几方面考察,现在企业内部,开发质量考核到个人的还比较少,基本都是项目级别的质量考核。

    到此,我们总结一下,软件开发团队内部绩效的评估主要过程:按项目计划分解任务,给任务评估工作量,将任务按工作计划安排到人,以开发人员工作完成率和完成质量来考察,难度系数是一个很重要指标,但可以作为工作量计算因子,难度系统目前由公司的技术积累和个人经验得出综合平价值。

        后续博文技术关注,信息化手法和系统层面管理绩效,产值法和积分制。

你可能感兴趣的:(项目管理者)