敏捷开发模式下如何快速提升产品质量

敏捷,开发,模式,如何,快速,提升,产品质量 · 浏览次数 : 65

小编点评

**敏捷开发模式与质量驱动型团队** **1. 设立专职QA敏捷团队:** * 负责敏捷开发过程中的测试。 * 拥有业务侧、技术侧和DevOps侧的专业技能。 **2. 构建质量驱动型团队:** * 建立信息透明机制,确保团队成员了解团队的共同目标。 * 建立及时反馈机制,促进团队协作。 * 认真对待Sprint回顾会议,进行持续改进。 **3. 打造全员学习的团队氛围:** * 鼓励团队成员持续学习和成长。 * 引导团队成员从技术方面不断提升自己。 **4. 打造全员学习的团队氛围:** * 在研发过程中,明确总体的质量目标。 * 确保团队所有成员理解各自需要为哪部分的质量负责。 * 引导团队成员从技术方面不断提升自己。

正文

随着敏捷开发模式逐渐走入大众视野,它开始逐步取代了传统的瀑布式开发模式,被越来越多的研发项目团队采用。敏捷开发采用快速迭代,快速发布可用版本的方法,持续输出、持续改进。不同于传统的软件开发模式,敏捷开发模式有着自己鲜明的价值和方法。 但即使实践了敏捷,我们可能还会发现,Bug并没有消失。

面对这些Bug的出现,团队成员常常会产生这样的疑惑:

  • 为什么明明进行了很多轮的测试,但软件正式上线还是会出现很多Bug?
  • 为什么这么明显的Bug,上线之前就没有测试出来?
  • 这些Bug,是不是因为测试人员工作不到位造成的?
但实际上,测试人员并不能决定软件质量的好坏。尤其在团队选择敏捷开发模式下,敏捷测试部分也同以往的软件测试流程有所不同。这对测试人员提出了新的要求,带来了新的挑战。那么如何平衡敏捷的快速迭代开发和解决Bug的矛盾呢?

一、为团队设立专职QA

敏捷团队中的敏捷测试人员通常被称为质量分析师、SET、测试工程师、QA Lead,在敏捷团队,大多数人也会把QA当作一个独立的角色使之与其他团队成员区分开来。那么QA之间又有什么不同呢?通常QA可以分为三类:业务侧、技术侧、DevOps侧,这三者形成了QA的三个维度。敏捷团队中的QA可能具备其中的一个或者是这三类中所有的技能。
QA

大多数人也会把QA当作一个独立的角色使之与其他团队成员区分开来。我认为这是一个过时的概念。QA和开发人员的区别在于思维方式的不同。

业务侧QA:他们帮助团队更清晰地了解整个项目的业务问题。通过 QA把客户需求转化为验收测试用例,帮助没有技术背景的客户和没有业务视角的程序员打破维度不同的职业壁垒。在用户故事开始之前,敏捷团队QA需要和程序员一起结对讨论用户需求,帮助团队了解更多的业务信息。在此期间,他们会督促软件开发工程师来写验收测试,以确保用户故事能够及时被测试。

技术侧QA:通常在敏捷团队中,技术侧QA都需要有过硬的专业技术,他们甚至和程序员没有任何技术上的差距。他们可以利用丰富的自动化测试知识实现TDD,协助团队为项目选择合适的测试框架,为团队提供一个良好的测试策略,确保产品质量。

DevOps侧QA:在敏捷团队中,DevOps侧QA需要根据迭代节奏和持续交付的原则,帮助团队构建持续集成的测试流水线,以便每次出现问题后都能及时得到反馈并解决。帮助团队以良好的状态高质量地完成持续交付。DevOps方向的QA会通过设置一些脚本来帮助团队成员能够更方便地在本地执行测试,例如代码扫描、单元测试、组件测试和功能测试,并推进团队实现自动化测试的开发与执行。 

这三类QA的共同目标,都在于帮助团队在敏捷开发的每个迭代周期都能够更加注重交付给客户的有效价值,并且确保交付给客户的产品质量。敏捷团队中的QA会扮演多种角色,但是他们最终的目的都是为了帮助团队能够实现更快更好的交付业务价值。

二、构建质量驱动型团队

除了在敏捷团队中加入QA,把握三大不同的业务方向,在敏捷过程中,有效的项目监管和控制是至关重要的。而软件的质量也取决于每一个团队成员,通过团队间的充分合作,要做到团队整体对质量负责。
teamwork

1、确保信息透明

需要让团队成员知晓团队的共同目标,每次交付产品的服务对象和用户需求和质量目标是什么。包括短期目标和长期目标,包括业务动态、发展战略、用户反馈、工作中心、持续改进的状态、项目进度、团队压力等各个方面,信息透明能够打破团队成员间的业务边界,更好地融入团队,彼此协作,这是一个敏捷团队健康与否的重要标志之一。

