小型软件公司的绩效考核

2023-11-11

 
  近几个月,我常和一些朋友讨论如何在小型软件公司中对软件开发人员进行绩效考核的问题,发现很多朋友都为此问题而烦恼。由于我正好在一家小型软件公司里负 责绩效考核工作,有一些成功的实践经验,所以特此在这里与大家交流一下我的心得。这些心得可能仅限于小型软件公司,因为某些方法只符合小型软件公司的特 点。如果你在一家大型软件企业里工作,那么这篇绩效考核的文章可能与你无关。

    我这里提及的小型软件公司是指50个人以下的公司。因为从工业和信息化部提供的软件企业数量以及从业人员数量来推算,50个人的软件公司应该算是小公司 了。而从《2007中国软件自主创新报告》里我们得知,在本土软件企业中,拥有50名员工以下的企业占60%。在这样的比例之下,解决如何搞好小型软件企 业的绩效考核,提高企业竞争力的问题相对于大型软件企业更具有社会意义。实际上,小型软件公司相对于大型软件公司,更缺乏的是绩效考核,或者说是缺乏可量 化的绩效考核方法。

组织模式

    首先,工作如何量化?这取决于公司的组织结构。不同的组织结构导致了不同的工作量化方式。小型软件公司一般是小项目/小组织的特点[1998年软件工程过 程改进小组(SEPG)会议对“小”做了定义。“小”被定义成“5个或更少的人进行为期3至4个月的开发” ],小型软件企业里十之八九都是项目型组织结构。比方说:A公司有15个工作人员,又有4个项目并行,最常见的就是分4拨人(每拨人包括项目经理、程序 员、测试员)。表面上每个项目都有一个责任明确的“包工头”,最高领导者很省心。其实不然,项目做下来省不了多少心。一会儿报告来不及做,一会儿报告说跳 槽了,一会儿客户来投诉质量太差。而且,这样的人力资源利用率是否最高呢?其实更不然,撇开每个项目经理管理的能力差异(项目经理管理能力差异很大导致团 队产出差异也很大)不提,每个项目组里的某段时期里中总有人空闲。我们企业改变这一现象的办法就是:把企业的组织模式改为职能型组织结构。这样一来,A公 司有15个工作人员,4个项目并行,也仅有一个团队。其中有1个职能经理,4个项目经理,3个测试人员,7个开发人员。对于团队负责人职能经理来讲,人力 资源的使用情况一目了然。

    有朋友提出:一个人在多个项目里“切换”,但人不是CPU ,不是多任务的,频繁切换(即使是一周换一个项目)会降低效率。可事实证明是可以“切换”的,甚至可以频繁到一个人一日多项目。就拿我们公司9月份来说, 有14名员工“切换”在12个项目里(有的项目还在继续中,其中3个是较大的项目),所以,毋庸置疑“切换”的可行性。实际上,在小型软件企业中推行职能 型组织管理,只需要改变一下领导者的管理理念和支撑的管理平台(后文中会有所提及)。

    职能型组织的特点就是提高人力资源的使用率,对缺乏人员的小型软件公司来讲这一点非常的重要。当然,职能型组织模式还有其他管理优势。职能型组织趋向于“ 机械式组织”,它有利于专业化管理,有利于组织稳定,有利于集权化和正规化。如果企业做的项目规模比较小,并且是以非创新技术为重点的项目,那么“机械式 组织”有利于创造高效率和低成本。

团队建设

    组织模式确定之后,接下来就是团队建设。首先,我们要定义工作角色。有了角色,职权就能定义了。通常的角色有项目经理,程序开发,数据库开发,测试,技术 支持等。由于采用的是职能型组织结构,所以项目经理的主要任务就是接受客户需求,进行设计和任务分解。项目经理对于项目的管理权利是非直接的,而是由职能 经理负责这方面的工作,由他来决定哪些人做哪些事情,并要求何时完成任务(真正的实权在握)。

