产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

扩展不需要蓝图和敏捷扩展循环

  • 2015-12-16
  • 本文字数:2914 字

    阅读完需:约 10 分钟

GOTO Berlin 2015 会议上,Stefan Roock 讨论了敏捷扩展不需要蓝图。InfoQ 有幸对其进行了采访,主要关于向 Scrum 中添加 XP 实践,为什么将敏捷框架作为组织设计的蓝图是不成熟的优化,和当扩展敏捷时,为什么文化和原则比实践更加重要。Roock 还解释了敏捷扩展循环(agile scaling cycle),并提供了如何使用的案例,讨论了这种方法对敏捷扩展的优点和缺陷。Roock 还用案例解释了如何使用敏捷扩展循环,讨论了这种方法对敏捷扩展的优点和缺点。

InfoQ:您讨论了在 mobile.de**** 中同时使用 Scrum**** 和 XP。添加 XP**** 实践的优势是什么?

Roock:一开始,mobile.de 能够每月发布一次。这在 Scrum 之前完全满足他们的工作方法。随着拥有超过 10 个并行 Scrum 团队之后,每月发布一次成了一个瓶颈。我们通过组织合并时隙(merge slot)设法解决这个问题——预定义每个团队将贡献合并候选版本的时间。

每个团队都尝试将尽可能多的特性放入每月发布一次的版本里,因此会为了下一次合并时隙产生冲突。当然合并过程中会发生不可预见的问题,因此合并会超过合并时隙。在这种情况下我们会为了该做什么争论不休。

  • 我们是否应该从发布中移除制造问题的团队,这样接下来的合并时隙计划可以保持不变。
  • 我们是否应该允许团队扩展合并时隙,如果这么做:我们是否应该推迟发布直到每个团队成功合并,或者我们是否应该从发布中移除晚于合并时隙的团队。

有一个专门负责这些事情的发布经理。

引入 Scrum 后不久,我们将重点放在持续集成和自动化测试方面(单元测试和 UI 测试)。这带来了更高的质量和更少的开支。团队更少使用分支,合并工作急剧下降。合并噩梦消失了,发布经理这一角色也过时了。

与此同时,mobile.de 开始使用 TDD、ATDD 和结对编程。

今天,如果需要,mobile.de 可以每天发布好几次。mobile.de 开发人员也在 ebay dev blog 记录了一些他们的经验。

InfoQ:您说将敏捷框架作为组织设计的蓝图是不成熟的优化。您能解释一下吗?

Roock:在我看来,局部和全局的蓝图 / 框架是不一样的。Scrum 是一种蓝图,也能够起作用。它帮助人们跨出第一步,给人们理解敏捷是什么和意味着什么提供指导方针。

当人们接受了敏捷的思维方式,他们就会找到适合他们自己的扩展方法。它会从实践中出现迭代——团队会检查 & 接受通往结构的方法。

扩展蓝图会对这种结构进行预先定义。但是为了什么呢?成熟的敏捷团队不需要它,并且会因此受到不必要的限制。而敏捷初学者团队也不应该扩展敏捷。在跑之间他们必须学会走路。

InfoQ:您有人们在不理解原则的情况下开始实践的案例吗?

Roock:在我开办的某次产品负责人培训中,曾经有个参与者说他有好几年的敏捷经验。当我们讨论产品 Backlog 时,他询问工具支持。以前他们使用 EXCEL,但是因为行数超出范围,他们又不得不舍弃它。原来,这家公司的实践非常的不敏捷,但是自己在局部贴上了 Scrum 标签。参与者觉得在公司学到了 Scrum,并且认为他真的有 Scrum 方面的经验。

另一件非常常见的事情是 Sprint 评审。我的培训学员中 80% 都将 Sprint 评审作为鉴定会(approval meeting)在使用:我们是否完成了我们计划的内容?只有非常少的一部分公司将 Sprint 评审用于讨论 Sprint 的投资回报率(ROI),并收集反馈用于改善产品。

而每次我被邀请去评估某个 Scrum 实施时,每日 Scrum 站立会议几乎每次都成了无聊的状态会议,而不是目标明确的充满精力的团队构建和计划活动。

