内建过程质量| 学习笔记

简介: 快速学习内建过程质量

开发者学堂课程【阿里巴巴研发效能提升实践系列公开课内建过程质量】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/608/detail/8872


内建过程质量

内容介绍

一、研发效能

二、生产过程中的内建质量

三、内建质量

四、在Aone上设置准入规则

五、总结

本节课继续讲解研发效能提升实践系列的第五讲内建过程质量,也就是说如何在研发过程中保证过程的质量,而达到最终提交的质量。

 

一、研发效能

1、流动效率(响应力)

2、资源效率(吞吐量)

3、质量

研发效能的提升必须落实到协作、需求、工程、技术等实践中,主要属于团队、项目协作实践

 

二、生产过程中的内建质量

过程质量或内建质量是源自于生产领域的一种称呼,接下来可以了解到内建质量在生产领域指什么?在产品的开发中需要做什么?

1、以丰田的部分生产系统示意图为例:

2022-11-07 (8).png

图中有车刀或者车床,在旋转其中的一颗螺纹,这是一个自动的生产线。在此过程中,不难发现,工件在不断输入,而成品也在不断输出,如果一切正常,那就是一个很好的全自动化的生产线。

2、丰田提出的两种概念

1)、自动化(Automation

自动化图例:

image.png

自动化正常时,一切都好;但是当自动化异常发生时

如:车刀在出现裂纹时还是会生产出残次品

在自动化中,当异常发生时,并不能自动感知异常;便会继续产出有问题的产品;当问题产品进入下一环节,比如说装配环节,就会带来进一步的浪费,或者将直接影响整批产品的质量;就算发现问题时,问题也已经存在了许久,如此很难找到根本原因,只能通过回溯查找出原因。

2)、自动化(auto-no-mation)

理想中的自动化图例:

image.png

自动化异常发生时

在丰田中,称之为应该赋予机器人与智能,也就是说当发生异常时,会自动感知异常,比如在此图中,车刀发生裂纹时,机器能自动感知并停止生产,杜绝让有问题产品进入下一环节,工作人员会现场分析根本原因,并纠正。在丰田此种做法称为现时、现地查找法,更能查出根本原因,并彻底解决问题。

这种过程便会称为内建质量:

在每个工件的每一个环节内建质量,而不是依赖于最后的检测环节。

详解:

就是说在每一个工件的每一个环节中内建质量,目的是为了要让每一个工件得到质量的保证,而工件生产的每一个产品都需要得到保证,不管是一个螺纹或者是对产品的精加工,在每一个环节都要保证质量,不要把问题带到下一个环节,也不要依赖检测环节来保证质量。学习的目的是提高研发环境的质量,讲的生产只是比喻。

 

三、内建质量

1、之前讲的看板,把开发分为各个环节;需求和各个环节不断的流动;此时把以需求为单位保障各环节的质量,(而不是一组需求,比如以一版本为单位来控制需求,)把质量内建到每个需求的各个过程环节中称为内建质量。

2、如何做到

1)在产品开发过程中会有各类规则:

定制的规则或者是官方的规则,有隐藏或不明确的规则,也有合理或者不合理的、过时的或者新添加的规则,这些规则隐藏在各处,但是有了看板,就有了需求流动过程,这样能有机会去

2)显示化定义规则:

基于价值流转组织规则和明确定义和显示呈现规则,使得团队用有和使用规则并在实践中持续改进,至此这些规则合理为止。

3)规则示意图:

image.png

看板的各个环节中,可以定义这些规则。比如说选择这一类,为什么要选择这些需求,那就是这个需求的接收标准;比如说就绪这一类的需求,对于开发团队的就绪是开发特定的输入,就需要定义相关的就绪标准;比如说任务的完成,则需要定义代码提交的标准;比如说需求如何才能进入待测试,这是开发的输出标准,也是测试的输入标准,一般称为转测试标准。

4)举例就绪规则:

就绪是说需求对于开发就绪,可以进入开发过程中,是开发的输入。在 it 行业中,garbage ingarbage out 输入的是垃圾,输出的也是垃圾。作为输入规则,这对于开发尤其重要。

以下便是例子:

、开发、测试和业务共同澄清需求,定义明确交互过程和验收标准

详解:

需求进入就绪,所期望的是需求能顺畅地向下流动,而不是出现走走停停的问题;在项目管理中,这种现象称为风险。在进入就绪的需求,会应对到业务风险,是指需求不够清晰。

、已与业务关联方(如有)确认相关计划

详解:

应对的是关联风险,防止第三方不能满足需求。

、识别大的技术凤险并定义应对方案(应对技术风险)

、大需求已进行拆分到可以在两周以内完成(应对协作风险)

、诚及三个开发人员以上的需求,指定好协调人,负责进度协调(应对协作风险)

为了后面进入这个行业中的这一类需求能够更加通畅才做出的这些规则,为此需要处理好业务风险、关联风险、技术风险和操作风险,为什么要去定义规则本身?是因为在实施的过程中不断总结出来的,如果有其他发现也可以进行添加,其他规则同样重要,可以举例说明已选择规则和待测试规则;

已选择规则:

、定义明确的业务场景和解决的用户问题

、定义要达成的目标及衡量方法

、与技术团队初步确认技术的可行性

、定义了明确的优先级

待测试规则:

、开发对照需求验收标准进行了自测

、通过了持续集成环境的所有测试

、己通过Show case演示环节

可以给各个阶级定义规则,但是并不代表定义规则的合理性,还需要在开发过程中不断演进这些规则。

 

