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

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


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


一宗罪:自私

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


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

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


三宗罪:欲望

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


四宗罪:喜新厌旧

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


五宗罪:骄傲盲目自大

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


六宗罪:崇洋媚外

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



七宗罪:懒惰

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


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

相关文章
|
21天前
|
机器学习/深度学习 人工智能 运维
运维之光:从混沌到秩序的蜕变之旅###
在数字化浪潮汹涌的当下,运维如同企业航船的舵手,默默指引着系统穿越信息的惊涛骇浪。本文旨在揭示运维领域的深刻变革,从初识运维的懵懂,到探索高效策略的旅程,再到拥抱自动化与智能化的广阔天地,最终展望其未来趋势。这不仅是一段技术演进史,更是对“如何在复杂世界中寻找简洁之道”这一哲学命题的深刻反思。我们相信,正如印度圣雄甘地所言:“你必须成为你希望在世界上看到的改变。” 每一位运维人的努力,都是向更稳定、智能运维迈进的坚实步伐。 ###
|
3月前
|
人工智能 安全 测试技术
开发者迎来提效“利器”?中兴星云研发大模型太强了
开发者迎来提效“利器”?中兴星云研发大模型太强了
58 4
|
5月前
交付成果 提高IT领导力的七大窍门
交付成果 提高IT领导力的七大窍门
|
6月前
|
数据可视化 安全 前端开发
低代码开发的困境与解药
随着企业数字化的不断深入,低代码技术已成为企业释放数字化创新能力的关键工具。很多企业客户也被低代码所宣传的快速开发、低维护成本所吸引。但实际落地过程中,最终经常因为以下几个问题而导致满意度大打折扣。
|
监控 前端开发 数据可视化
大厂机密!30 个提升团队研发效能的锦囊
万字长文不想看,那就听一听叭 ↑互联网大公司价值上亿的项目背后,团队成员是怎么高效协作开发的?和我自己开发辣条项目时有什么区别?看完本文,保证让你大开眼界!鱼皮在学校的时候...
295 0
|
算法 测试技术 Python
热饭的测开成果盘点第九期:白盒自动化平台热饭的测开成果盘点第九期:白盒自动化平台
本期介绍的是一个技术含量很变态的工具-白盒自动化测试。何为白盒测试?其实就是测试具体代码,有五种方式叫做五种逻辑覆盖率,比如路径覆盖/语句覆盖等。
热饭的测开成果盘点第九期:白盒自动化平台热饭的测开成果盘点第九期:白盒自动化平台
|
算法 测试技术 API
热饭的测开成果盘点第二期:C/S架构的全端自动化
本期介绍的是一个c/s端的工具,即客户端工具。也就是需要下载安装的界面工具,相比较现在流行的B/S即浏览器平台来说,具有以下特点:
热饭的测开成果盘点第二期:C/S架构的全端自动化
|
项目管理
【氚云】致道景观转型秘诀:信息化思维,让工程管理的效率光速进化
致道景观转型秘诀:信息化思维,让工程管理的效率光速进化
207 0
【氚云】致道景观转型秘诀:信息化思维,让工程管理的效率光速进化
|
人工智能 安全 PyTorch
阿里云创新产品团队招聘!一大波岗位呼唤你
收入和情怀,诗和远方,我们都给你。
1482 0
阿里云创新产品团队招聘!一大波岗位呼唤你
|
项目管理
艾伟也谈项目管理,带领团队发挥最大潜能的10个技巧
  只有你团队的成员成功了,你才能算是成功的领导者。本文介绍一些基本领导技巧,以助你团队达到巅峰状态。这些技巧是针对那些IT行业管理知识型员工和项目经理的领导者。如果你是其他行业的领导者,虽然大多数技巧可以适用,但不能完全照搬。
1235 0