专栏首页Tech爬虫(公众号php_pachong)详解IBM的大规模敏捷框架SAFe

详解IBM的大规模敏捷框架SAFe

大规模敏捷框架

PM吃瓜

在企业层面实现敏捷的一致性。

常规的敏捷框架适用于中小型项目团队,而且不具有扩展性。基于常规的敏捷框架,SAFe定义了一个可扩展的敏捷框架模型,它适用于大型多个团队的合作开发,可以提高团队之间的协作性,降低团队管理的复杂性。

面向企业的Scrum-SAFe。多个团队共同使用SAFe,避免多个团队独自使用敏捷,一旦失败影响其他团队。

三个层面的敏捷

第一投资组合层:由投资组合管理委员会来负责定义和驱动投资策略如何形成和资金的组合形式,然后将其体现成为叙事诗(Epics)。一个 Epic 可以是一列单独的敏捷火车(Agile Release Train)来执行, 也可以是几个火车的组合。Epic 是直接面向客户的、设计架构级别的业务解决方案。

第二层计划层:由产品经理(Product Manager)负责把等待安排的计划(Backlog)进行排序,并且把投资策略转化成具体的新功能(Feature),同时和业务负责人一起设计出项目的愿景和路线。

在第三层团队层:由产品负责人(Product Owner)和团队成员根据上面的定义细化出用户故事(User Story)和验收标准,开发团队可以从候选的用户故事里面优先选择可以提前开始的内容,其余的留到故事池里面等待后续的选择。

名词解释

1.Agile release train ART,敏捷发布火车

2.Scrum Train Engineer RTE , scrum 火车工程师, 敏捷火车的主管;RTE 负责一列敏捷火车的总体执行

3.Scrum master SM, scrum 主管、 Scrum 主管 (Scrum Master) 是团队级别上 Scrum 的负责人,确保 scrum的正确使用并使得 Scrum 的收益最大化。

4.Scaled Agile Framework SAFe, 大规模敏捷框架, SAFe 的一个企业级的投资策略往往由多列敏捷发布火车(Agile Release Trains)来组成。

5.Epics: 叙事史诗

6.Program Increment PI , 递增的sprint 计划,用来做时间控制

7.Innovation and Planning IP, 创新和计划

IP Sprint 是位于整个增量计划周期里的最后一个阶段,也是两周的时长。 通常在第一周,我们会对整个新功能进行系统级别的验证和回归测试,估算下一次增量计划的缓冲时间,总结我们在实施项目过程中哪些是做的好的地方,可以继续;哪些地方需要改进,总结经验和教训。最后,我们可以对下一次的增量发布进行提前计划。 在 IP Spring的第二周,可以在这个阶段对即将发布的代码进行规划,包括各个相关团队做发布包等的筹备。

8.Program 计划

9.Team 团队

10.Portfolio 投资组合

11.Program portfolio Manager 投资组合管理委员会

12.Product manager 产品经理

13.Backlog 待办事项

14.Feature 新功能

15.User story 用户故事

16.Product owner 产品负责人

17.Release planning 发布计划

18.System demo 系统展示

19.Program Board 计划展示板

20. Spike A task aimed at answering a question or gathering information, rather than at producing shippable product. Sometimes a user story is generated that cannot be well estimated until the development team does some actual work to resolve a technical question or a design problem. The solution is to create a “spike,” which is some work whose purpose is to provide the answer or solution.

原则

  • 请注意一列敏捷火车是由多个团队组成的。
  • 在我们进入首个 Sprint 阶段之前,需要举行一个发布计划会议。 在一个 PI 完成后,而下一个 PI 开始前,这个会议在上一个 PI 的 IP Sprint 期间召开。
  • 不需要把所有 Sprint 都提前进行计划,可以遵循近详细,远粗略的原则。
  • 实时更新用户故事,随着需求的逐步确认和沟通,用户故事的内容和验收标准需要实时更新。
  • 每个 Sprint 都需要经历同样的工作:设计,编码和用户故事的测试。
  • 任意一个 Sprint 都必须产出是对计划任务有价值的内容,在较短的时间箱(2 周)内防止实现和计划任务的偏离。一旦发现偏离,可以及时纠正。

