FinOps有望降低企业50%+的云成本! 了解详情
写点什么

如何评估代码质量:反馈回路、文化、代码质量、技术债务、部署管道

  • 2023-02-09
    北京
  • 本文字数:1461 字

    阅读完需:约 5 分钟

如何评估代码质量:反馈回路、文化、代码质量、技术债务、部署管道

质量实践评估模型(QPAM)可将团队的表现行为划分为四个维度:起步、统一、实践、创新。该模型分析了社会与技术质量相关问题,如反馈回路、文化、代码质量、技术债务、部署管道等。


2022年敏捷测试日中,Janet Gregory 谈起过使用 QPAM 模型进行质量评估。


质量实践评估模型有十个质量方面,具体可参见用质量实践评估模型协助团队交付一文中的描述。

在每个质量方面中,团队所表现出的行为都可被归为四个维度:起步、统一、实践和创新。但 Gregory 同样也提到,团队的所有质量方面不一定都归属于同一维度。处于起步维度的团队很少会有质量方面的实践,且经常缺乏结构性。Gregory 解释道:


部署低质量代码到生产环境中会导致累积的缺陷不断增加。团队成员或许进度各异,有些所面临的环境相比别人会更加混乱,但几乎所有人都希望能有所改进。


在统一的维度中,组织中或多或少都应用了一些敏捷方法,形成了功能性各异的交付团队:


团队会遵照一定形式,比如每日站会、实时更新的产品 Backlog、块状时间迭代工作。团队会将工作划分,并在迭代结束之前完成计划工作量,会学会与跨职能团队协作。


在实践维度,团队成员感觉良好,他们能自然地应用所学的实践,并持续为客户提供价值。


团队拥有快速且有效的反馈回路以应对突发情况。当前的工作重点是防治代码缺陷,故而很少有缺陷存在。在先前维度所发现的缺陷会立即得到修复,或将修复在下一次迭代中列为优先事项。在周期早期就引入测试行为,让产品在初期就能拥有质量实践,并借由客户反馈改良产品。


创新的团队拥有更高的绩效,在更短的周期内不断提供客户和商业价值。


团队了解市场并在已知方面拥有对高质量的定义。他们会在适合的区间试水,调整前进方向。不断地自学和自律让团队努力学习并进步。因为心理上很高的安全性,失败会被看作是学习的机会。在以客户价值为基础的前提上,功能的开发重点在深思熟虑后放在了流程上。团队通过生产使用中的持续反馈,了解并监控变化的影响。质量在维度的最初就已经内在存在了。


困难在于整合从不同来源中收集的所有信息,并找出其中差异。Gregory 解释道:


我常用一张电子表格记录不同的质量方面及相关的做法。这样我能跟轻松地对比维度之间的调查发现。


模型的好坏取决于使用者,Gregory 也提到建导是一种技能。团队在自我评估时,自我打分常常会高于外界分数,但 Gregory 认为,这对团队而言不一定是个糟糕的尝试。


Gregory 与 Selena Delesie 在二人合著的《用 QPAM 评估敏捷质量实践》一书中对质量实践评估模型有所描述,此书被列在了 Gregory 的出版作品页面之中。


InfoQ 就评估质量问题采访了Janet Gregory


InfoQ:你对评估建导者有什么建议吗?


Janet Gregory:获取信息的方式有很多,我应用尽用:将过程回顾、访谈,旁听会议或研讨会相结合,还有研究用户故事和测试等方面。在我们的书中,我们列出了建导者可以采用的开放式问题。一名建导者需要通过仔细地倾听和观察,才能提取出信息。通常来说,非言语的表达与说出的话同样重要。我们正在写一本续作,以建导者指南的形式,为评估提供帮助。出版时间未定,不过很可能会在 2023 年上半年面世。


InfoQ:要如何体现评估的结果呢?


Gregory:根据背景不同,建导者的分享内容也会有所不同,但重要的是信息的匿名性。如果你是一名内部建导者,你可以收集所有的观察结果,分享发现,方便团队找到需要改进的方向。如果你和我一样是名外部建导者,那么你也可以分享观察结果,并提出自己的意见和建议。


原文链接

How to Assess Software Quality


相关阅读:

POC、Scrum 和低质量软件的解决方案

