2.7.3 Scrum 团队

  • 理想的环境
  • 团队章程
  • 如何组建 Scrum 团队
  • 产品待办事项列表
  • 用户故事
  • 敏捷开发流程

理想的环境

  • 5-9人
  • 100%
  • 跨职能
  • 在一起
  • 自组织

自组织

  • 目标
  • 授权
  • 沟通
  • 可视化
  • 辅导
  • 奖励

要我做 => 我想做,我要做,我要做好

团队章程

  • 团队价值观:速度与工作时间
  • 工作协议:例如:“就绪”定义,“完成”定义
  • 基础规则:例如:会议规则
  • 团队规范:迟到、冲突
  • 坦诚、高效沟通
  • 包容
  • 相互帮助
  • 简洁、反馈、尊重

如何组建 Scrum 团队

  • 先确定 scrum master 人选,再由 SM 组建其他团队成员
  • SM 应该由熟悉 scrum 流程和敏捷原理的人担当
  • 根据项目的需要决定团队中要拥有哪些技能
  • 团队中没有 team lead 这样的强势领导
  • 选取能力较强的人作为团队成员
  • 崇尚全栈工程师

产品待办事项列表

用户故事

  • 三个要素
  • 3C 原则
  • 拆分原则
  • 拆分关键点

三个要素

  • 角色:站在用户角度描述需求的一种方式,谁要使用这个功能
  • 活动:从操作场景描述,需要完成什么样的功能
  • 商业价值:为什么要这个功能,带来什么样的价值

典型描述句式:中文:作为一个 XXX <客户角色>,我需要 XXX <功能>,带来 XXX 好处<商业价值>

英文:As a , I want to , so that

3C 原则

  • 卡片(Card):卡片上可能会写上故事的简短描述,规则和完成标准
  • 交谈(Conversation):用户故事背后的细节来源于和客户或产品负责人的交流沟通
  • 确认(Confirmation):通过验收测试确认用户故事被正确完成

拆分原则

  • I:Independent,可独立交付给客户
  • N:Negotiable,便于与客户交流
  • V:Valuable,对客户有价值
  • E:Estimate,能估计出工作量
  • S:Small,分解到最底层的用户故事粒度尽量小,至少在一个迭代中能完成
  • T:Testable,可测试

拆分关键点

  • 周期控制在 1·5 个工作日,一般在 1 个工作日
  • 识别关键路径上的 Story,并做风险管理,避免影响项目进度
  • Story 下 Task 分解由模块负责人组织开发一起分解并做工作量评估
  • 每个 Story 要有负责人,一般由工作量较多的人负责,可以由研发认领

敏捷开发流程

  • PO 和开发团队对产品业务目标达成共识
  • PO 负责建立并维护产品待办需求列表,并排优先级
  • PO 在每轮迭代前,先 review 需求列表,并筛选高优先级需求进入本轮迭代开发内
  • 开发团队细化、拆分本轮迭代需求,并按照需求优先级,依次在本轮迭代内完成
  • 开发团队每日站会同步更新开发进展,并持续集成,使开发任务进展透明可见。站会时团队成员应自个解释进展,而非 SM 代替解释
  • PO 对每轮迭代(比如:2周)交付的可工作的软件进行现场验收和反馈
  • Sprint 回顾会
  • 回到第三步,开启下一轮

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

如有任何疑问,请与我联系 (MingsonZheng@outlook.com) 。

