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

敏捷开发
• 阅读 252

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

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

  • 为什么明明进行了很多轮的测试,但软件正式上线还是会出现很多Bug?
  • 为什么这么明显的Bug,上线之前就没有测试出来?
  • 这些Bug,是不是因为测试人员工作不到位造成的?

但实际上,测试人员并不能决定软件质量的好坏。尤其在团队选择敏捷开发模式下,敏捷测试部分也同以往的软件测试流程有所不同。这对测试人员提出了新的要求,带来了新的挑战。那么如何平衡敏捷的快速迭代开发和解决Bug的矛盾呢?

一、为团队设立专职QA

敏捷团队中的敏捷测试人员通常被称为质量分析师、SET、测试工程师、QA Lead,在敏捷团队,大多数人也会把QA当作一个独立的角色使之与其他团队成员区分开来。那么QA之间又有什么不同呢?通常QA可以分为三类:业务侧、技术侧、DevOps侧,这三者形成了QA的三个维度。敏捷团队中的QA可能具备其中的一个或者是这三类中所有的技能。 敏捷开发模式下如何快速提升产品质量 大多数人也会把QA当作一个独立的角色使之与其他团队成员区分开来。我认为这是一个过时的概念。QA和开发人员的区别在于思维方式的不同。

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

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

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

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

二、构建质量驱动型团队

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

1、确保信息透明

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

2、建立及时反馈机制

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

3、认真对待Sprint回顾会议

Sprint回顾会议是敏捷软件开发中非常重要的一环,但有些团队的回顾会议流于形式,并没有带来什么效果。Sprint回顾会议是团队检视自身并创建下一个Sprint的机会。Sprint回顾会议的目的在于:

  • 回顾前一个Sprint中的情况;
  • 找出并加以排序做得好的和潜在需要改进的主要方面;
  • Scrum Master制定改进团队工作方式的计划。 在Sprint回顾会议中,最需要保持开放的氛围,团队成员彼此信任,并乐于接受新的想法、观念,最终形成一个质量驱动的高效率团队。

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

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

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

点赞
收藏
评论区
推荐文章
【敏捷研发系列】前端DevOps流水线实践
软件开发从传统的瀑布流方式到敏捷开发,将软件交付过程中开发和测试形成快速的迭代交付,但在软件交付客户之前或者使用过程中,还包括集成、部署、运维等环节需要进一步优化交付效率。因此Devops的产生将敏捷的相关理念扩展到运维侧,从而将产品、设计、开发、测试、运维团队更紧密的结合在一起。而从交付给客户产品视角看,前端研发通常又是在整个产品设计开发链条的最终节点,意味着前端团队受到上游变更的影响是最大的,并且从经营理念效率出发,提升前端交付效率是至关重要的。
待兔 待兔
3年前
敏捷软件开发背景下的软件设计
在目前大部分的软件开发组织中,敏捷开发已经成为毋庸置疑的标配。随着数位技术大神和布道师的宣扬和数量庞大的敏捷教练的身体力行式推广,商业环境和客户需求变更速度的日益加快,采用端到端交付周期更短的敏捷开发过程基本已经成为项目成功的必要条件。软件设计的刚需被敏捷了吗?工作流程的变更以及开发节奏的加快并不能绕开一个很核心的问题
Stella981 Stella981
3年前
Jenkins自动化部署
感谢之前带领过我的leader,让我能够知道什么是好的开发方法。在很早之前就接触过敏捷开发。什么是敏捷开发,简单来说就是让软件可靠地,快速地发布出来的一种开发方法和技巧。而敏捷开发中有许多的实践,可能并不是每一种实践都适合于你的团队,但是总有一种能帮助你们的团队快速地将软件可靠地,高可用地发布出来。如果在读这篇文章之前,还没有接触过敏捷开发,那么
Wesley13 Wesley13
3年前
NO.49 敏捷之旅2012年12月22日青岛站即将来袭。。。
一年一度花相似,岁岁年年人不同,时隔一年,敏捷之旅又来到了青岛,相比去年,我们的开发敏捷了吗?是?否?简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,所以不管你的回答是如何,只要我们敢于尝试,敢于提高,就会给我们的开发活动带来益处,来吧,加入到今年的青岛站的活动中,和各位敏捷专家、同行一起分享、交流一下吧,让我们更加了解敏捷,让我们的开
Stella981 Stella981
3年前
Scrum敏捷开发工具推荐!
软件开发的项目经理一枚!大家都知道,一个好的敏捷工具对开发项目可以起到推波助澜、事半功倍的做用!我们做敏捷开发,如何敏捷?当然敏捷工具的选用也是非常关键的因素,对我们也起着关键的作用!我来介绍一下我所找到的,好用的敏捷工具:国内的「Leangoo(中文名:领歌)」Leangoo是一款基于看板的项目协作工具,Leangoo(https://
Stella981 Stella981
3年前
DevOps 不好用?99% 的 DevOps 团队都是“花架子”
!(https://oscimg.oschina.net/oscnet/649d0da08e2e4937b54a62a80428de31.jpg)从精益和敏捷发展起来的DevOps这几年已经逐渐取代精益和敏捷,成为新一代的软件开发模式。虽然很多企业都在尝试,真正落地得好的团队并不多。根据CA在全球范围内的调
敏捷开发 敏捷开发
7个月前
敏捷开发:想要快速交付就必须舍弃产品质量?
在创新驱动的市场环境中,敏捷开发已成为许多组织的首选软件开发方法。其关键优势在于能够快速适应市场变化,并频繁地交付靠谱的产品。然而,快速交付的同时,团队要如何确保产品质量,确保交付的产品都是高质量的、可靠的且附加价值的,一直以来都是大家挑战以及争论的焦点。
敏捷开发 敏捷开发
4个月前
敏捷激流中的测试
敏捷开发浩浩荡荡流行了20多年,彻底改变了软件研发行业。如果说敏捷开发对产品、开发和测试这三种类型的工作哪一个影响最大,我会选择测试。因为敏捷开发模式下迭代周期缩短,很多问题会更集中地暴露出来,比如用户故事拆分往往不够细致精确、开发和测试无法并行展开、开发
敏捷开发 敏捷开发
4个月前
实践了上万次,原来这些才是敏捷测试需要遵循的原则
与传统的阶段性测试不同的是,敏捷测试能够将测试集成到整个软件开发过程中,尽早、及时地发现缺陷,帮助交付有价值的高质量产品。传统测试与敏捷测试的比较大的区别在于:在瀑布方法中,测试只能在开发结束后进行;在敏捷方法中,测试是贯穿在整个开发过程中的,同时可以在需
敏捷开发
敏捷开发
Lv1
女 · 产品经理
公众号:敏捷开发 网址:www.minjiekaifa.com
文章
44
粉丝
2
获赞
0