细数软件研发效能的七宗罪

简介: 细数软件研发效能的七宗罪


之前写了两篇文章,分别介绍 “软件研发效能的负面清单”、“软件研发的十大浪费”,今天算是对软件研发效能的负面东西做一个总结,挖掘出背后的原因。从本质上看,都是人性的弱点,这些弱点成为软件研发效能的阻力,甚至把软件研发效能拖下水


一宗罪:自私

  • 为了自己升职或保自己的位置,希望自己的团队快速扩展,自己管的人越多越好,而不管效能是否低下;具体讨论,可以参考之前写的一篇文章:许多研发管理者并不想提升研发效能,这才是最大的问题!
  • 各人自扫门前雪,休管他人瓦上霜”,有些管理者,只关注自己一亩三分地,而不管全局利益,局部效能看似不错,但整体效能上不去,甚至会产生严重的冲突,1+1<2, 而不是1+1>2
  • 资源浪费:自己有好的资源(包括人力资源)、好的学习材料占为己有,而不会主动向大家喊:这里有好的资源、好材料,你们想用吗?
  • 缺少分享精神。做出好的设计、写出好的代码,从中获得的经验和启发不愿分享,甚至都不想让同事知道。


二宗罪:爱面子、虚荣心作祟

  • 形象工程:愿意花巨资建一个大屏幕,呈现一些漂亮的数字,如100%自动化测试率、100%版本构建成功率、每天发布10个版本、一次发布平均高达10个用户故事......但交付的质量如何?是不是用户想要的?用户满意度如何?一些关键的数据倒是没有;例如100%自动化测试率,而实际测试的投入成本居高不下,效能其实不高。
  • 追求好看的指标和有利于自己的解读:即使是相同的数据,看我们怎么解读,如果只是为了好看,就会有好的解读。而且想要什么就度量什么,如果只是想要好看,你就会度量有利于自己的指标,甚至我们都不能低估人们在追求“好看指标”上的“创造性”。但实际上,我们往往希望数据帮我们发现问题,和“爱面子”相反。
  • 喜欢大而全的平台(包括开发平台、效能平台、度量平台、测试平台),而不是专而精的工具,造成平台使用麻烦、流转效率低下;
  • 有些工程实践也是为了充门面,常常沦为一种形式或只是口号,甚至滥竽充数,包括效能度量、单元测试、自动化测试,演示起来很漂亮,但实际项目中则一塌糊涂,而且自己内心还不一定认可其价值。有些文档制作得很漂亮,却是为了应付一些所谓的国际认证、内部审查而事后补做的,所以实质上没有提升效能,反而严重拖效能的后腿。


三宗罪:欲望

  • 欲望永远填不满,为了填充一些人的欲望,软件研发常常付出不少代价。
  • 如占有欲,有些工作(包括工作岗位,如开发经理、测试经理等)不适合他,但因为来得早,占了天时地利,却迟迟不愿让出来,阻碍着研发变革(如开发和测试的融合)。
  • 些工作完全则是为了满足自己的金钱欲望,例如,重复造轮子是为了自己的业绩,为了自己能涨工资和获得奖金,其实市面上已有现成的且好用的工具(领导可能不知道),自己造出的轮子还没有开源的工具好用(领导可能不知道)


四宗罪:喜新厌旧

  • 喜欢写新代码,开发新功能,代码不断累积,但从不优化,这样就导致了一个臃肿、脆弱的代码基础,难以进行有效地维持。
  • 追求新的技术、新的编程语言、新的设计模式,不断尝试新的东西,不断在不同的技术、语言和模式之间切换,浪费了多少代码和多少时间,全然不顾;而且新的技术不成熟,让系统的质量不稳定,甚至很糟糕,导致大量的返工。


五宗罪:骄傲盲目自大

  • 盲目迷恋自己工具,即使很难用,也不舍得抛弃,结果劣币淘汰良币;
  • 总觉得自己做的设计或写的代码就是好,测试人员发现缺陷,不怀疑自己的代码,反而是质问测试人员:你是不是搞错了?从而影响沟通和协作,降低研发效能。


