团队交付质量如何评估

简介: 团队交付质量如何评估

640.jpg

话题源于一位同事的提问:你认为用什么质量指标可以反映项目交付的一个质量?粗看之下有点蒙,质量指标,什么鬼?再思考一下,哦,原来是说交付质量的事,那不是有很多质量指标么?多数和BUG相关,例如BUG数量、Reopen BUG数、BUG解决时长等等,好像都能体现交付质量啊。仔细想想,草率了,我们衡量交付质量,不能只看这些,质量不应该简简单单地缺陷关联上就可以了。再想想,于是有了本文。


01

研发过程质量



既然不能只看结果,那我们就从源头开始看起吧。首先是需求质量,想要最终的交付质量高,那么源头的需求质量就不能太低,否则后续的研发活动做的再优秀,也不算好,很有可能一开始就跑偏了。我们需要在需求评审的阶段,从用户使用场景的角度出发,通过提问,把需求逐步澄清,并形成验收条件(以实例化的形式记录下来),产、研、测三方共同确认,形成共识,以保证大家对需求的认知不发生偏差,为后续团队正确的做事提供有价值的指导。根据用户故事的基本特性,做到业务可验收、研发可实现、测试可验证、部署可交付。(可参考:从测试看需求

 

再来看看研发过程的质量体现,对于代码质量,开发自有一套玩法,这里不细说。我们主要从更宏观的角度来看,个人认为有两个指标需要关注:构建成功率和缺陷趋势图。


构建成功率能很大程度上反映研发的提交质量,如果经常性地编译失败或者自动化测试不能通过,那么就需要引起重视,尝试去了解原因并找出解决方案,因为构建失败意味着最基本的业务保障都出问题了。


缺陷趋势图可以很好地反映缺陷的整体变化趋势和处理缺陷的时效性问题。如下图,大体上可以看到迭代缺陷的变化过程,缺陷在迭代中期被集中消灭的比较多,没有拖延到迭代后期,有利于测试的回归和其他方式的验证,降低风险。(关于度量的思考,可参考:度量平台落地实践


640.png


再来看看交付给用户的质量评估,这里主要提两个维度:交付时长和缺陷存留。交付时长体现了团队的交付能力,是否可以在用户期望的时间内完成交付,如果时长太长,用户的满意率下滑,你很难说本次交付的质量很高。因为最终评估标准是用户用上了,才能算好。

再来说说缺陷存留。曾经遇到过一个版本,遗留了30多个问题,测试报告也写测试通过,然后发布上线。虽然那些问题都是小问题,但是这么多的遗留问题,如果让用户遇上了,那会产生什么样的糟糕体验?我们可以允许有部分问题延期到下个迭代修复,但总要有个底线吧。


02

用户使用质量


如果仅仅从研发团队的角度来看,上面的那些指标好像也够了。但是,我们常说以终为始,交付增量功能并不是我们的终点,用户的使用才是迭代交付的终点。所以我们在评估团队交付质量的时候,也要把这方面的指标加上。


线上缺陷逃逸率:指的是线上发现的缺陷。不论你的研发过程再优秀,如果线上缺陷被较为轻易的发现,我们也很难说交付质量很好吧。虽然可以找很多的理由,但还是希望能够去避免类似的情况出现。


用户反馈:这里指的是用户的真实反馈,有机会去听听用户的心声。不要总是自我感觉良好。如果用户反馈使用很不方便,或者难以接受,那么我们的交付质量也不可能太好。这点可以和前面提到的需求质量相关联,因为这是需求质量的最直观体现。


数据埋点:如果说用户反馈过于主观,那么必要的数据埋点,有利于我们更加客观的去分析交付质量,比如改版前后比较,新功能的点击率,关键路径转化率,错误率,等等。如果你迭代 的功能没人用,谁比较尴尬呢?要注意的是,埋点数据可能会有延迟,参考这类数据时,可以把时间线放长一些。


03

非业务特性指标


理论上来说,上面那些指标,已经能够比较客观地反馈出迭代的交付质量了。但是在敏捷的场景下,时间短,任务重。有些在瀑布模式下比较注重的东西被忽略了,那就是非产品特性的质量。最典型的,就是可维护性和可扩展性。在瀑布模式下,我们会比较关注这两类的问题,因为交付时间长,如果不注意,后期的运维难度会很大。而在敏捷的环境中,因为交付任务重,加上敏捷提倡重构,所以研发对于代码的维护性和可扩展性并不会考虑太多(都想着会重构,但往往都没有重构的时间),在迭代中也没有预留相应的时间做技术债务的偿还,日积月累,屎山代码就慢慢产生了。


04

小结


640.png


以上,从三个方面讲述了关于团队交付质量的一些个人思考。作为研发侧的人员,我们更多的可能关注的是过程质量,如果你对代码或者研发有些追求的话,还需要关注非业务特性的交付质量。对于结果质量,看团队的追求吧。


本次话题就聊到这里,下次我们聊什么呢,敬请期待。

相关文章
|
6月前
|
人工智能 JavaScript 开发工具
MCP详解:背景、架构与应用
模型上下文协议(MCP)是由Anthropic提出的开源标准,旨在解决大语言模型与外部数据源和工具集成的难题。作为AI领域的“USB-C接口”,MCP通过标准化、双向通信通道连接模型与外部服务,支持资源访问、工具调用及提示模板交互。其架构基于客户端-服务器模型,提供Python、TypeScript等多语言SDK,方便开发者快速构建服务。MCP已广泛应用于文件系统、数据库、网页浏览等领域,并被阿里云百炼平台引入,助力快速搭建智能助手。未来,MCP有望成为连接大模型与现实世界的通用标准,推动AI生态繁荣发展。
5414 66
|
人工智能 Linux Docker
一文详解几种常见本地大模型个人知识库工具部署、微调及对比选型(1)
近年来,大模型在AI领域崭露头角,成为技术创新的重要驱动力。从AlphaGo的胜利到GPT系列的推出,大模型展现出了强大的语言生成、理解和多任务处理能力,预示着智能化转型的新阶段。然而,要将大模型的潜力转化为实际生产力,需要克服理论到实践的鸿沟,实现从实验室到现实世界的落地应用。阿里云去年在云栖大会上发布了一系列基于通义大模型的创新应用,标志着大模型技术开始走向大规模商业化和产业化。这些应用展示了大模型在交通、电力、金融、政务、教育等多个行业的广阔应用前景,并揭示了构建具有行业特色的“行业大模型”这一趋势,大模型知识库概念随之诞生。
154851 30
|
分布式计算 资源调度 安全
Hadoop停止所有Hadoop服务
【7月更文挑战第20天】
398 2
|
存储 安全 关系型数据库
FileZilla Server提权与常见问题
FileZilla Server提权与常见问题
942 0
|
机器学习/深度学习 人工智能 算法
|
新零售 架构师 Devops
如何衡量研发效能?阿里资深技术专家提出了5组指标
3月16日-17日,何勉老师将和阿里研发效能其他讲师一起在上海为我们分享《企业数字化转型面临的研发效能挑战—阿里DevOps体系和实践》课程,有关于阿里DevOps体系知识都可以从他们那里得到答案。
17325 15
|
监控 NoSQL Java
java云MES 系统源码Java+ springboot+ mysql 一款基于云计算技术的企业级生产管理系统
MES系统是生产企业对制造执行系统实施的重点在智能制造执行管理领域,而MES系统特点中的可伸缩、信息精确、开放、承接、安全等也传递出:MES在此管理领域中无可替代的“王者之尊”。MES制造执行系统特点集可伸缩性、精确性、开放性、承接性、经济性与安全性于一体,帮助企业解决生产中遇到的实际问题,降低运营成本,快速适应企业不断的制造执行管理需求,使得企业已有基础设施与一切可用资源实现高度集成,提升企业投资的有效性。
249 5
|
新零售 运维 监控
研发效能的度量| 学习笔记
快速学习研发效能的度量
研发效能的度量| 学习笔记
|
Linux
Linux设置系统时间(上海时区、硬件时间、重启有效)
Linux设置系统时间(上海时区、硬件时间、重启有效)
1046 0
|
缓存 算法 Java
提升编程效率的利器: 解析Google Guava库之常用工具类-40个示例(七)
提升编程效率的利器: 解析Google Guava库之常用工具类-40个示例(七)