05加班越久故障越多,如何跳出程序员的恶性循环?|学习笔记

简介: 快速学习05加班越久故障越多,如何跳出程序员的恶性循环?

开发者学堂课程如何成为技术大牛?05加班越久故障越多,如何跳出程序员的恶性循环?学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1240/detail/18424


加班越久故障越多,如何跳出程序员的恶性循环?

 

内容介绍

一、课时概述

二、问题分析

三、总结

 

一、课时概述

本文是利用云校公有云度量功能加上敏捷部分的方法指导,实践于某事业部几十人团队沉淀的成果,希望能给予一些借鉴意义。对此会就各种关键表征的数据进行介绍,但是详细数据包括具体研发团队的数据还需要访问云校公有云度量功能页面。

 

二、问题分析

1、团队特征

这个团队的明显特征是三月份完成需求数明显上升,企业团队负载较重,质量不高,缺陷数 Reopen 率以及线上发布成功率,需求平均完成时长特别长,突增故障,数据表可见文档。于是就数据暴露出的这几个问题和团队一线研发人员 PDTL 进行沟通,分析数字背后的意义。

2、团队主要问题

大家很快达成一致,发现团队存在的主要问题是:

(1)需求 deliver 传统瀑布模型需要一个月到两个月去完成一个特别大的需求,最后却和用户期望偏差较大。

(2)数据表征上就是之前需求数量较少,三月份突然完成了很多而且时间很长的需求。

(3)大家加班加载干活负载较重,引入的缺陷也较多,PD 和用户的不满意带来的修改又会加重工作量,如此恶性循环。

(4)缺陷重视度不高,管理不规范,优先级划分不清楚,甚至残留着重要缺陷,留在 bug 列表中未解决而流到线上引发故障。

上面的三点形成了恶性循环,结果就是越做越多,越多越错,越错越改,越改越多。解决方案落地和数据运营,发现问题之后有针对性地解决运营和落地就相对容易。

3、解决方案

(1)需求细化,拆分成最小可交付产出,尽量避免一个需求做了一个多月才找 PD 和用户验收。

(2)随时拥抱用户,迭代式产出,交付即验收,让不准确性降到最低,在错误误差最小的时候修正。

(3)重点跟进质量管理和运营透明数据,鼓励团队尽早尽快修复 bug,并有严格的上线前 bug 解决率标准,尽全力保证线上发布成功率。

(4)同时辅助于团队的决策进行定期的数据运营,每周都会统计和分析数据,包括质量和效率相关的,确保能够在第一时间发现问题,纠正偏差。

4、数据关注

所以在三个月的时间里重点关注了一下数据。关于这些内容的解读和分析比较深入,这里只做简单的概括性介绍。

(1)需求的吞吐量

团队在指定的时间段内完成的需求数可大体反映出团队的产出趋势。

(2)需求的平均完成时长

需求从创建到终态的平均时长,时间越多,需求交付力度越小,效率越高。

(3)新增缺陷的数量

统计时间段内团队被新增派的缺陷数量结合存量缺陷以及缺陷平均解决时长,反映团队产品的质量以及对于缺陷解决的效率。

(4)缺陷的平均解决时长

缺陷从创建到解决的平均时长表征解决缺陷的效率

(5)线上发布的成功率

线上发布成功次数与总次数之比越高证明产品上线质量越高

(6)缺陷的 reopen 

缺陷被 reopen 的次数与缺陷数目之比,该越高,证明修复缺陷的质量越差reopen 率是表征产品质量的一个重要指标

5、结果分析和总结

大家回到之前的六张图以及下面的一张缺陷解决时间图,三月底进入重点看从月份开始的数据团队的负得到了控制,需求的完成数下降了,后续三个月保持一个相对平稳的状态需求细化拆分后交付的时长下降了,团队以更快的速率去和用户交付需求缺陷的数量下降,reopen 率下降,线上发布成功率上升,质量在好转缺陷的平均解决时间明显上升,团队更快的交付,更快的反馈问题,更快的解决问题,数据图可见文档

总体而言就是需求交付的快,得到的反馈快,修正错误缺陷的成本低,缺陷也慢慢收敛,质量也随之提升,缺陷修复的也快了,这就是一个良性循环概括总结就是效率提高了,质量也保证了,团队的人干活也是更加努力了

6、进一步提升的方法

根据对需求数量以及平均完成时长的数据显示,团队还是有上升空间的,对于需求的交付力度和速率上还是略显波动要想更快的知道做的是否是用户需要的,就要快速的迭代式的交付需求,以免用户想要个车,给了四个轮子,能否彻底解决此团队需求的交付和用户期望偏差的问题,还是需要再向前走一步,需求继续细化,提升交付速率,参见敏捷中推荐的快速迭代,快速交付,快速得到用户反馈,只为了更快,更准确

 

三、总结

