解读敏捷 之 响应变化高于遵循计划

传统的软件开发是瀑布式的,它提倡设定计划,遵循计划,按部就班的实施,其中一部分的重要产出就是大量完备的文档。

但是敏捷宣言中明确的指出:工作的软件高于详尽的文档!这并不是说,敏捷中文档不重要,但在敏捷中有哪些文档呢?只记录结果文档。

这又是问什么呢?这就要与敏捷宣言中的另一句话:响应变化高于遵循计划,一起结合着看!

进行过敏捷的团队都了解用户故事,用户故事是在迭代计划中团队承诺的 feature,并会对用户故事进行故事拆分和工时评估。并且,Scrum 迭代规定 Sprint 冲刺中不要打断或更改团队冲刺的故事。

但是,大多数团队在进行中很快就变成是小迭代中的小瀑布!团队在计划会议中被要求完成多少个故事,大多数情况缺少前期调研和整理,任务拆分不是按照过程拆分(调研、设计、开发、测试),就是纵向拆分(页面开发、逻辑层开发、接口开发)等。基本感觉就是要完成这些故事,了解个大基本,很多细节还要到迭代中进行梳理和整理。

这时,如果你面临的第一个问题就是,如何保证在迭代内完成承诺的用户故事?

如果你是这样做的:为了保证完成,开始制定计划时间表和里程碑,为了在开始在迭代前梳理清楚需求,要求有 PRD,并在迭代中规定不要轻易改变迭代内容等,那么,你就真的将敏捷变成了小瀑布了。也许你会说,故事拆分就是为了定义边界,让我们知道在迭代中做什么故事。还有燃尽图,就是要按照计划的速度进行开发。

这样做,你就真的理解错了敏捷的含义!你做的就真的不是敏捷!

计划会议固然重要,我们花费大量的时间进行故事评估、任务拆分。目的是什么,快速迭代!这没有问题,但同时还有重要的一条,敏捷是快速响应变化高于遵循变化。回到根本,为什么要快速迭代,就是因为需求变化的太快。变化快到你刚刚评估完毕一个用户故事,下一刻它有了变化。这时,难道你还要固守什么迭代不要被打破或更改的规则么?

团队承诺、响应变化。就是因为这一点,在敏捷中工作的软件高于详尽的文档,并且敏捷中少有过程文档,任何产品或故事都是以结果为导向的。面对变化,敏捷是响应变化,而不是追踪变化。

敏捷团队的 wiki 中只有最终的结果文档,并且往往是开发完成之后补的。这时,你也许会疑惑,那故事评估和任务拆分,以及燃尽图统计还有什么意义?如果故事拆分的任务没有任何工作的指导性,那还有必要拆分么?

回答这个问题,就要说下团队。在敏捷中,团队的积极性和自主性显得格外重要,以及相互信任。害群之马一定要从团队 T 除。

故事是如何进入到迭代中的?故事是产品细粒度划分之后,按照优先级,被团队评估和初步拆分任务之后放入迭代的。这就是计划会议,其目的只有一个,统一愿景!其余所有的都是为了帮助完成目标的实践!

你会问,团队承诺、响应变化,我们如何确信团队能完成迭代中的内容?随时可能变得需求和设计,时刻在变的计划,在没有完成之前又没有任何文档,如何保证团队能完成?就只凭团队承诺?对!就是相信!如果是你是领导者,你唯一能做的相信团队,要做的就是保护团队!

也可以说,敏捷就是如此激励团队的!相信团队,让团队发挥力量解决问题,他们能搞定!你不用干涉他们!所以,这也就是为什么说,敏捷中,领导只需要关注看板上空闲的任务,而不是空闲的人。

但是,你如何做到这点,如何激励团队,这在以后咱们会继续讨论!

所以,至此来回答前面的问题:计划会议、故事评估、任务拆分、站立会议、回顾会议、演示会议,所有的一切,都是为了让团队高效服务的!

可是,你还会问!如果团队没有实现承诺怎么办?首先,你要看,团队是否真的有没有全力以赴。如果有,你就要看看迭代的任务是什么原因,是故事太多,是干扰太多,还是什么问题。如果不是,你就要看看团队出了什么问题,如何能激发团队的积极性。而这些你都可以在团队的 Retro 上与团队一起讨论。

总之,如果团队天天加班都没有完成,那真的团队承诺的太多了。遇到这个问题,要说的就是,敏捷提倡工作效率,而不是靠时间堆出来的虚假繁忙和过度劳累!

让我们在回顾一下 Scrum 的由来:在橄榄球冲刺之前,教练指挥部署战术、制定计划,但是一旦开始之后,就是要靠团队随机应变,尽最大的努力完成目标,并不断地总结每一次成功和失败。

用最后一句话进行总结:敏捷让团队只做最有价值的!

ps. 你在决定让团队做一件事时,首先想想,这事情真的会给团队产生价值么?团队会真的执行么?如果拿不定主意,就让团队来决定吧!

—————————— 本文同步发布于 ZHANGSR 我的个人博客  ——————————

时间: 2024-10-12 11:06:49

解读敏捷 之 响应变化高于遵循计划的相关文章

【项目管理】敏捷组织中PMO应遵循的准则

