探索持续质量
持续质量是 DevOps 分类中的 8 项功能中的一种。
了解需要持续质量的原因
让我们来看一个示例,了解为什么质量和持续质量如此重要。
日本采取了严格的质量保证计划,这影响了他们的汽车制造商。 由于这项计划,他们以生产高效可靠的汽车而闻名,这使他们在竞争中脱颖而出。
通过凭借更高质量的产品脱颖而出,日本汽车制造商得以在燃油效率、安全性和制造工艺方面开拓创新。 由于质量提高导致故障率降低,成本也有所降低。 他们的竞争对手别无选择,只能迎头赶上。
那么,你为什么需要质量呢?
- 使产品畅销。
- 降低成本。
- 在竞争中脱颖而出。
持续质量的主要优势包括:
- “质量第一”的思维模式,促使共担质量的责任。
- 减少因缺陷引起的频繁返工造成的浪费。
- 减少由于缺少质量要求而随时间推移累积的技术债务。
- 较高的客户满意度。
- 减少中断业务的事件。
在开发周期中尽早关注质量可以显著节省时间和精力。
合并代码花费的时间越长,发现问题的时间越晚,修复的成本就越高。 让我们看一下投资回报率:
- 如果在开发阶段发现缺陷,成本为 5 倍。
- 如果在集成测试中发现缺陷,成本为 10 倍。
- 如果在用户验收测试中发现缺陷,成本为 15 倍。
- 如果在产品发布后发现缺陷,成本为 30 倍。
这个故事的寓意是,要尽早为质量投资!
使用持续质量培养质量文化
持续质量是指培养一种质量文化,以便团队能够:
- 创建出色的用户体验
- 构建适合市场时机的功能
- 启用应用程序的特性,使其交付价值的速度快于产生技术债务的速度
同样重要的是要提防错误的假设,即发现和修复的 bug 越多,质量就越好。
如果我们从一开始就没有创建 bug,则将找不到任何 bug。 但我们是人,会犯错误,也会创建 bug。 我们应该摆脱这样一种想法:找到自己创建的 bug 可以提高质量。
问问自己:谁在创建 bug? 可以是产品负责人、故事作者、设计师、架构师、编码人员、测试人员…实际上可以是每个人。
除了培养质量文化外,持续质量还关乎心态:一种学习的热情,每天尽我们最大的努力让世界变得更不同。
持续质量的思维模式:
- 鼓励成长和创新,创造一种支持并培育以质量为导向的行为的文化。
- 知道质量是内置的,不能对其进行测试。
- 优先考虑质量而不是新功能。
- 提倡团队合作。
- 对可交付成果负责。
- 测试左移/右移。
从质量保证转向持续质量
从传统的质量保证转向持续质量是一个重大的范式转变。 下表说明了两者之间的区别:
传统质量保证 | 持续质量 | |
---|---|---|
为什么 | 中断系统 | 改善系统 |
什么 | 检查功能 | 系统理解 |
谁 | 测试人员责任 | 整个团队关注质量 |
When | 最终测试 | 全程测试 |
Where | QA 阶段 | 无处不在 |
方式 | 发现问题 | 防止问题 |
结果 | 最小质量 | 提高质量 |
了解持续质量的挑战和风险
持续质量 | 挑战和风险 |
---|---|
![]() |
组织孤岛和传统的自上而下的管理结构可能会妨碍采用率。 只有当组织成熟度和必要的文化变革在整个组织中生效,且 DevOps 实践和项目成熟时,才能克服这些挑战。 |
![]() |
持续质量要求所有利益干系人参与进来,并授权他们持反对意见。 缺乏明确的目标和对未知事物的恐惧也会导致回推。 在整个组织中倡导持续质量思维模式时,高级管理层的支持对于成功至关重要。 |
![]() |
在软件开发中使用持续质量要求改变角色职责和改变组织文化。 这些变化需要大量的投资和时间,这将影响时间线,并导致生产力在达到专家水平之前下降。 它们还将提高数字系统的质量。 |
![]() |
工具和技术是持续质量的推动力,但你不能只是向发现的问题投掷技术然后指望它解决。 尽管工具实现了自动化并促进了流程,但是持续质量要求改变组织文化。 如果你没有进程,最好希望供应商的进程适合你。 |
![]() |
通过使用新的协作和交流模型并促进共担质量责任,持续质量可以成为进行广泛组织变革的杠杆。 但是,如果仅在技术上专注于持续集成和测试,则组织将无法实现其期望的收益。 |
![]() |
衡量是必不可少的,但对单一质量指标的狭隘关注可能会驱使员工以牺牲其他公司目标,甚至客户满意度为代价来改进该指标。 如果一个组织不知道持续质量对他们意味着什么,可能会在弄清楚的过程中遇到许多错误。如果缺乏早期的成功,可能会阻碍组织继续寻求持续质量能够提供的有益的文化和协作变革。 |