六宗罪:崇洋媚外

  • 拿来主义:不管上下文,只要是欧美大厂(如Google、Apple、Amazon等大厂)的实践就是好实践,拿来就用。一些中小型企业的研发团队不了解自己的团队,不了解自己所处的环境,照搬欧美大厂(甚至国内大厂)的实践,导致水土不服效能不升反而下降。殊不知,南橘北枳。正如同样的药给大象吃可以治病,而给你吃可能直接丧命。不变革等死,但变革不对,会死得更快。变革是需要,一定要因地制宜。别人的经验可以参考,要弄清楚上下文,然后进行调整。适合自己的路终究要靠自己走出来,拔苗助长只能是昙花一现。
  • 不懂装懂,盲目跟风,不了解某种实践的起源,解决的是什么问题,只要人们说好的,只要大家都在用,就拿来用,也有可能一命呜呼。



七宗罪:懒惰

  • 懒惰是万恶之源,可见懒惰带来的危害之大。
  • 能偷懒就偷懒。写代码时没有验证输入这样的错误常常犯,病从口入,许多普通的安全漏洞(如缓冲区溢出、SQL注入攻击等)、因空指针导致系统崩溃,都是因为“没有验证输入”。代码缺少注释行,代码可读性差,单元测试能不做就不做,代码评审走过场,... 都是由懒惰造成的。


通过这篇文章和下面4篇文章,我们比较彻底地了解软件研发的本质和软件研发效能负面的方方面面,下周我们开始考虑如何克服这些问题、把软件研发拉上正道,如何持续提升效能...

目录
打赏
0
0
0
0
368
分享
相关文章
困境与突破:在 Scrum 实践中摸爬滚打
作为一名传统制造业NPD项目经理,我曾依赖阶段式流程管理,但随着数智化转型,传统模式暴露出响应慢、信息不畅等问题。引入Scrum后,团队初期不适应短周期迭代和每日站会,导致计划频繁被打乱。通过学习Scrum.org.cn案例,我们将项目拆分为短周期Sprint,设立每日跨部门站会,及时解决问题并优化设计。每个Sprint后进行回顾,持续改进流程。我还参加了PSMI认证,系统掌握敏捷方法,提升跨部门协调能力。最终,产品迭代速度显著提升,问题解决更迅速,团队协作效率大幅提高,为企业的数智化转型奠定了基础。这段经历证明,敏捷方法同样适用于传统制造业,助力团队在竞争中脱颖而出。
|
9月前
交付成果 提高IT领导力的七大窍门
交付成果 提高IT领导力的七大窍门
持续提高软件研发团队效能
提高软件研发团队效能是一个持续的过程,想要快速提高效能的实践几乎都是以失败告终。
217 0
「技术人生」第10篇:如何做研发效能提升(即指标体系建设过程回顾)
本文作者将给大家提供一些简单的容易实操的方法,能够让所有人都知道什么是效能的提升,如何提升个人的效能,如何提升团队的效能。
1756 14
「技术人生」第10篇:如何做研发效能提升(即指标体系建设过程回顾)
《研发效能36计:研发效能提升之路,从天文学的演进说起》电子版地址
研发效能36计:研发效能提升之路,从天文学的演进说起
164 0
《研发效能36计:研发效能提升之路,从天文学的演进说起》电子版地址
《研发效能提升 36 计:以「澄清需求」为始,以「落地精益敏捷」为终》电子版地址
研发效能提升 36 计:以「澄清需求」为始,以「落地精益敏捷」为终
162 0
《研发效能提升 36 计:以「澄清需求」为始,以「落地精益敏捷」为终》电子版地址
大厂机密!30 个提升团队研发效能的锦囊
万字长文不想看,那就听一听叭 ↑互联网大公司价值上亿的项目背后,团队成员是怎么高效协作开发的?和我自己开发辣条项目时有什么区别?看完本文,保证让你大开眼界!鱼皮在学校的时候...
322 0
解密蚂蚁研发效能:如何用数据驱动效能提升?
本文整理自蚂蚁金服解决方案架构师添棋在「中国DevOps社区杭州第3届Meetup」上的分享《研发洞察:如何用数据驱动效能提升》,将围绕决策辅助和研发辅助两个方向,详细讲解在蚂蚁金服内部如何基于AI、数据技术,洞察研发效率,提供面向一线研发和团队TL的提效解决方案
1171 0
解密蚂蚁研发效能:如何用数据驱动效能提升?
阿里巴巴研发效能数据知多少
持续快速交付价值的能力是研发效能的核心定义。
4886 0
阿里巴巴研发效能数据知多少