2、建立及时反馈机制

在敏捷团队中,软件质量的基础在于团队是否能够真正实现持续测试、持续交付、持续集成、及时反馈。这就需要团队建立一个健康向上的合作机制,并不断优化反馈渠道,一个良好和谐的反馈机制可以促进团队的健康发展,有助于构建质量驱动型团队。

3、认真对待Sprint回顾会议

Sprint回顾会议是敏捷软件开发中非常重要的一环,但有些团队的回顾会议流于形式,并没有带来什么效果。Sprint回顾会议是团队检视自身并创建下一个Sprint的机会。Sprint回顾会议的目的在于:
  • 回顾前一个Sprint中的情况;
  • 找出并加以排序做得好的和潜在需要改进的主要方面;
  • Scrum Master制定改进团队工作方式的计划。
在Sprint回顾会议中,最需要保持开放的氛围,团队成员彼此信任,并乐于接受新的想法、观念,最终形成一个质量驱动的高效率团队。

4、打造全员学习的团队氛围

敏捷方法论并不能取代生产力,不同技术水平的开发人员,最终交付的软件质量是不同的,因为我们没有办法让开发人员完成他能力范围之外的工作。敏捷开发仅仅是一种开发模式,它不是银弹,敏捷不能解决问题,只能让问题暴露的更早。如果团队不能解决技术问题。就不能完成持续的高质量交付。因此,构建学习型团队,让团队成员养成不断学习的习惯。这样能够帮助团队从根本上提升研发水平,降低开发成本、提高开发效率并提升产品质量。

项目团队整体对软件质量负责是敏捷开发的基本原则,但要真正做到这点,并非易事。需要我们在研发过程中,明确总体的质量目标,并且确保团队所有成员理解清楚各自需要为哪部分的质量负责,在研发项目的全生命周期,需要引入专业的QA人员来站在更高维度对整体质量做把控,需要多职能角色的合作,取长补短,能力互补。同时也要注重团队建设,组建学习型的健康团队。

与敏捷开发模式下如何快速提升产品质量相似的内容:

敏捷开发模式下如何快速提升产品质量

在团队选择敏捷开发模式下,敏捷测试部分也同以往的软件测试流程有所不同。如何平衡敏捷的快速迭代开发和解决Bug的矛盾?

自我管理型团队:企业组织力提升利器

越来越多的研发团队和企业已经开始重视并使用敏捷开发模式,而自我管理型团队是组织实现业务敏捷道上的重要组成部分。

PDCA循环——快速提升软件质量的必备工具

近年来,软件项目的规模及其复杂性正在以空前的速度增长,互联网用户市场庞大,互联网公司和相应的软件产品层出不穷。快速响应需求变化往往是互联网行业的常态,软件产品的快速开发迭代对于公司迅速占领市场、抢占商机有着举足轻重的意义。 伴随着行业的快速发展,原有的研发模式逐渐不能适应高速发展的市场大环境。因此,

高复用性自动化脚本设计实践

作者:京东物流 刘红妍 导读: 在自动化测试实践中,为了更好的契合被测业务场景,需要不断优化框架分层结构。本文结合产品模块化思路,意在介绍通过策略模式改造原本复杂分支语句代码,通过理论讲解、思路分析、方案设计、及代码演示,提供自动化脚本重构的落地方案。 在今年的敏捷团队建设中,我通过Suite执行器

需求太多处理不过来?MoSCoW模型帮你

MoSCoW模型是在项目管理、软件开发中使用的一种排序优先级的方法,以便开发人员、产品经理、客户对每个需求交付的重要性达成共识。

固定交付项目适用敏捷开发方式吗?

假设一个固定交付的项目,这个开发项目是构建一个应用程序,时间表是一年。在项目进行期间可能出现什么问题?

当“代码农”遇上“码农”:揭秘主干开发的那些事儿

前段时期我负责部门内部主干开发落地相关事宜,这个过程中,也真真切切的体会到了多人开发过程中,面对特性分支管理中,大家遇到的一些困扰,尤其面对敏捷迭代的开发方式,合并冲突,集成测试,代码重用等方面,都与高效两个字背离。当然,我在推进主干开发过程中,也遇到了一些问题和坎坷,在这里,集中的做一次分享。

私藏管理秘诀帮你打造高绩效团队

本文解决了激励敏捷团队的挑战,并挑战了涉及奖励和惩罚的传统方法。

用户故事地图怎么用?实践才能出真知

在产品设计和交互过程中,用户体验是一个非常重要的部分。随着产品的逐渐完善,主创团队也需要通过各个维度来了解用户需求,完善用户的整体体验。

Sprint产品待办列表的优先级要怎么排?

用户故事的优先级要怎么排列,我们怎样选择用户故事的实现顺序?