InfoQ:您能否解释一下为什么你觉得在扩展敏捷时,文化和原则比实践更重要?

Roock:所有的敏捷方法都是非常的轻量化。只有少数的规则、角色、会议等等。这给适应目前的情况和改进留下了非常大的空间。同时也给错误留下了非常大的空间。

如果没有采用敏捷文化和原则,人们在敏捷实践时就会发生错误。他们会依据现有的参照标准解释实践。产品 Backlog 就会被看成是另一种形式的需求规格说明文档。Sprint 评审就会被当成鉴定会。每日 Scrum 站立会议就会变成状态报告。Scrum Master 就会扮演产品经理的角色,而产品负责人就成了某种官僚,负责向利益相关者索取需求。

敏捷原则有助于发现这些错误。

“欢迎改变需求,即使是在开发的后期。”这句话告诉我们一个固定的“产品 Backlog”肯定不能与敏捷思维同步。

“最好的架构、需求和设计来源于自组织团队。”这句话告诉我们如果仅仅向利益相关者询问他们的需求,开发肯定会发生错误。

在扩展方面,对于如何应用敏捷宣言有些方面并不明显。因此,一些教练包括我建立了扩展原则(详见 http://scaledprinciples.org )。这些扩展原则并不是新的发明,仅仅是有关扩展的现有原则的集合。

InfoQ:您能解释一下敏捷扩展循环的步骤吗?您为什么建议以这种顺序执行这些步骤?

Roock:敏捷扩展循环是一种简单的三步循环模型。在第一步中,我们减少团队之间的依赖。自主团队非常擅长敏捷。然后团队必须怀有敬意地对剩下的依赖关系进行协调。在这个工作中,组织的功能障碍会暴露出来,而团队的 Scrum Master 也没有能力移除每一个功能障碍(有些可能需要公司整顿)。Scrum Master 将为目前情况找出一个应急措施,而潜在的功能障碍将会在第三阶段得到解决:开发组织。

这个模型是我与 Peter Beck 在一次敏捷扩展培训中提出的。我们要求学员在便利贴上写下他们知道的扩展实践。当观察完学员写的内容后,我们意识到我们面临着一个巨大的工作量,我们需要一个结构来系统化实践。我们发现了三个集群:减少依赖、协调团队、开发组织。这些集群似乎非常有用,之后我们开始在演讲中使用,一段时间后,“敏捷扩展循环”这个称号就出现了。

与所有其它的模型一样,敏捷扩展循环也是错误的。但是有时它是有用的。敏捷扩展循环非常有利于集群扩展实践并且它有助于重点关注两个要点:

  1. 自主团队很重要。
  2. 检查 & 调整从而提高组织是必然的。

敏捷扩展循环错在次序。实际上,这三个步骤是并行完成的。你不会在步骤 2 中忙上几个月(协调团队),然后停止工作,带着一大堆的组织功能障碍问题进入步骤 3。

InfoQ:您能举例说明组织如何使用敏捷扩展循环?

Roock:我们通常被要求与不同团队一起“修复”敏捷实施。客户提的最多的问题是计划和协调团队。因此,他们在寻找更强大的计划和协调实践。

这些情况下,通常开始执行敏捷扩展循环步骤 1:减少依赖之后。当建立跨职能团队后,几乎所有情况下的这种问题都消失了。

第二个方面跟敏捷扩展循环的步骤 3 相关。企业必须认识到不仅仅团队层面需要持续改进过程。我们试图通过培训使大家建立这种认识。

InfoQ:敏捷扩展循环的优点和缺点?

Roock:优点之一是一开始你不需要拥有最佳结构。我非常喜欢 LeSS,但是一开始就完整安装 LeSS 对企业而言可能比较困难。敏捷扩展循环告诉我们努力减少依赖,然后与剩下的依赖一起合作。有问题的依赖就会暴露出来,那时就可以解决他们。

缺点之一是人们可能误解敏捷扩展循环是一个顺序过程,会推迟移除组织的功能障碍。另一个缺点是减少依赖和协调团队需要经验来选择合适的实践。当然,人们可能倾向于尽可能多地使用扩展实践——仅仅是为了确保成功。因此我创建了“Stefans 敏捷扩展成熟度模型”:你不再需要大量的协调实践。少即使多。

查看英文原文: Scaling Without Blueprints and the Agile Scaling Cycle

2015-12-16 18:001039
用户头像

发布了 92 篇内容, 共 25.0 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

不会一致性hash算法,劝你简历别写搞过负载均衡

程序员小富

Java 面试 算法 架构设计 一致性算法

使用 Visual Studio Code 编写和激活 ABAP 代码

汪子熙

vscode abap 1月月更 vs-code

Android技术分享| Android WebRTC 对 AudioRecord 的使用

anyRTC开发者

android 音视频 WebRTC 移动开发 AudioRecord

【数据库】查询优化之子连接优化

恒生LIGHT云社区

数据库 sql SQL子查询 子查询

恒源云(GPUSHARE)_CV领域有关【直方图】的论文小记

恒源云

深度学习 CV

今儿新学会一个写日志技能:双缓冲机制

华为云开发者联盟

线程 日志 应用程序 双缓冲区 Web程序

有关 TiDB 升级的二三事——教你如何快乐升级

PingCAP

12月发布两大特别专区!一图了解龙蜥社区大事件

OpenAnolis小助手

开源 操作系统 运营

澳鹏中国智能可配置工作流(Workflow 2.0)全新升级

澳鹏Appen

人工智能 工作流 workflow 数据标注 训练数据

数据库审计设备选择哪家好?谁能告知?

行云管家

数据库 服务器 数据库审计

【堡垒机】2022年企业买堡垒机就选行云管家!五大优点看这里!

行云管家

等保 堡垒机 过等保 等保2.0

【分布式技术专题】「Zookeeper系列」为大家介绍一下 Zookeeper 的"开发伴侣"—Curator-Framework(组件篇)

洛神灬殇

zookeeper ZooKeeper原理 1月月更 Curator-Framework

极客星球 | MobPush之FCM离线消息解密

MobTech袤博科技

FCM 离线消息

网易云信又双叒受到Gartner关注,看看这次的报告说了什么?

网易云信

Gartner 通信平台 CPaaS

深度解读企业云上办公利器「无影云电脑」

阿里云弹性计算

阿里云 无影云电脑

大数据实践:数据指标中心的建设思路

五分钟学大数据

大数据 1月月更

盘点 2022 云原生实战峰会重磅发布

阿里巴巴云原生

阿里云 开源 容器 云原生

java开发之SpringBoot实现自动执行代码

@零度

JAVA开发 springboot

人员流动大,简历管理纷杂怎么办?用低代码可以解决嘛?

优秀

低代码

为企业选择合适的CRM系统的技巧

低代码小观

CRM 客户关系管理 CRM系统 客户关系管理系统 企业管理软件

main函数你到底知道多少

恒生LIGHT云社区

后端 开发 Java’ main方法

【有奖评测】无影云电脑评测征集令,晒出评测赢万元豪礼

阿里云弹性计算

阿里云 无影云电脑 征文活动

大数据开发之Spark SQL 的 Catalyst介绍

@零度

大数据 spark SQL

MASA Framework - 整体设计思路

MASA技术团队

C# .net 框架 Framework dapr

星环科技AIoT平台让工业制造设备更智能、更耐用

星环科技

rosdep update遇到ERROR: error loading sources list: The read operation timed out问题

Ayosh

ROS

Apache 基金会年度报告 | ShardingSphere 代码提交量位列前十

SphereEx

数据库 开源 基金会 ShardingSphere SphereEx

【分布式技术专题】「Zookeeper系列」为大家介绍一下Zookeeper的"开发伴侣"—Curator-Framework(基础篇)

洛神灬殇

zookeeper curator 1月月更 CuratorFramework

如何高效上架HarmonyOS原子化服务?这个平台帮你搞定!

HarmonyOS开发者

HarmonyOS

复旦大学陈平博士:网络攻击猖獗,如何应对数据安全与内生安全挑战?

星环科技

网络安全

阿里云消息队列 2021 新功能新特性重要里程碑

阿里巴巴云原生

kafka 阿里云 RocketMQ 云原生 消息队列

扩展不需要蓝图和敏捷扩展循环_方法论_Ben Linders_InfoQ精选文章