质量与效能的再思考

简介: 质量与效能的再思考

640.jpg上周又和朋友聊起了质量内建与效能提升相关的话题,仔细想想,好像很少把这两个话题放在一起思考,其实,质量和效能是“既要、也要”的关系,效能的提升能够将软件研发中的风险更快、更及时地暴露出来,同时减轻团队负担,反过来又能提升质量本身。所以实际上可以放在一起来看。


01

敏捷中的快速验证



在《从一个小角度观察敏捷实践》一文中,我曾经提到过,可以通过缺陷的发现时间节点来判断团队是否是在做敏捷迭代,还是小规模的瀑布。核心思想来自于自己的思考:研发发布了一段代码后,需要多久才能知道自己的代码质量如何,是否会影响到其他的业务功能?在传统的研发模式下,研发的代码合并主干后,要很久才能得到反馈,因为依赖测试人员的验证。而在敏捷的模式下,我们希望这段代码能够快速地被验证,获得质量反馈。这不也正是研发效能中所提倡的么,不管是本地验证、集成CICD还是各类专项测试,都是为了尽快得到这个反馈。


02

为何要做效能提升


640.png



如上图,我们把重要性和紧迫性关联想来,画出如上的象限图。在理想的情况下,我们希望把更多的时间放到“未雨绸缪象限”A当中,去思考团队未来的发展,去思考如何通过更好的方法论或者技能去提升效率或者构建质量。但现实的情况是,多数情况下,我们会把更多的精力放到“救火象限”B象限中,感觉每天都在忙着很紧急的事,陷入无尽的“很忙”旋涡中。如果你的团队一直处于B象限中,其实很难去保证质量,越急越错是很常见的事件。所以需要团队中有人去思考如何改进,如何提升效能,让团队从B象限中释放出来,做更多有意义的改进,来反哺产品质量。


03

一些其它的分享



“信息熵衰减对研发效能的影响是巨大的,要想方设法将信息传递的效率提升上去”


在以前,我们是通过文档来沟通和沉淀信息的,需要写很细致的需求文档、概要设计、测试用例等等。因为我们认为文字是很有力量的,能够准确的传达编写者的意图。但实际上大家对于文字的理解又有自己的想法,随着传递人员的增加,信息熵衰减会越来越严重。导致信息不对称,带来研发上的修改甚至返工。

现在我们提倡的测试左移、看板方法等形式,都是希望能够尽快对齐信息,并把信息透明化,让团队可以随时看到自己想要的信息。减少信息熵的衰减。

 

“自解释的代码不是无注释和无文档的代码,而是伴随着高信息熵的代码体系。内容简洁合理的注释与文档,同样也是优秀代码的一部分,能够给效能的提升带来帮助”


代码注释其实非常重要,现在大家更多的提倡的是编写自解释的代码,更规范命名,而忽略了注释的编写。没有注释的代码,会给后期的代码维护和修改带来不便,进而影响整体的研发效能。


04

个人和团队的不同要求



不论是敏捷实践,还是研发效能的提升,对于团队的意义都相当的清晰。这里不再赘述。对于个人而言,敏捷实践和研发效能的提升,是解放了个人,还是毁灭了自己?团队如何去向成员传递这个价值,是我一直在思考的问题,也问过很多人,现在基本上是想明白了。


对于团队来说,我们不单单需要去宣导理论层面的东西,还要有更为具体的落地规则,让成员先动起来,让成员养成习惯,形成团队惯性。个人能理解最好,如果不能理解,那就被动接受。不要期望每个人都有学习的动力和意愿,改变他人其实是很难的,也是不受控的。团队需要把更多的精力放在那些可控的事情上面,比如制定规则,比如提供工具或者方案。


对于个人而言,如果你有主动改变的意识,那就去学习相关的知识和技能,尝试做出改变,因为能力的提升是自己的。不论的是质量观的改变,还是具体研发效能的提升,都会给你后续的职业生涯带来帮助,现在团队有这样的要求和氛围,远比你单纯的自己去学,要高效得多。个人从团队中的收获不应仅仅是薪酬,还需要从团队中获取到更多有利于提升自己的东西。


PS:部分观点来自于《软件研发效能提升之美》一书,推荐大家看看。


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


相关文章
防抓包破解(HTTP.Debugger)
防抓包破解(HTTP.Debugger)
3247 3
|
数据可视化 容器
Qt 之 QPushButton,信号与槽机制
Qt 之 QPushButton,信号与槽机制
294 0
|
敏捷开发 Devops 测试技术
构建软件质量保障体系
构建软件质量保障体系
583 0
|
缓存 运维 容灾
入行5年,谈谈我在阿里做测试开发的经验
作者在阿里一直从事测试开发相关工作,这几年学习很多、收获很多,作者希望给还在该方向摸爬滚打的同学一些启发和方向。
|
设计模式 存储 缓存
初探DDD
基于学习《殷浩详解DDD:领域层设计规范》后的动手实践,简单总结,以及个人理解
|
机器学习/深度学习 人工智能 自然语言处理
巧用ChatGPT高效搞定Excel数据分析
随着人工智能技术的不断发展,越来越多的企业开始将其应用于办公场景,以提高员工的工作效率。而在众多办公软件中,Excel无疑是最常用的一款。然而,传统的Excel数据分析方法往往耗时且容易出错。
1225 0
|
算法 数据可视化 数据处理
YOLOv5实现图片内目标检测
本文介绍了如何配置yolov5的运行环境、如何进行数据标注、如何通过yolov5训练数据集实现图片的目标检测。目标检测在计算机视觉领域中具有重要意义,yolov5(You Only Look One-level)是目标检测算法中的一种代表性方法,以其高效性和准确性备受关注,并且在各种目标检测任务中都表现出卓越的性能。
1113 1
YOLOv5实现图片内目标检测
|
存储
质量的度量与运营思考
管理学大师德鲁克曾说过“如果你无法衡量它,就无法管理它(If you can’t measure it, you can’t manage it)”。可见,要想有效管理某事务,就需要将它全面且有效地度量起来,而要想针对某个方面进行改进,就需要有针对性地运营。 质量度量体系 大家都知道作为测试的主要任务是质量保障,保障线上环境没有故障和缺陷,最终交付给真实用户的质量,即交付质量。那么,质量度量是不是只关注交付质量指标就足够了呢?答案显然是否定的。因为如果只关注交付质量,往往达不到提升交付质量的目的。比如,你每天关注线上交付质量,忙着一个又一个的项目,一段时间过
444 0
|
Kubernetes 架构师 测试技术
软件测试|测试专家(前阿里P8)聊测试职业发展常见瓶颈
软件测试|测试专家(前阿里P8)聊测试职业发展常见瓶颈
|
缓存 关系型数据库 数据库
PostgreSQL技术大讲堂 - 第22讲:CLOG作用与管理
从零开始学PostgreSQL技术大讲堂 - 第22讲:CLOG作用与管理
484 1