英雄其实不善战——开发团队质量内建

开发团队里,真正善战的人到底是什么样的人?

我以前很崇拜那些能修复各种软件缺陷的“救火”高手。

很多年前,我曾经在一个维护遗留系统的团队做过开发。

团队的每个开发,都轮流带一个7x24小时开机的手机,处理用户问题。

团队里有一位英雄。他戴眼镜,经常身穿一件白大褂。

我们要是有搞不定的各种疑难杂症,就会找他。

他能搞定80%的问题。所以过去了十多年,我依然很佩服他,觉得他是英雄。

但当年团队还是火情不断,我们这些普通水平的开发人员,还是救不了火。

这两天在“得到”听华杉的孙子兵法。

孙子说:善战者,无智名,无勇功。

因为善于作战的人,会始终设法让自己在局部能比敌人更强大,又不错过敌人犯错的机会,所以每次胜利都轻轻松松。

“战胜而天下曰善,非善之善者也”。

如果你打了一场漂亮战,全天下的人都说太漂亮了,那不一定是什么好事。为什么?因为这是侥幸,重复不了第二回。

华杉讲起了扁鹊的故事。

扁鹊是一个名医,有一次魏文侯问他:“听说你们家兄弟三个人都是医生,那谁的医术最好?”

扁鹊就说,“我们家大哥医术最好,二哥差一点,我是最差的。”

魏文侯就不明白了:“你是天下名医啊,你大哥和二哥都没有听说过。”

扁鹊就解释:“我大哥治病是在病情发作之前,病人自己还不觉得有病,大哥就下药,铲除了病根。所以他的医术很难被人家认可。”

“我的二哥没有大哥那么大本事,在病情发作之前他发现不了。但在病情初起症状不十分明显的时候,二哥能够药到病除,所以村里人会觉得二哥还能治点小病。所以他的名气只能在本村,邻村的人都不知道他。”

“我的动静就会比较大。我治病都是在病情十分严重,病人痛苦万分的时候。我在病人的经脉上穿刺,有时候甚至还敷上毒药来以毒攻毒。最后这个病人可能得到了缓解,甚至还有治好的。所以我就名闻天下了。”

要每天治小病,而不要每年治大病。

每天治小病,花钱少,痛苦少,治得好,百岁老。

以前听到这个熟悉的故事,并没有什么感受。但最近这一次听,却颠覆了对英雄的认知。

英雄其实不善战,而只是运气好。

对于开发团队来说,什么是“善战”呢?

开发团队的善战,其实就是没有软件缺陷所导致的意外的“火”去救,从而有时间完成眼下计划内的事情。

为何“救火”危害大?因为“救火”会挤占开发团队完成计划内事情的时间,导致加班和项目拖延。

能避免“救火”的法宝是什么?质量内建。

如果按照“投入少、成效大”来大致排序,那么开发团队常见的质量内建排行榜可以是:

  • 开卡和验卡
  • 团队每日代码评审
  • 技术债墙
  • 频繁合并代码到主干
  • 持续交付流水线
  • 自动化部署
  • 自动化测试
英雄其实不善战——开发团队质量内建_第1张图片

团队里真正善战的人,不是那些能各种花式“救火”的超级英雄,而是每天能做好普普通通质量内建工作的“平凡人”。

每天做好上面的质量内建,就是每天治小病,不需要能救火的高手来帮忙,普通水平的开发人员就能处理。

而这样的“平凡人”,其实是最善战。

你可能感兴趣的:(英雄其实不善战——开发团队质量内建)