开发流程

    我们从组织模式谈到团队建设(定义角色),而这些都是绩效考核的基础工作。接下来就是一个重点, A公司怎么依靠1个职能经理,把15个人、4个项目运作起来?这个问题首先涉及到开发流程。凡是搞软件开发的人都知道,开发流程大致分需求分析、设计,开 发、测试和部署环节。如果你在一家公司里,发现几个人包揽了全部环节,那么可以不用花力气搞绩效考核。因为公司所依仗的就是这些“牛人”,就像地方政府依 仗缴税大户一样,大都是免检。活生生的例子就是三鹿奶粉,由于它维持地方财政税收,自然是“免检产品” 。那么如果要施行考核制度,就必须分环节和引入竞争。要把那少数几个“牛人”干的活,分成多个人来做。这样做有几个好处,从企业管理的难易程度上讲,多个 人分工合作好于一个“牛人”独自做;从企业成本来讲,多个人的合计成本反而低于一个“牛人” ;从项目风险来讲,一个人一个项目的风险不言而喻;从个人工作强度来讲,专业分工更节省人力;从个人的职业发展来讲,做得更专业比做得泛泛的好。于是,这 样对于企业对于个人都有好处。

    有了角色分工就能和开发流程对应起来。比如,项目经理要完成需求和设计工作;开发人员要完成开发工作;测试和技术支持人员要完成测试和部署工作。那么,如 何把大家的工作贯穿起来?我们是通过任务单。设计人员必须完成含有设计说明,预估完成工时等信息的任务单。职能经理分派任务单给相应的开发人员和测试人 员。任务的分派过程由管理平台支持,职能经理基于这个平台,实现了职能型组织的管理。

    通过管理平台跟踪整个开发过程,管理者就可以统计方方面面的信息了,比如个人的能力系数,缺陷系数等等,到这里便可以开始真正的“绩效”了。那么具体都包 括哪些信息呢?针对设计人员角色有每月完成的任务单数、设计总工时、估计总工时、相应的开发总工时、相应的测试总工时、相应的测试总次数、相应的缺陷总 数、缺陷系数和周工作量系数等。职能经理可以通过设计总工时或者周工作量系数,来了解设计人员工作是否饱和,哪个人设计的缺陷比较多,哪个人效率比较高等 信息。举例,A公司的职能经理,他可以知道手下4个项目经理每月的工作情况(这里的项目经理,其实更应该称为设计人员,因为有的时候可能只有一个真正的项 目经理,另外三人在做设计工作)。数据累计一定量之后,便可以知道哪个人不能完成最低设计工作量,哪个人能力比较强了。

    设计完成之后,职能经理就可以派发任务单给开发人员了。设计人员对每个任务都有一个预估时间,对比开发人员的实际开发时间,可以得到一个能力系数。当然还 有很多其他信息,比如开发人员每月完成的任务单数、相应的估计总工时、开发总工时、测试总工时、测试总次数、缺陷总数、缺陷系数等等。其中仅能力系数和缺 陷系数两项指标就足够衡量一名开发人员了。另外,因公司而异,公司可能会有最低的开发工作量和缺陷率。通过统计,你会诧异的发现优秀的开发人员可比一般开 发人员高出一倍产量,同时只有1/4的缺陷。这里要插一句,团队中的“南郭先生”会立刻显露无遗,而优秀的开发人员可以站出来大呼加薪了。

    当开发完成之后,职能经理就可以派发任务项给测试人员了。因为有详细设计文档,测试人员只要按照文档进行测试,然后把缺陷编号录入到管理平台中。同样,管 理平台也可以评价测试人员的工作效率,比如每月所测的任务单总数、测试总工时、发现的缺陷数量等等。这样管理人员就能够了解测试工作量是否饱和,哪个人找 缺陷最拿手。

    有些朋友问到关于管理平台方面的事情,比如成本。其实绩效考核的的目的是为了建设一个公平竞争的环境,找出业务水平有待提高的员工,让优秀的员工有相应的 回报,让公司也能高效率的运作。对企业来讲,成本倒不是问题。因为采用了职能型组织之后,就会发现原来小公司内部还有那么多空闲时间(我们的管理平台就是 在空闲中完成的);另一方面,如果工作效率提高了,产量增加了,三个月就能收回开发成本。举例,我们公司执行之后的月开发量提高了179%,2个月的工作 量相当于之前3.5个月的工作量。

再谈考核

    我们一直在讲 “绩效”,还没有谈到“考核”。公司光有“绩效”没有“考核”是不能提高工作效率的。如何建立奖惩制度也是一门学问,不同公司做法不同。《论语》中谈 到:“名不正则言不顺;言不顺则事不成;事不成则礼乐不兴;礼乐不兴,则刑罚不中;刑罚不中,则民无所措手足”。这句话是告诉我们要如何做好绩效考核的。 首先要名正言顺,有了良好的舆论环境才能立项做事,才能建立工作流程;有了工作流程,才能有奖罚标准;有了奖罚标准,员工就知道怎么做才是正确的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