.NET 云原生架构师训练营(模块二 基础巩固 Scrum 团队)--学习笔记的更多相关文章

  1. .NET 云原生架构师训练营(设计原则与模式)--学习笔记

    在复杂系统的架构设计中引入设计原则与模式,能够极大降低复杂系统开发.和维护的成本 目录 几个问题 为什么要学习设计模式 优良架构设计的具体指标 理解复杂系统 面向对象思想(指导复杂系统的分析.设计.实 ...

  2. .NET 云原生架构师训练营(权限系统 代码重构)--学习笔记

    目录 模块拆分 代码重构 模块拆分 代码重构 AuthenticationController PermissionController IAuthorizationMiddlewareResultH ...

  3. .NET 云原生架构师训练营(KestrelServer源码分析)--学习笔记

    目录 目标 源码 目标 理解 KestrelServer 如何接收网络请求,网络请求如何转换成 http request context(C# 可识别) 源码 https://github.com/d ...

  4. .NET 云原生架构师训练营(模块一 架构师与云原生)--学习笔记

    目录 什么是软件架构 软件架构的基本思路 单体向分布式演进.云原生.技术中台 1.1 什么是软件架构 1.1.1 什么是架构? Software architecture = {Elements, F ...

  5. .NET 云原生架构师训练营(建立系统观)--学习笔记

    目录 目标 ASP .NET Core 什么是系统 什么是系统思维 系统分解 什么是复杂系统 作业 目标 通过整体定义去认识系统 通过分解去简化对系统的认识 ASP .NET Core ASP .NE ...

  6. .NET 云原生架构师训练营(权限系统 RGCA 架构设计)--学习笔记

    目录 项目核心内容 实战目标 RGCA 四步架构法 项目核心内容 无代码埋点实现对所有 API Action 访问控制管理 对 EF Core 实体新增.删除.字段级读写控制管理 与 Identity ...

  7. .NET 云原生架构师训练营(模块二 基础巩固 敏捷开发)--学习笔记

    2.7.1 敏捷开发 敏捷介绍 敏捷的起源 敏捷软件开发宣言 敏捷开发十二原则 生命周期对比 敏捷开发的特点 敏捷的发展 敏捷的核心 敏捷的起源 2001年,17个老头子在一起一边滑雪,一边讨论工作, ...

  8. .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 介绍和基础)--学习笔记

    2.5.1 MongoDB -- 介绍 mysql vs mongo 快速开始 mysql vs mongo 对比 mysql mongo 数据存储 table 二维表结构,需要预先定义结构 json ...

  9. .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 问答系统)--学习笔记

    2.5.6 MongoDB -- 问答系统 MongoDB 数据库设计 API 实现概述 MongoDB 数据库设计 设计优化 内嵌(mongo)还是引用(mysql) 数据一致性 范式:将数据分散到 ...

随机推荐

  1. idea 中使用Mybatis Generator逆向工程生成代码

    通过MAVEN完成 Mybatis 逆向工程 1. POM文件中添加插件 在 pom 文件的build 标签中 添加 plugin 插件和 数据库连接 jdbc 的依赖. <build> ...

  2. latex参考文献删除[.s.l],[.s.n]

    用latex写毕业论文的插入会议参考论文的时候可能会遇到编译后的文档里面一堆[.s.l],[.s.n]的问题. 这是因为ref里面会议条目找不到地址信息,所以用[.s.l],[.s.n]替代,只需要更 ...

  3. 深入浅出java的Map

    HashMap的组成 首先了解数组和链表两个数据结构 1.数组 寻址容易,插入和删除元素困难 数组由于是紧凑连续存储,可以随机访问,通过索引快速找到对应元素,而且相对节约存储空间. 但正因为连续存储, ...

  4. 使用spark将内存中的数据写入到hive表中

    使用spark将内存中的数据写入到hive表中 hive-site.xml <?xml version="1.0" encoding="UTF-8" st ...

  5. Java 8 Lambda表达式-接口实现

    Java 8 Lambda表达式在只有一个方法的接口实现代码编写中,可以起到简化作用: (argument list) -> body 具体看Runnable接口的例子 public class ...

  6. 浅谈 FHQ-Treap

    关于FHQ-Treap             --作者:BiuBiu_Miku 可能需要的前置知识:    一.树形结构的了解:        树形,顾名思义,就是像树一样有很多分叉口,而这里以二叉 ...

  7. Python利用xlutils统计excel表格数据

    假设有像上这样一个表格,里面装满了各式各样的数据,现在要利用模板对它进行统计每个销售商的一些数据的总和.模板如下: 代码开始: 1 #!usr/bin/python3 2 # -*-coding=ut ...

  8. ASP.NET Core 3.1使用log4net/nlog/Serilog记录日志

    Serilog中的结构化日志支持非常好,而且配置简便.我能够比其他任何人更轻松地启动和运行Seirlog.Serilog中的日志可以发送到很多目的地.Serilog称这些东西为"接收器&qu ...

  9. Git 是如何存储文件的

    01.存储方式 Git 从核心上来看不过是简单地存储键值对(key-value).它允许插入任意类型的内容,并会返回一个键值,通过该键值可以在任何时候再取出该内容. Git 存储数据内容的方式,为每份 ...

  10. Idea mybatis maper接口与mapper.xml文件关联 会根据接口中的方法点在mxl中生成相应sql方法