概要:
对于纯敏捷,例如Scrum,它的工作流与混合型的敏捷(比如SpecDD)总是会有一些区别,在本博客中,我
会用现实工作中的例子来解释这些区别。在Scrum中,工作流经常是非常简单的,一个任务可能仅仅包括了
几个状态,开始,进行中,工作完成,关闭。但是在SpecDD中,工作流经常没那么简单,因为质量控制和需求管理也是工作流的一部分。
一个典型的SCRUM工作流
下面的图展示了一个典型的Scrum工作流程,您可以看到,当一个任务在产品Backlog中,这种任务一般状态
叫做待开始状态,当它被分配到一个Sprint中,并且经过Sprint计划会议,这个任务一般就会下一个状态叫
做进行中。然后开发人员会开始这些任务,当完成时,这个任务状态就会被更改到已完成。而在此过程中,
QA测试这个环节通常是只是作为这个任务的子任务来完成。
所以,为了精确地估计一个开发Sprint的工作量,所有的开发任务与测试任务都会被创建,然后通过剩余时
间来预估工作流,但是会带来一个结果,QA测试的工作量很难去估计出来。
一个简单的Scrum工作流程有一下好处:
-
它很简单。Scrum团队每个成员在Sprint计划会议后会给每个任务给出一个预估的剩余时间,然后接下来每天,每个成员会工作在这些任务上,并且及时更新剩余时间。一个好的团队可以渐进式地完成他们的工作量,然后也会有一个好看的燃尽图来展现工作进度。
-
它鼓励建立一个自我驱动的团队。当测试任务也预估完以后,测试工程师需要依靠开发人员的“准时”才能确保他们可以预期完成任务。然后即使开发已经完成了他们的开发工作,测试工作还要依靠开发的质量才能保证能够准时完成测试工作。然后,这样的流程已经被证明是可以工作的,当然它是建立在一个高度自我驱动来完成任务并且兼顾质量的团队基础上的。
简单工作流程的缺点也是明显的:
-
QA测试工作量很难被正确预估,即使是很有经验的团队。开发人员可以估计完成一个开发工作需要花多少时间,但是测试工作没法这么估计。一个简单的工作流也没有鼓励测试人员去
充分测试以保证质量。 -
燃尽图不应该包括剩余测试时间,燃尽图应该只包括开发的时间。
一个典型的SpecDD工作流
下图展现了一个典型的SpecDD工作流程,你会看到,状态被分成了三个组:对于开发工作包括了待分配,进行中与工作结束;这里面也把测试过程包含了进来,有测试中与测试复查;它同样也把需求过程包含了进来。
QA测试过程主要用于:
-
测试复查:用于那些开发与QA Floater无法重现的Bug
-
测试中:用于那些开发人员或者QA Floater都没法去确认任务。这个状态主要是用于敏捷团队从其它传统测试团队获取帮助。当QA Floater没法完全确认一个Bug是否被修复,那么原始的提交者或者有相应测试环境的测试人员就会被要求来帮助确认Bug的修复。
SpecDD的优点:
-
它有一个更强大的测试保证机制。它能使敏捷团队在充分保证质量的同时又不会丢掉驱动任务完成的灵活性。
-
它使得燃尽图主要是基于开发工作的剩余时间来计算。测试任务更多是作为开发工作的子任务存在的。测试任务不仅可以由QA Floater在任何时候添加,而且还可以从其它非敏捷团队中“借”测试人员来完成。
-
当一个需求不是很明确,产品负责人必须介入进来协调需求定义或者界面设计的时候,这个过程就可以作为正式工作流的一部分。
SpecDD的相对难点:
-
它不是很简单
-
它可能需要很多时间让团队来学习这个可以与测试/需求集成的敏捷流程。对于那些可能参与过简单敏捷方式的团队来说,或许没法很快接受这个相对复杂的敏捷流程
相关推荐
阅读《硝烟中的Scrum和XP-SCRUM与极限编程》可以帮助你理解这两种敏捷方法如何协同工作,提升软件开发效率。通过学习Scrum的迭代管理和XP的编程实践,你将能够更好地应对项目中的不确定性,为客户提供更优质、更适应...
例如,Scrum的Sprint周期和回顾会议可以与XP的持续集成和结对编程相结合,提供一个既注重过程管理又强调技术实践的环境。Scrum的Sprint待办事项列表可以借鉴XP的编程实践,如TDD,以确保每个Sprint产出的软件是高...
**解析**:本题目集旨在帮助考生通过Scrum Master (CSM) 认证考试,该考试评估考生对Scrum框架、原则及实践的理解与应用能力。 #### 描述:100%原题,保证你拿到价值RMB 7000的CSM证书 **解析**:这段描述强调了...
"SCRUM实施与检查列表"是指导团队有效执行Scrum方法的工具,旨在确保所有关键环节都得到充分考虑和执行。这个检查列表通常包含以下部分: 1. **角色**:Scrum有三个核心角色——产品负责人(Product Owner)、Scrum...
Product Owner需要具备良好的沟通能力、商业头脑和技术知识,能够与团队成员和stakeholders进行良好的沟通和协作。 在本题库中,我们将讨论Scrum Master和Product Owner的角色职责、cross-functional teams的优点和...
Scrum 教材总结 Scrum 是一种敏捷开发框架,对于软件开发和项目管理非常重要。本文将对 Scrum 的起源、Scrum 模型、Scrum 框架、现状和为什么会失败等方面进行详细的介绍。 一、Scrum 起源 Scrum 的 idea 来自于 ...
《Scrum与XP:战壕中的敏捷实践》一书由亨里克·尼伯格(Henrik Kniberg)撰写,深入探讨了Scrum、XP(极限编程)以及敏捷开发方法在实际项目中的应用与实践。该书免费提供在线版,并鼓励读者通过购买印刷版来支持...
Product Owner确保Backlog反映了业务价值和需求,并与各方利益相关者进行沟通协调。 2. **Scrum Team**(Scrum团队):由一群开发者组成,他们在Sprint期间共同协作,将Backlog中的工作转化为可交付的价值增量。...
### Scrum概述与核心概念 **Scrum**作为一种敏捷开发框架,在软件开发及项目管理领域内备受推崇。本文旨在帮助读者在短时间内理解Scrum的基本原理及其应用价值。 #### Scrum的核心理念 Scrum被定义为一种简单的...
Scrum 是一个轻量的框架,它通过提供针对复杂问题的自适应解决方案来帮助人们、团队和组织 创造价值。 简而言之,Scrum 需要 Scrum Master 营造一个环境,从而: 1. 一名 Product Owner 将解决复杂问题所需的工作...
个人准备的介绍Agile意涵和Scrum 方法 的讲解PPT,可以用来理解Agile 和Scrum 之间的关系,给新人讲解
Scrum是一种敏捷开发框架,主要用于管理复杂的产品开发过程。它以迭代和增量的方式进行,强调团队自组织和协作,以快速响应变化并提供价值。Scrum的核心理念是通过短周期的Sprints(通常为2-4周)来实现产品的持续...
Scrum的核心理念是通过短期迭代(称为Sprints)和跨职能团队的工作来不断交付可用的软件,并在整个过程中密切与利益相关者合作。 **敏捷软件开发** 敏捷软件开发强调人与人之间的互动,重视快速响应变化,而不是...
scrum及常见问题 ,scrum及常见问题处理解决办法等等
#### Scrum与瀑布模型的区别 Scrum提供了一种与传统瀑布模型不同的项目管理方法。瀑布模型假设在项目启动时就能完全理解所有需求,并按照预定阶段顺序进行开发。相比之下,Scrum采取了一种增量迭代的方法,优先开发...
### Scrum 在企业中的应用与实践 #### 一、Scrum 概览 Scrum 是一种敏捷开发框架,主要用于管理复杂的产品开发项目。它强调团队合作、迭代开发、自我组织和适应变化。《The Enterprise and Scrum》由敏捷运动领袖 ...
Andrew Pham拥有Certified ScrumMaster(CSM)、Certified ScrumProduct Owner(CSPO)和Certified SaumProfessionaI(CSP)认证。此外,他获得的认证还包括PMP、Java技术架构师(Sun授权)、OOADUML专家(IBM授权)...