小型软件公司的绩效考核 的相关文章

  • 《软件调试的艺术》学习笔记——GDB使用技巧摘要(3)——程序崩溃处理

    程序为什么会崩溃 内存中的程序布局 当某个错误导致程序突然和异常地停止执行时 程序崩溃 迄今为止最为常见的导致程序崩溃的原因是试图在未经允许的情况下访问一个内存位置 硬件会感知这件事 并执行对操作系统的跳转 Unix系列的平台上 操作系统一
  • 从零开始写一个Javascript解析器

    最近在研究 AST 之前有一篇文章 面试官 你了解过 Babel 吗 写过 Babel 插件吗 答 没有 卒 为什么要去了解它 因为懂得 AST 真的可以为所欲为 简单点说 使用 Javascript 运行Javascript代码 这篇文章
  • 【Google测试之道】第三章 测试工程师

  • 并发测试工具 apache-jmeter使用发送post请求JSON数据

    目录 1 下载安装 2 汉化 3 创建高并发测试 配置线程组 创建web请求 创建监听器 结果树 汇总报告 为web请求添加token 添加Content Type用于发送json 4 启动测试 5 查看结果 1 下载安装 官网Apache
  • 立体电影

    立体电影 百科名片 1953年5月24日立体电影首次出现 为了把观众从电视夺回来 好莱坞推出了一种新玩艺儿 立体电影 戴着特殊眼镜的观众像在观看 布瓦那魔鬼 及 蜡屋 这类惊险片那样 发现自己躲在逃跑的火车及魔鬼的后面 从而为我们带入了立体
  • 黑盒测试用例设计--题目2

    1 根据下面给出的规格说明 进行测试用例的设计 一个程序读入3个整数 把这三个数值看作一个三角形的3条边的长度值 这个程序要打印出信息 说明这个三角形是普通的 是等腰的 还是等边的 测试用例 2 保险费率计算 某保险公司承担人寿保险 该公司
  • code style

    最近一直在看java convention和google c style 因为老板要提高代码质量 我们小公司一个 因为客户说我们的代码质量太烂了 于是开始搞代码质量 先从静态 代码质量开始 于是就研究起来code style 但是 我发现
  • 高效程序员的40个好习惯和行为方式

    每一个好的习惯 开头都会相应有一个唱反调的句子哦 1 做事 出了问题 第一重要的是确定元凶 找到那个人 一旦证实了是他的错误 就可以保证这样的问题永远也不会再发生了 指责不会修复bug 把矛头对准问题的解决办法 而不是人 这是真正有用处的正
  • wimax与anroid的困惑

    我要加入wimax组 研究wimax 但是 为什么是anroid平台呢 wimax和android有关系吗 我们是做wimax芯片的呀 难道wimax芯片上跑anroid系统 好像不太可能 经过分析 应该是xx公司要使用我们的wimax芯片
  • 【Excel】工作中会用到的excel操作和技巧

    最近入职培训 接受了一些企业文化的洗脑课 不过也有一些是很有实际应用的课程 比如excel操作和技巧 现将自己觉着很有用的地方总结如下 1 基础性操作与技巧 说在前面 一个好的工作表格 需要主要以下几点 首行首列要留白 外边框要加粗 字体字
  • 使用Minitab解决Excel的限制问题

    前两天 当我在做数据转置以期获得更好分析图形的时候 我碰到了传说中excel的限制 如图 在解决这个问题的过程中 我发现了用来做数据分析 比excel更好的工具Minitab 打开minitab 把纪录数据的Excel表以File gt O
  • 自动化测试——接口测试

    一 接口分类 1 内部接口 测试被测系统各个子模块之前的接口 或者测试被测系统提供给内部用户系统使用的接口 2 外部接口 被测系统调用外部的接口 系统对外提供的接口 接口测试重点 检查结论参数传递的正确性 输出结果的正确性及对各种异常情况的
  • 软件测试题目

    一 判断题 每题2分 20 1 软件测试就是为了验证软件功能实现的是否正确 是否完成既定目标的活动 所以软件测试在软件工程的后期才开始具体的工作 初级 2 发现错误多的模块 残留在模块中的错误也多 初级 3 测试人员在测试过程中发现一处问题
  • 描述性能测试工作中的完整过程?

    有简单接触 采用的工具是Jmeter 进行轻量级的压力测试 1 确定好压力测试的功能模块 首先用Jmeter录制脚本 然后对脚本进行优化 2 对一些数据进行参数化 利用CSV导入存在txt文档里面的数据 3 设计测试场景 4 执行压力测试
  • 使用SpringSecurity

    前几天写了一个SpringBoot对拦截器的使用 在实际项目中 对一些情况需要做一些安全验证 比如在没有登录的情况下访问特定的页面应该解释的拦截处理 这一篇介绍使用SpringSecurity来做简单的安全控制 由于SpringSecuri
  • 重命名文件或目录(renameTo)

    File or directory with old name File file new File oldname File or directory with new name File file2 new File newname R
  • 网管员牢记 10种较为常见的服务器管理错误

    网管员牢记 10种较为常见的服务器管理错误 网络管理阶层的工作就是保证网络的正常工作 从而使得职工们的工作不被打断 可问题在于事物并非总是按照理想状况发展 事实上经常会出现平地起风波的状况 其间有许多原因 这里我们只讨论10种较为常见的网管
  • 测试:性能测试

    一 性能测试 性能测试是一种评估软件 系统或服务在特定条件下性能的过程 性能测试有助于确定系统的响应时间 吞吐量 可扩展性 稳定性和资源消耗等关键指标 一 响应时间 响应时间 Response Time 是性能测试中的一个重要指标 用于衡量
  • 前端基础Vue项目中的插槽使用

    概念 简单理解就是组件内部留一个或多个的插槽位置 可供组件传对应的模板代码进去 插槽的出现 让组件变的更加灵活 1 匿名插槽 父组件
  • ASTM D6147测定压缩情况下硫化橡胶和热塑弹性体作用力衰减 (应力松弛) 的标准试验方法

    标准名称 ASTM D6147 Standard Test Method for Vulcanized Rubber and Thermoplastic Elastomer Determination of Force Decay Stre