敏捷改变了人们的工作方式,不仅仅是开发部门,而且还包括其它的部门,例如HR.财务以及PMO等.在大多数组织中,PMO是一个控制体.它指导项目团队的规范.模板以及流程.目前,大多数的IT组织都敏捷化了. Nick Oostvogels,SkyCoach公司的项目经理及敏捷教练,最近发表了敏捷组织中PMO的新角色的文章.Nick说,组织敏捷带来了一些影响,例如业务单元有偏差.项目组合规划不满足敏捷的步调,以及项目管理办公室不知道如何支持敏捷团队. 一个经典的PMO突然必须处理敏捷项目时都会表现相同的

江边望海解读敏捷十二原则

1.前言 敏捷确实是一个好东西.特别是对于那些正在经受着需求变更.人员变动.BUG修改不彻底的团队来说是非常管用的.在产品开发的时候,刚才的那些问题只是冰山一角.团队还面临着开发人员工作量统计,代码编写随意,需求变更频繁,产品经理当测试经理的诸多问题.一句话:队伍大了管理成本是在直线上升的.那么,如何才能解决看似『团队执行力问题』其实是『管理问题』的呢?江边望海将结合着这么多年的IT产品开发经验来分析一下如何使用『敏捷』打造一个高效的开发团队. 为什么要敏捷 为什么敏捷推不下去? 没有技术实力你

敏捷宣言的简单介绍

目录 一.什么是敏捷宣言? 二.敏捷宣言的诞生 三.具体内容 (一)官方网站 (二)四大核心价值 (三)十二原则 四.解读 五.背景和意义 参考 正文 一.什么是敏捷宣言? 敏捷宣言(Manifesto for Agile Software Development),也叫做敏捷软件开发宣言,正式宣布了对四种核心价值和十二条原则,可以指导迭代的以人为中心的软件开发方法.敏捷软件开发关注保持简洁的代码,经常性测试以及及时地交付应用的功能模块.敏捷宣言的创建是为了替代文档驱动的繁重的软件开发流程,例如

2016年开篇 - 敏捷与成果经济

Manifesto for Agile Software Development 敏捷软件开发宣言 Individuals and interactions over processes and tools 个体和互动 高于 流程和工具 Working software over comprehensive documentation 工作的软件 高于 详尽的文档 Customer collaboration over contract negotiation 客户合作 高于 合同谈判 Resp

敏捷开发与传统开发方式的比较

敏捷开发的起源 在90年代末期,传统软件开发的方式因为其繁杂的过程,以及对文档的过于严格的要求,造成了很大程度上的效率下降,也就是人们所说的"重型化危机".因为这一原因,人们开始反思传统方法的利弊,并对其弊端进行了改进,提出了敏捷方法. 2001年2月,由Martin Fowler,Jim Highsmith等17位软件开发专家起草的敏捷宣言发表,敏捷联盟成立.敏捷开发作为一种新的方法正式诞生.敏捷宣言中所表述的价值观分为四个方面: (1)个体和互动 高于 流程和工具(2)工作的软件

敏捷软件开发和传统软件工程

一.   传统软件工程 从上个世纪60年代开始,人们开始逐渐认识到了确实存在着"软件危机" 这样一个事实,软件开发人员被诸如下列问题困扰: 软件生产不能满足日益增长的需要 软件开发成本和开发进度估计往往不准确 软件开发人员和用户之间信息交流不充分,用户对完成的软件满意度很低 软件价格昂贵,软件成本在整个计算机系统中所占的比例急剧上升,软件已成为许多计算机系统中花钱最多的项目 软件质量难以保证 软件可维护性差,程序中的错误很难改正,适应性或完善性维护都极其困难 导致危机问题的一个重要原因

敏捷软件开发?什么是敏捷?

敏捷软件开发?什么是敏捷? 敏捷开发(Agile development)是如今软件工程项目中一个大热的词汇,很多大大小小的开发团队都喜欢高举敏捷开发的旗号,搞出一套显得大大不同于传统的运行模式来区分自己的团队博取眼球,他们手头所做的事情,只是套用一套流行的敏捷开发模板,如Scrum,Crystal,XP到自己的开发流程中,就认为自己的整个开发体系会有一个质的飞越.然而他们是否能真正驾驭所谓的敏捷开发?他们是否理解了敏捷开发的核心理念?这都是要划一个大大的问号. 笔者我在刚刚接触这个词的时候,下

Scrum敏捷项目管理精要

1. 简介: 敏捷项目管理在我们国家起步比较晚,成功运用的项目不多 百分之六十五的敏捷项目用户为scrum 2.互联网时代的特征,雷军的话: 专注,极致,口碑,快(敏捷项目开发就是要快速) 3.敏捷开发各门派 4.敏捷的四大宣言及其内涵 1)个体和互动高于流程和工具 2)工作的软件高于详尽的文档 3)客户合作高于合同谈判:强调和客户之间的合作,尽可能少用合同来说话 4)响应变化高于遵循计划:快速响应客户的要求,不需要把软件全部开发出来再投入市场,可以开发某些功能,投放到客户,然后再不断地完善 5

一步步学敏捷开发:1. Scrum概述

Scrum概述 Scrum概述无非就是敏捷宣言.敏捷原则.Scrum框架和价值观.在之前先看段比较专业的Scrum介绍. Scrum是跨职能团队以迭代.增量的方式开发产品或项目的一种开发框架.它把开发组织成被称为Sprint的工作周期.这些迭代每个都不超过4周(最常见的是两周),并且无间歇地相继进行.Sprint是受时间箱限制的,无论工作完成与否它们都会在特定日期结束,并且从不延长.通常由Scrum团队来选定一个Sprint的时长,并且对于他们所有的Sprint都使用这一时长,直到这个团队能力提