四、在Aone上设置准入规则

1、准入规则设置

image.png

2、准入规则可调整,并不是一成不变的

image.png

转入规则设置:

一起了解在aone上如何设置规则,其实每一列都可以进行·准入规则的设置,第一步把定义的规则输入到aone的看板中,作为对用户的提示,这是用户对开发者共同承诺的共识。在开发过程中,还可以进行不断地改变,改变规则的反映,之后所取的改进或者对需要进行的改进。规则是可以持续调整的,转入规则有改进的期限,而不是一成不变的标准。

3、定义规则的作用

这种规则应该是团队共同拥有的,如果规则是模糊的,团队中的很多讨论便会陷入主管情绪化;对于有明确规则的团队,讨论就会是客观理性的。

举例:

主观情绪化

客观理性

“我觉得质量差就是因为他们没有起码的责任心。”

“我们一起看一下,质量问题究竟是哪个环节的原因,是规则不合理、不清楚还是执行不到位?”

“凭什么内部改进需求始终不让做啊?”

我们需要投入10%左右的人力到技术改造和优化的需求上,未来半年,我们每完成10个业务需求,就开始一个新的技术需求把。”

 

从中看出:规则是一个团队执行的标准,是客观理性的一个依据,更重要的一点是,规则是一个改进的基线,如果缺少规则,那问题便会反复,团队这时应该制定相应的规则,有了规则,便会有序的进行;规则本身是一个动态的过程,需要不断地调整和优化。

 

五、总结

1、以需求为单位保障各环节的质量,把质量内建到每个需求的各个过程环节;

2、明确定义和持续改进各环节的流程规则,按照价值流转和团队协作来组织规则并显式呈现这些规则;

3、明确定义的规则是团队协作和决策的基础,让团队的协作更有依据;

4、明确定义的规则更是持续改进的基线,在执行反馈过程中不断改进团队规则。

相关文章
|
4月前
|
设计模式 安全 测试技术
Swift代码审查的关键点及最佳实践,涵盖代码风格一致性、变量使用合理性、函数设计、错误处理、性能优化、安全性、代码注释等方面,旨在提升代码质量和项目管理水平
本文深入探讨了Swift代码审查的关键点及最佳实践,涵盖代码风格一致性、变量使用合理性、函数设计、错误处理、性能优化、安全性、代码注释等方面,旨在提升代码质量和项目管理水平。通过实际案例分析,展示了如何有效应用这些原则,确保代码的高可读性、可维护性和可靠性。
68 2
|
7月前
|
测试技术 持续交付 开发者
持续部署的内涵和实施路径问题之质量内建对持续部署有何重要性
持续部署的内涵和实施路径问题之质量内建对持续部署有何重要性
|
7月前
|
测试技术 UED
质量标准化实践问题之测试策略的本质如何解决
质量标准化实践问题之测试策略的本质如何解决
44 2
|
7月前
质量标准化实践问题之功能预演中出现问题如何解决
质量标准化实践问题之功能预演中出现问题如何解决
41 1
|
10月前
|
安全 数据管理 测试技术
网络安全与信息安全:防范漏洞、加强加密与提升安全意识深入探索自动化测试框架的设计原则与实践应用化测试解决方案。文章不仅涵盖了框架选择的标准,还详细阐述了如何根据项目需求定制测试流程,以及如何利用持续集成工具实现测试的自动触发和结果反馈。最后,文中还将讨论测试数据管理、测试用例优化及团队协作等关键问题,为读者提供全面的自动化测试框架设计与实施指南。
【5月更文挑战第27天】 在数字化时代,网络安全与信息安全已成为维护国家安全、企业利益和个人隐私的重要环节。本文旨在分享关于网络安全漏洞的识别与防范、加密技术的应用以及提升安全意识的重要性。通过对这些方面的深入探讨,我们希望能为读者提供一些实用的建议和策略,以应对日益严峻的网络安全挑战。 【5月更文挑战第27天】 在软件开发周期中,自动化测试作为保障软件质量的关键步骤,其重要性日益凸显。本文旨在剖析自动化测试框架设计的核心原则,并结合具体案例探讨其在实际应用中的执行策略。通过对比分析不同测试框架的优缺点,我们提出一套高效、可扩展且易于维护的自动
|
10月前
|
程序员 测试技术
程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。
【5月更文挑战第11天】程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。复杂的系统易产生意外问题,需求变化导致初始设计难完备,测试无法覆盖所有情况,而技术更新和个体能力差异也会引入错误。因此,持续调试和优化是保证软件质量的关键步骤。
98 0
|
10月前
|
算法 测试技术
深入白盒测试:静态分析与动态覆盖的协同策略
【4月更文挑战第23天】 随着软件开发复杂性的增加,确保代码质量和功能正确性成为一项挑战。白盒测试作为软件测试的重要分支,它通过检查程序内部逻辑和结构来发现潜在缺陷。本文将探讨一种融合静态分析和动态覆盖技术的白盒测试方法,旨在提升测试效率和错误发现率。我们将首先概述这两种技术的基本原理,然后详细阐述如何将它们结合起来以实现互补优势,最后通过一个案例研究展示这种协同策略在实际中的运用效果。
|
10月前
|
设计模式 敏捷开发 测试技术
质量内建
质量内建
123 0
|
10月前
质量内建的5个级别
质量内建的5个级别
|
10月前
流式系统:第五章到第八章
流式系统:第五章到第八章
83 0