开发者驱动的公司文化
软件开发人员的绩效管理
绩效考核应以下4个方面来评定:
技术复杂度 + 所花费的时间(OT时间一定要算) + 加权调整 + 意外加分项(如提前完成,有创新思路)一个任务从一开始被提出,首先要经过项目经理的评定,从而得出初步的 技术复杂度级别,开发花费时间,任务紧急程序。
然后再和真正实施的研发人员与会讨论后,二次调整技术复杂度,开发花费时间。 如一个任务要求在3天内完成,则评定为:
技术复杂度(5) 花费时间(5) 优先权(5) 加分选项(5) 4 5 5 -
软件公司的内部消耗和激励
团队合作,讲究团队的整体效率,不能因为某个个人环节影响整个流程的前进。
这里的内部消耗就是这种个人影响,包括了知识传递,工作传递和工作委派。
以周或月为单位进行座谈会(谈想法,谈建议,谈行动,谈激情) 鼓励每个开发人员在工作中寻找搭档,协同帮助。 不要求个人英雄主义,设置个人解决问题的时限,如果超过时限,就需要寻找别人的协助,共同来解决问题 可以设置临时的项目小组,共同进退,同甘共苦面对面交流,背靠背做事,体现了沟通和信任之间的平衡。
软件开发人员的奖罚制度
员工是个有思想,有个人活动的自由体,他是雇员,同时也是主体。
你不要指望他能够一天8小时都能够全心全意只为你工作,这是不现实的,但有办法减少浪费的时间。
给予员工合理的自由时间,如20%时间策略,鼓励员工创新,学习和分享,并获取一定的奖励。
以鼓励创新,自我提高,物质精神的奖励为主,辅于过错惩罚制度。前提要有细分责任的规章制度,奖罚有依据
慎重处理惩罚所得的款项也是关键,建议作为团队的基金,勿入私人腰包
如何降低员工流动带来的风险
员工的流动是个双面刀,老员工的离走会影响士气,也会影响工作的进度,但是新员工的到来也会带来新鲜的思想和活力。
“问渠哪得清如许,为有源头活水来”,这里我要引申开去,谈谈如何看待老员工的视点。
个人认为,“老员工”这个称呼应该被“最有价值员工”称号所取代,“老”本身就代表了一种资历,一种认可,但也有倚老卖老,固步自封的风险,这对一个公司而言,带来的危害远远大于认可的本身。
所以,并不是所有老员工都是优秀的,要通过细致的人品观察和业务能力考评,选取优秀的员工成为公司的主力,评选为“最有价值员工”,激励员工的奋斗激情。而表现不佳的员工则在末位淘汰制下被公司抛弃,形成正常的新陈代谢。
员工的文档保存和知识传递
使用合适的工具来保存员工的资料。包括
私人档案(除了本人,任何人都不能查看,只是备份所用) 公开的文档(指与工作相关的各种资料,利于快速的交接和协助) 工作中的知识积累和心得体会的整理推荐的工具有:文档服务器(集中权限管理),wiki(角色和权限分配)
员工的技能自我提高和促进
团队也尝试超越单纯的工作项目环境进行合作,用一些不同的活动方式:
每月演示日:定期举办讲座,分享工作中的收获,要求有主题,有要点,有应用场景,最好有实例。 每周开发者谈话:所有开发者会面共享新的技术,谈论他们面对的问题,或者任何别的他们正思考的东西 通过邮件的形式,做为最新的资讯的传递,做到一人关注,大家受益。 订阅报刊,杂志等纸质书籍,了解最新动态。 以部门为单位,配置一定的购书津贴。
软件开发环境的三大规则
使用源码控制 (svn / git ) 使用单步创建 (简单原型+功能叠加) 跟踪程序缺陷 (mantis)当然,不去应用这三条简单的规则也是可行的,仍然可以产出可用的产品,具体的做事原则取决于所选择的特定的开发方法理论。
但这三条规则能够帮助你避开小规模应用程序迁移到大型程序时常常遇到的问题,并且帮助你更快的完成这个迁移过程。
软件开发良好的程序设计
可验证的代码测试框架(UnitTest,Debug) 快速变更环境变量的能力(hosts,global文件) 事先定义好读写分离的变量和类库 选用稳定易用高效的MVC开发框架 质疑性能瓶颈的程序片断及代码的优化改进 不拘于程序本身的语言限制,善用其它工具,Mashup混合架构是将来的趋势
健康的开发者文化
“避免拿来主义”:有些企业赶项目,不差钱,很喜欢招拿来就用的工程师,觉得很爽,用完了就扔,其实这不利于公司技术的沉淀,对工程师来说也是赤裸裸的压榨;真正优秀的企业是有能力在一定时期内把潜力员工培养成匹配岗位的人才,让员工实现了自我价值,同时也让公司不必纠结于人才的短缺。 “避免价值缩水”:一些老员工随着公司业务的增长,辛苦工作在一线,实在没有时间和精力再应对更大的挑战,这时候,领导会说,你赶紧招人吧,请注意,这时候其实意昧着你的价值开始缩水,如果你招人作下手,只是帮你把工作分摊出去,你还是公司的天花板和单点故障;正确的做法,把自己放在一个培养新人的管理角色,鼓励新人们去尝新和处理故障,增加自身的技能和实战经验,相信他们会持续不断创造惊喜;而你呢,提前准备最新知识的研究和可行性分析,整理成文档作公开培训,再交给团队去深入研究和实施,转化成生产力,积累一线经验再反馈完善文档,良性循环; “避免纠结员工成本”: 不必过分纠结于员工的薪资偏高或者偏低,正确衡量员工的价值是制定合理的“投入产出比”,利用“OKR/KPI指标”来实现价格杠杆,如销售KPI是新客户成交提成;客服是续费客户成交率;市场公关是引入客户的数量;