.NET 云原生架构师训练营(模块二 基础巩固 Scrum 团队)--学习笔记
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 团队)--学习笔记的更多相关文章
- .NET 云原生架构师训练营(设计原则与模式)--学习笔记
在复杂系统的架构设计中引入设计原则与模式,能够极大降低复杂系统开发.和维护的成本 目录 几个问题 为什么要学习设计模式 优良架构设计的具体指标 理解复杂系统 面向对象思想(指导复杂系统的分析.设计.实 ...
- .NET 云原生架构师训练营(权限系统 代码重构)--学习笔记
目录 模块拆分 代码重构 模块拆分 代码重构 AuthenticationController PermissionController IAuthorizationMiddlewareResultH ...
- .NET 云原生架构师训练营(KestrelServer源码分析)--学习笔记
目录 目标 源码 目标 理解 KestrelServer 如何接收网络请求,网络请求如何转换成 http request context(C# 可识别) 源码 https://github.com/d ...
- .NET 云原生架构师训练营(模块一 架构师与云原生)--学习笔记
目录 什么是软件架构 软件架构的基本思路 单体向分布式演进.云原生.技术中台 1.1 什么是软件架构 1.1.1 什么是架构? Software architecture = {Elements, F ...
- .NET 云原生架构师训练营(建立系统观)--学习笔记
目录 目标 ASP .NET Core 什么是系统 什么是系统思维 系统分解 什么是复杂系统 作业 目标 通过整体定义去认识系统 通过分解去简化对系统的认识 ASP .NET Core ASP .NE ...
- .NET 云原生架构师训练营(权限系统 RGCA 架构设计)--学习笔记
目录 项目核心内容 实战目标 RGCA 四步架构法 项目核心内容 无代码埋点实现对所有 API Action 访问控制管理 对 EF Core 实体新增.删除.字段级读写控制管理 与 Identity ...
- .NET 云原生架构师训练营(模块二 基础巩固 敏捷开发)--学习笔记
2.7.1 敏捷开发 敏捷介绍 敏捷的起源 敏捷软件开发宣言 敏捷开发十二原则 生命周期对比 敏捷开发的特点 敏捷的发展 敏捷的核心 敏捷的起源 2001年,17个老头子在一起一边滑雪,一边讨论工作, ...
- .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 介绍和基础)--学习笔记
2.5.1 MongoDB -- 介绍 mysql vs mongo 快速开始 mysql vs mongo 对比 mysql mongo 数据存储 table 二维表结构,需要预先定义结构 json ...
- .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 问答系统)--学习笔记
2.5.6 MongoDB -- 问答系统 MongoDB 数据库设计 API 实现概述 MongoDB 数据库设计 设计优化 内嵌(mongo)还是引用(mysql) 数据一致性 范式:将数据分散到 ...
随机推荐
- 2020-2021-1 20209307 《Linux内核原理与分析》第八周作业
这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第八周作业> 这个作业的目标 & ...
- vue第九单元(非父子通信 events 单向数据流)
第九单元(非父子通信 events 单向数据流) #课程目标 了解非父子组件通信的原理,熟练实现非父子组件间的通信(重点) 了解单向数据流的含义,并且明白单向数据流的好处 #知识点 #1.非父子组件间 ...
- 多图详解Go的互斥锁Mutex
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 本文使用的go的源码时14.4 Mutex介绍 Mutex 结构体包含两个字段: 字段s ...
- BloomFilter中保存的数据量
结果 /** * @author WeiJiQian * BF_CARDINAL_THRESHOLD BF_FALSE_POSITIVE_RATE 保存的数据量 * 100,0000 0.01 391 ...
- Spark-4-为何要处理数据倾斜
什么是数据倾斜 对Spark/Hadoop这样的大数据系统来讲,数据量大并不可怕,可怕的是数据倾斜. 何谓数据倾斜?数据倾斜指的是,并行处理的数据集中,某一部分(如Spark或Kafka的一个Part ...
- JDK 8 新特性,从入门到精通
default关键字 在jdk1.8以前接口里面是只能有抽象方法,不能有任何方法的实现的. 在jdk1.8里面打破了这个规定,引入了新的关键字:default,使用default修饰方法,可以在接口里 ...
- day020|python之面向对象基础2
面向对象基础2 目录 面向对象基础2 7 对象与类型 7.1 类即类型 7.1.1 变量的三个指标 7.1.2 变量类型 7.2 list.append()方法原理 8 对象的高度整合 8.1 通过面 ...
- Sublime Text 2 强大的编辑功能
多行编辑功能:1) 同时编辑多行 (Ctrl+Shift+L (Win) 或 Command+Shift+L (Mac))如要在选中的多行文本的最后面同时添加一个字符"a",先选 ...
- [LeetCode]实现数学计算
乘方 思路是:pow(x,n) = pow(x,n/2)*pow(x,n-n/2) 递归实现 public double myPow(double x, int n) { if (n==0) retu ...
- [leetcode]380. Insert Delete GetRandom O(1)设计数据结构,实现存,删,随机取的时间复杂度为O(1)
题目: Design a data structure that supports all following operations in average O(1) time.1.insert(val ...