开发高质量的软件要付出什么样的代价?

2023-02-09 08:004046

评论 4 条评论

发布
用户头像
满怀期待的点进来,然后就没然后了
2023-02-10 09:14 · 安徽
回复
不好意思出问题了,已经改好啦。
2023-02-10 21:40 · 北京
回复
用户头像
文如其title
2023-02-09 10:50 · 福建
回复
用户头像
该评论已删除
2023-02-09 09:46 · 四川
回复
我进来我都直接懵了
2023-02-09 10:47 · 湖北
回复
没有更多了
发现更多内容

降本增效: 蚂蚁在 Sidecarless 的探索和实践

SOFAStack

超赞!阿里大牛熬夜纯手写的微服务架构笔记,肝完面试犹如开挂

钟奕礼

Java 程序员 java面试 java编程

[1.2.0新功能系列:三]Apache doris 1.2.0 Java UDF 函数开发及使用

张家锋

多线程安全问题原理和4种解决办法

华为云开发者联盟

开发 华为云 12 月 PK 榜

面对复杂中国式报表,哪款BI商业智能工具适合你?

小偏执o

星河璀璨 | 2022大数据“星河”案例入选公示

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

一个随手就能画出小程序的工具

Towify

微信小程序 编辑器 无代码

[1.2.0新功能系列:一] Apache Doris 1.2.0 版本 Light Schema Change

张家锋

可以保存ins照片的软件~距离实现ins图片下载自由只差这一个步骤!

frank

ins图片下载

能让Java开发者提高效率的10个工具

千锋IT教育

精彩纷呈!亚信科技深度参与2022中国移动全球合作伙伴大会

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

阿里巴巴技术官墙裂推荐,鸟哥的Linux私房菜,你是否吃过?

钟奕礼

Java 程序员 java面试 java编程

裸辞美团花两月吃透这Java岗798道真题解析,定级阿里P7

钟奕礼

Java 程序员 java面试 java编程

[1.2.0新功能系列:二] Apache Doris 1.2.0 JDBC外表 及 Mutil Catalog

张家锋

有奖征文 | “用 TDengine,写 TDengine”,万元大奖等你来瓜分!

TDengine

tdengine TDengine征文

产品负责人 VS 产品经理

ShineScrum捷行

产品经理 产品负责人

Zebec正在以流支付的方式,推动加密支付走向主流

股市老人

软件测试丨只需学会Docker,环境问题再也不是测开路上的「坑」

测试人

Docker 容器 软件测试 自动化测试 测试开发

2022年牛客网最新版大厂Java八股文面试题总结(覆盖所有面试题考点)

架构师之道

编程 程序员 java面试

如何配置悬浮层滑动进入动画?

Towify

微信小程序 编辑器 无代码

Chaos 测试下的若干 NebulaGraph Raft 问题分析

NebulaGraph

分布式 分布式系统 raft 分布式图数据库

直播 | 新一代极速云原生湖仓的技术内核,StarRocks PMC 今天下午为你揭秘!

StarRocks

#数据库

阿里面试败北:5种微服务注册中心如何选型?这几个维度告诉你!

架构师之道

微服务 java面试

网站等保三级怎么做?手续是怎样的?

行云管家

等保 等级保护 过等保 等保三级

ROMA集成关键技术:增量数据集成

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜

2023年上海等保测评机构名单看这里!

行云管家

等保 等级保护 等保测评 上海

kali linux忘记密码如何重置|在kali上重置密码

Sher10ck

kali Linux

详解视频中动作识别模型与代码实践

华为云开发者联盟

人工智能 图像识别 华为云 12 月 PK 榜

ubuntu18.04编译webrtc_android库

alps2006

android WebRTC

YOLOv5全面解析教程①:网络结构逐行代码解读

OneFlow

人工智能 深度学习 代码

MatrixDB v4.5.0 重磅发布,全新推出 MARS2 存储引擎!

YMatrix 超融合数据库

数据库 存储引擎 超融合数据库 版本迭代 YMatrix

  • 需要帮助,请添加网站小助手,进入 InfoQ 技术交流群
如何评估代码质量:反馈回路、文化、代码质量、技术债务、部署管道_研发效能_Ben Linders_InfoQ精选文章