随机推荐

  • 学习笔记之——Jacobian matrix(雅可比矩阵)

    在 斯坦福大学公开课 机器人学 视频课程中一开始就提到了Jacobian matrix的重要性 为此写下本学习笔记介绍雅可比矩阵 本博客的内容来自于网络的各种资料的总结 已经给出参考引用 本文仅作本人学习记录用 目录 定义 机器人关节 Jo
  • ubuntu系统matlab2021a安装及设置matlab快捷方式

    一 matlab安装 1 matlab2021a下载 迅雷下载地址 magnet xt urn btih EB1C3A0864431D21A342F09CC75831879CB0E374 tr http 3A 2F 2Fbt4 t ru o
  • diy手工制作泡沫小球_【手工】泡沫和彩纸就能diy超多款创意花球,孩子的毕业典礼正好用上!...

    原标题 手工 泡沫和彩纸就能diy超多款创意花球 孩子的毕业典礼正好用上 毕业季来啦 孩子即将毕业 当父母的你们去和孩子一起拍毕业照的时候准备了什么礼物呢 遥想当年还是学生的小爱老师 虽然毕业前就老吐槽说不要收花 真到毕业了还是忍不住俗气地
  • docker registry 搭建流程(含CA认证)

    docker registry 搭建 含CA认证 环境说明 终端 操作系统 其他 服务端 Centos7 IP 10 192 3 230 客户端A boot2docker IP 192 168 99 100 服务端配置 安装docker y
  • ttl计算机,如何利用生存时间值(TTL)来判断操作系统

    一 什么是TTL TTL Time To Live 生存时间 是IP协议包中的一个值 当我们使用Ping命令进行网络连通测试或者是测试网速的时候 本地计算机会向目的主机发送数据包 但是有 的数据包会因为一些特殊的原因不能正常传送到目的主机
  • nginx服务器搭建好但是浏览器却无法访问原因排查

    问题 1 查看ip地址 2 xshell中访问nginx服务器 curl 服务器地址 curl 172 17 199 190 出现如下界面说明服务器搭建完成 3 在浏览器输入该网址 但是却无法打开 问题一 nginx监听的端口是否被占用 查
  • Kbuild系统源码分析(四)—./scripts/Makefile.build

    版权声明 本文为CSDN博主 ashimida 的原创文章 遵循CC 4 0 BY SA版权协议 转载请附上原文出处链接及本声明 原文链接 https blog csdn net lidan113lidan article details
  • Machine Learning Park--EM(最大期望算法)

    9 EM算法 最大期望算法 在前面聚类的博客当中 我们简单的讲解过使用EM算法求解GMM模型的过程 这里我们对EM算法深入进行探讨 本文Github仓库已经同步文章与代码https github com Gary code Machine
  • android缓存面试,Android面试——Glide 的缓存原理

    Glide 内部是使用 LruCache 弱引用和硬盘缓存实现的 Glide 主要将缓存分为两块内存缓存和硬盘缓存 两种缓存的结合 构成了 Glide 缓存机制的核心 内存缓存skipMemoryCache true 默认是开始缓存的 如果
  • 【数据结构】二叉树、堆多图详解(TopK、堆排序)

    和光同尘 我的个人主页 应该在肩膀上长着自己的脑袋 弗拉基米尔 伊里奇 列宁 二叉树 堆的概念及应用 前言 1 数的概念及结构 1 1 树的概念 1 2 树的相关概念 1 3 数的表示 2 二叉树概念及结构 2 1 概念 2 2 特殊二叉树
  • keil_lic.exe注册机使用

    第一步 以管理员身份运行keil5 第二步 打开File中的License Management 第三步 复制CID 第四步 选择对应的Target为ARM 粘贴CID 复制生成的注册码 第五步 将注册码粘贴到这 就ok了
  • Android实现折叠式Toolbar:CollapsingToolbarLayout 使用教程与解析

    简介 在各种不同的应用中 大家可能会经常见到这样一个效果 Toolbar是透明的 有着一个背景图片以及大标题 随着页面向上滑动 其标题逐渐缩放到Toolbar上 而背景图片则在滑动到一定程度后变成了Toolbar的颜色 这种效果也即是折叠式
  • 类与类之间的关系图(Class Diagram,UML图)

    一 简介 二 类的构成 三 类之间的关系 Relationship 1 单向关联 2 双向关联 3 自身关联 4 多维关联 N ary Association 5 泛化 Generalization 6 依赖 Dependency 7 聚合
  • FlatBuffers

    概述 FlatBuffers是google最新针对游戏开发退出的高性能的跨平台序列化工具 目前已经支持C C Go Java JavaScript PHP and Python C和Ruby正在支持中 相对于json和Protocol Bu
  • 很有用的一些的Python小工具送给你

    导读 python作为越来越流行的一种编程语言 不仅仅是因为它语言简单 有许多现成的包可以直接调用 Python作为越来越流行的一种编程语言 不仅仅是因为它语言简单 有许多现成的包可以直接调用 python中还有大量的小工具 让你的pyth
  • Sql Server 日期函数

    1 一个月第一天的复制 保存Select DATEADD mm DATEDIFF mm 0 getdate 0 2 本周的星期一复制 保存Select DATEADD wk DATEDIFF wk 0 getdate 0 3 一年的第一天复
  • ceph存储 pg归置组处于stuck以及degraded状态解决方案

    由于对ceph的兴趣 我们经常自己搭建ceph集群 可能是单节点 也可能是多节点 但是经常遇到pg归置组异常状态 下面是遇到的一些情况 1 单节点的时候pg归置组unclean或者degraded 这个时候应该检查 自己是几个osd 副本数
  • BSC主网链搭建,如何在不到24小时之内同步完成?

    还是老样子 在本篇文档开始之前 大概说明一下本次BSC同步的情况 服务器环境 服务器 阿里云服务器 CPU 16核 内存 64 GB 数据盘 3T SSD 数据盘 带宽 独享 200M 区域 美国弗吉尼亚 软件环境 centos 7 9 B
  • jqGrid 常用方法和事件

    jqGrid 常用方法整理 常用方法 获取行数据 删除行数据 重新加载表格 动态设置列显示隐藏 常用事件 常用方法 获取行数据 div div 1 获取所有行数据 jqGrid getRowData 或者 var IDS jqGrid ge
  • 小型软件公司的绩效考核

    近几个月 我常和一些朋友讨论如何在小型软件公司中对软件开发人员进行绩效考核的问题 发现很多朋友都为此问题而烦恼 由于我正好在一家小型软件公司里负 责绩效考核工作 有一些成功的实践经验 所以特此在这里与大家交流一下我的心得 这些心得可能仅限于