数据有魅力,研发数据也一样,使用它就是为了两个目的一是保证质量,二是确保交付的速率,行走过程中深度使用了云校度量新功能,结合敏捷中部分理念,配合传统测试方式保障来助力研发团队可能有人会质疑需要用这么冰冷冷的数字去衡量可爱的程序员哥哥吗?对此的回答是,这不是衡量数据只是手段,是帮助去诊断团队的一个切实有效的手段,学会利用并驾驭它。因此只需要关注数据,读懂数据,重点问题重点解决,优先解决一段时间只关注一个很少的几个问题相信团队的自驱能力,同时结合 TL 的管理激励,养成良好的团队建设力。欢迎交流讨论,研发团队每天打交道最多的就是需求缺陷代码发布应用测试等等这些和研发人员息息相关的数据,云校现在研发大盘团队空间人员效能质量分布等多种维度数据整合到了数据平台上,后续更会以定制化的方式满足研发团队对于研发数据的需求利用好这个工具能帮助清晰的了解团队的现状,暴露问题,找到改进措施,提升团队效率和产品质量。本人是一个敏捷爱好者,在深入研发团队做测试以及质量管理的时候,也是吸取和借鉴了敏捷的部分思想去落地,感受是拿最切实有用,比如展会看板,快速迭代式交付需求,再加上数据辅助,都是能帮助到团队更快,更准确的交付高质量产品的手段

最后贴几张在度量上结的某研发团队的数据展示,这个团队是最近接触的团队,通过数据对这个团队的推测是团队在质量上需要提升,在缺陷的管理上需要加强首先团队缺陷的数量逐月上升,这已经是质量不好的趋势体现另外缺陷的解决时间也没有加快,这样会导致越来越多的缺陷流到线上去,可见团队除去一月份无故障,后续几个月都有故障,而且这个团队的线上发布成功率持续走低,开发对上线的代码把控程度较低,所以找到这些数据表征的背后原因,并且着手去解决掉,是这个团队近期最迫切的事情了数据图可见文档先直接给大家数据,上边几张图也比较容易看出来就不读了,养成良好的研发习惯,保持高效的团队协作应该是每个研发同学持之以恒的追求。

相关文章
|
测试技术
解决Bug应有的心态和解决方法的一些思路、方法和心得
永远要相信程序是不会骗你的,是自己在处理理逻辑中出问题,而在特定的环境中才会出现或者是自己压根就想不到情况下出现。 前几天在处理一个接口任务时,在测试环境跑是一点都没有,但在正式环境却没有将数据拉下来。没有报任何错误,一度怀疑、抱怨! 还好最后找到问题解决了!
82 0
|
6月前
|
程序员
程序员缓解工作压力有哪些小窍门
程序员合理释放工作压力和情绪至关重要,需要找到合适自己的节奏和方式
77 0
|
6月前
|
缓存 Java 关系型数据库
踩了定时线程池的坑,导致公司损失几千万,血的教训
踩了定时线程池的坑,导致公司损失几千万,血的教训
|
Dubbo Java 应用服务中间件
浅谈踩坑记之一个Java线程池参数,差点引起线上事故(下)
浅谈踩坑记之一个Java线程池参数,差点引起线上事故
282 0
|
Dubbo Java 应用服务中间件
浅谈踩坑记之一个Java线程池参数,差点引起线上事故(上)
浅谈踩坑记之一个Java线程池参数,差点引起线上事故
147 0
|
存储 Web App开发 缓存
一个简单的弱网差点搞死了组内前端
最近上线了一个 React Native 外访项目,用户为公司外访员,外访员根据公司业务去实地考察,收集记录一些资料,考察记录资料的过程全部用公司配的专用手机,里面安装了当前外访项目APP。目前项目试运行阶段,还没有正式交付。APP项目上线后,在用户真实使用中遇到一些各种各样的问题,有些问题处理时也比较棘手(如弱网情况),这次主要复盘APP在实际场景中的弱网(或网络不稳定)相关的问题。
894 0
一个简单的弱网差点搞死了组内前端
|
SQL 存储 监控
程序员新人频繁使用count(*),被组长批评后怒怼:性能并不拉垮!
程序员新人频繁使用count(*),被组长批评后怒怼:性能并不拉垮!
|
程序员
能让程序员瞬间崩溃的五个瞬间,共鸣的同学请举手!
在我们的眼里,程序员好像是无所不能的,那么复杂的App和那些游戏都是他们做出来的,这让我们很难相信还有什么是他做不出来的。不过,就是我们每天眼里看着很厉害的程序员,每天都要面临的就是头疼,头疼,头好疼,特别是我接下来要说的几件事情,几乎是所有程序员都会把头抓秃的事     那么这五件事情究竟是什么事呢? 写着代码停电,代码没有保存 如果有一天突然代码写到一半,眼看就快要完工了,突然一下就断电,代码没保存。
1334 0
|
芯片
程序人生 - 手上总有静电该怎么处理?
程序人生 - 手上总有静电该怎么处理?
142 0
程序人生 - 手上总有静电该怎么处理?
|
存储 Java 程序员
BeanDifinition(加几行代码,可以产出让队友几天也找不出的Bug)
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
188 0