瀑布式Scrum(Water-Scrum-Fall)
Forrester公司的调研总监兼副总裁Dave West认为,瀑布式Scrum(Water-Scrum-Fall)已经成为当今IT界的普遍现象了。Dave在
SD Times网站上发布了Forrester的调研结果。报告提到:越来越多的公司正通过
自底向上的实施以及自顶向下的改革这一两手抓的方式,不断推动着引入敏捷方法的进程。然而,敏捷实施的实际情况却与敏捷宣言所述的初衷背道而驰,很多实施都变成了四不像,好比Forrester取的新名词瀑布式Scrum(Water-Scrum-Fall)。
Forrester公司确信发生这种情况是因为
敏捷通常由那些敏捷先锋们引领,而他们又往往会更多地考虑自己最熟悉的领域。大多数情况下他们最熟悉的是软件开发。像交付管理、项目计划等领域则依然按传统的方式进行运作。
文章进一步诠释了Water-Scrum-Fall这一新名词:
- Water – 定义了前期项目计划过程,通常发生在IT和业务部门之间。
- Scrum – 一种迭代的、自适应的方法,用以实现在Water阶段事先敲定的总体计划。
- Fall – 一个可控的非频繁交付的产品周期,通过组织级策略来监管,也受限于企业基础架构。
这篇文章还针对开发团队在面对Water-Scrum-Fall时应该
如何增强敏捷性给出了一些建议。包括:
- 一个完整的Scrum团队必须包括所有交付可运行软件所需的人员。通常来说,就是开发人员、测试人员以及业务分析员为一个共同目标一起奋斗。
- 应用程序开发人员应该对不频繁交付的现状提出质疑,并不断推动开发团队去优化集成交付流程。
- 在前期花费很多时间并不会改善交付质量;恰恰相反,这是种浪费。
- 文档做得好并不意味着就能开发出可工作的软件,所以写任何文档都只需要切中要害,确保能制订出概要计划并且可以着手开发就行。
不过读到这儿,让人联想起从2011年六月Mike Dwyer在Big Visible上发布的
博文。文中,Mike断言Scrum将分为三大阵营:
纯Scrum派、挂羊头卖狗肉派和实用主义派。
在Water-Scrum-Fall开发团队转变为纯Scrum派之前是不是就是挂羊头卖狗肉那一类的呢?或者Water-Scrum-Fall本质上更趋近于实用主义?让我们听听读者的看法吧。你怎么看呢?
查看英文原文:
Have the Pragmatists Won? Water-Scrum-Fall Is the Norm
转自:
实用主义的胜利?瀑布式Scrum(Water-Scrum-Fall)大行其道!
Scrum交互瀑布式测试
我认为
为每个用户故事进行独立测试是敏捷流程的基础,即使是在一个和瀑布式流程融合的场景里。不光是敏捷或者Scrum,无论是任何软件开发流程,我们都应该把测试集成到流程当中。这样的方法符合现代质量管理的基本原则:
“质量是靠创造出来的,而不是靠检查出来的”。
尽管在Scrum中引入瀑布式流程也需要遵循这条原则的原因是:因为在流程的最后阶段才进行测试会导致众所周知的问题(详见Mike Cohn的《Scrum敏捷软件开发》)。团队
不应该将质量看作成开发工作以外的事情,而将测试工作分配给团队里的唯一成员(测试专家)。让整个团队都参与到测试中来是非常重要的(详见Lisa Crispin和Janet Gregory的《敏捷软件测试:测试人员与敏捷团队的实践指南》)。
- 大小: 26.5 KB
分享到:
相关推荐
Scrum的核心理念是适应变化而非严格遵循计划,这与传统的瀑布式项目管理方法形成鲜明对比。 #### 传统软件开发方法:瀑布模型 传统的软件开发过程通常被称为“瀑布模型”。该模型的特点是从需求分析开始,依次经过...
在物联网(IoT)产品开发中,小型软件产品的流行使得传统的瀑布式过程模型不再适用。敏捷方法强调灵活性和快速响应变化,能够更好地适应市场需求。 1. 敏捷心态的核心特点: - 简单设计:避免过度设计,以实现快速...
敏捷开发(Agile Development)是一种以人为本、迭代式的开发方法论,旨在通过一系列灵活的管理策略和技术实践,提高软件开发团队的效率和响应市场变化的能力。相较于传统瀑布模型,敏捷开发更加强调团队成员之间的...
《IBM-1052-Agile for Dummies》是一本深入浅出地介绍敏捷开发方法的指南,由Scott W. Ambler与Matthew Holitza共同编写,旨在为那些希望了解或采用敏捷方法的读者提供全面且易于理解的资源。本书版权属于John Wiley...
瀑布式方法论是一种线性顺序的过程,它将项目管理划分为需求分析、设计、实现、测试和维护等阶段。这种方法强调前期的详尽规划,并且一旦完成计划,整个项目将沿着既定路径前进,直到最终交付。在瀑布模型中,变更...
传统的“瀑布式”模型在面对需求变更和不确定性时显得力不从心。Scrum模式则允许在开发过程中动态调整,通过短周期的迭代(Sprint)和频繁的反馈,适应需求变化,提高产品质量。 Scrum模式包括了几个关键角色:产品...
在当今快速变化的市场和技术环境中,传统的瀑布式项目管理方法已无法满足高效灵活的需求。因此,敏捷(Agile)方法论应运而生,并逐渐成为软件开发领域的重要理念之一。本篇文章将基于文件“CSM_agile.pdf”的内容...
3. **迭代开发(Iterative Development)**:Scrum采用迭代式开发模式,每次迭代(Sprint)通常为2至4周,团队致力于完成一系列可交付的产品增量。每个Sprint结束时,产品应达到“完成”状态,即满足所有约定的标准...
敏捷方法论是一种与传统瀑布式开发截然不同的软件开发方法。敏捷方法论的核心是快速、灵活地响应变化,重视人与人之间的交流、协作和顾客合作,强调对变化的适应能力而非遵循严格不变的计划。本篇讲义主要介绍几种...
这种模型与传统的瀑布式流程不同,它能够连续不断地提供小增量的价值,并持续关注对客户有高价值的成果。敏捷绩效改进模型考虑了在建立持续价值流时,人类因素的整合。 敏捷开发在软件开发中使用了多种结构,例如...
SBOK指南提供了一个框架,帮助团队从传统的瀑布式开发方法过渡到更为灵活和适应性强的Scrum方法。通过遵循SBOK指南,项目团队可以更高效地协作,更加频繁地交付产品增量,从而更好地满足客户的需求。 综上所述,...
敏捷软件开发是二十世纪六十年代软件危机的应对措施,以前的软件开发过程是瀑布式的,强调过程控制和严格的阶段性,但是这种方法不能满足快速变化的市场需求。为了解决软件危机,引入了敏捷软件开发方法,旨在快速...
敏捷开发的兴起与传统瀑布式开发方法相辅相成,在现代快速变化的商业环境中,敏捷开发的模式得到了广泛的关注和应用。敏捷开发教程通常会介绍敏捷的基本原则、实践方法以及如何在现有项目或团队中实施敏捷。 对于想...
2.禅道的主要特点:禅道具有以下特点:瀑布式项目管理、Scrum 项目管理、看板管理、任务管理、Bug 管理、文件管理、wiki 知识库、讨论区、报表统计等。 3.禅道项目管理:禅道支持瀑布式和 Scrum 两种项目管理模式。...
敏捷软件开发的优秀实践包括One Track Anatomy、Systemakut、Lagomising、持续集成迭代交付、计划游戏、重构、Scrum迭代计划会议、回顾会议、稳定开发节奏、客户参与验收、每日站立会议、测试驱动开发、XP、Scrum ...
徐毅在演讲中分享了他的个人经历,从早期的开发、外包、ERP和CRM测试,到2005年加入Scrum,参与敏捷测试。随后在2006至2007年间经历角色的转变,加入到Scrum Master和敏捷教练的工作中,并在随后几年积累丰富的实践...
随着信息技术的快速发展,传统的瀑布模型等线性开发方式逐渐显露出其局限性。1980年,Gerry Weinberg在其著作《Adaptive Programming:The New Religion》中首次提出了增量式开发的思想。1985年,Barry Boehm发表了...