时间控制

  • 递增的 Sprint 计划(Program Increments,简称 PI), 用来对一列敏捷火车的提交和发布时间进行总体规划。PI 将在固定的时间箱内计划出一个可量化、可实现和最终可测量验收的计划路线图。
    • 一个 PI 周期可以是 8 到 12 周的长度,包含一个位于最末端的 IP (Innovation and Planning) Sprint。
  • 在团队管理层主要是通过 Sprint 来做为一个时间箱标准,一般一个 Sprint 为 2 到 4 周。
    • 在每个 Sprint 的开始阶段,需要进行 Sprint 计划会议。通过会议,确定在本 Sprint 需要完成哪些用户故事,保持开发人员,测试人员和相关人员的理解是一致的。
    • 我们无法精确估算将要完成的工作量,可以建立一个Spike,理解为:以回答问题或收集信息为目的的任务,而不是生产非专业产品的任务

集成

在单个 Sprint 期间,敏捷测试包括用户故事的测试和端到端的测试, 如何在有限时间内完成如此步骤繁杂的测试呢?需要我们的测试人员对业务知识的了解是是全面的,拥有各个团队的相关业务知识背景和访问权限。

发布计划

发布计划需要遵循下面的的几点:

  1. 一般来时,推荐进行时长两天的面对面的计划会议。
  2. 在上一个 PI 的基础上,计划下一个发布计划的 PI。
  3. 始终保持开发工作和业务需求以及计划一致,从而保证每个 Sprint 的产出对用户或者业务而言是有价值的。
  4. 对将要实现的新功能进行排序,筛选出优先级前十的功能和特征。
  5. 辨识出每个 sprint 的 sprint 目标、存在的风险,并且把各个团队之间的依赖和阻碍记录到计划展示板(Program Board)中。
  6. 确保大家对新功能的优先排序保持理解一致。

本文分享自微信公众号 - 物联俱乐部(wu_lian_club),作者:瓜哥

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 敏捷开发(Agile development)

    敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,...

    公众号php_pachong
  • 敏捷产品项目的开发经验

    敏捷开发越来越火热,但在实际应用当中很多时候都是只有敏捷的“形”,却缺少敏捷的“神”,还只是在摸索中。借鉴一种新的模式的时候,最好能够批判性的吸收其精华的部分,...

    公众号php_pachong
  • 工作包和活动到底是什么关系?

    先说结论, WBS是项目范围管理中的核心内容,活动是项目时间管理的核心元素。属于两个不同的范畴内的要素!

    公众号php_pachong
  • 敏捷度量的Why、What、Who、When

    敏捷不仅有度量,度量还是敏捷项目非常重要的一部分,但敏捷度量和传统的度量存在很大的区别,敏捷度量不是以评估和考核为目的的,它是为了帮助团队拉通目标和行动、指导指...

    ThoughtWorks
  • Eureka应用注册与集群数据同步源码解析

    在之前的EurekaClient自动装配及启动流程解析一文中我们提到过,在构造DiscoveryClient类时,会把自身注册到服务端,本文就来分析一下这个注册...

    Java学习录
  • 设计模式之module模式及其改进

    写在前面 编写易于维护的代码,其中最重要的方面就是能够找到代码中重复出现的主题并优化他们,这也是设计模式最有价值的地方 《head first设计模式》里有一篇...

    okaychen
  • 《DevOps实践指南》第二部分 从何处开始

    LinkedIn的“反转行动”(Operation InVersion)是一个有趣的案例,它证明了为什么要把偿还技术债务作为日常工作的一部分。2011年,Lin...

    yeedomliu
  • 被空降到一个团队当领导,你会如何烧自己的三把火?

    当领导当然是好事情,升官发财嘛!然而许多人当了领导没多久,要么自己逃了,要么被大领导赶走了。业绩不好,被大领导赶走,这还可以想象,为何有些人自己要逃呢?一个非常...

    王拥军
  • 写个localStorage的小例子

    我在搜狗问问帮别人写代码的时候遇到一个小的问题,问题是这样的,就是题主希望在别的页面获取到前一个页面存在js里面的数据,这个时候一般都会想到的是用cookie,...

    何处锦绣不灰堆
  • 观点:我们为什么需要威胁情报?

    最近被谈论的异常火热的一个术语就是威胁情报,那么威胁情报到底是什么意思,它是一种什么概念或者机制呢?本文中我们就来亲密接触一下威胁情报,并了解它所具有的功能,然...

    FB客服

扫码关注云+社区

领取腾讯云代金券