This commit is contained in:
many2many 2024-05-15 08:57:42 +08:00
parent 6dada9d542
commit 14d32974b2
3 changed files with 75 additions and 2 deletions

BIN
docs/guides/imgs/scrum.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

View File

@ -3,6 +3,11 @@
#### 1. Scrum 简介 #### 1. Scrum 简介
Scrum 是一种敏捷的项目管理和产品开发框架,用于帮助团队以迭代和增量的方式交付复杂的产品。它强调跨功能团队的协作、透明和检查。 Scrum 是一种敏捷的项目管理和产品开发框架,用于帮助团队以迭代和增量的方式交付复杂的产品。它强调跨功能团队的协作、透明和检查。
Scrum是一个用于开发和维护复杂产品的框架是一个增量的、迭代的开发过程目的是让开发人员像打橄榄球一样迅猛并充满激情通过团队合作提高工作效率。通过团队间的有效交互为企业创造价值。
Scrum的开发流程:
![](./imgs/scrum.png)
#### 2. Scrum 的三个角色 #### 2. Scrum 的三个角色
- **产品负责人Product Owner**负责定义产品愿景、管理产品待办列表Product Backlog并确保团队理解待办事项。 - **产品负责人Product Owner**负责定义产品愿景、管理产品待办列表Product Backlog并确保团队理解待办事项。
- **Scrum Master**负责确保Scrum框架被正确理解和实施帮助团队成员解决阻碍进度的问题。 - **Scrum Master**负责确保Scrum框架被正确理解和实施帮助团队成员解决阻碍进度的问题。
@ -15,6 +20,45 @@ Scrum 是一种敏捷的项目管理和产品开发框架,用于帮助团队
- **Sprint Review**Sprint结束时团队展示他们完成的工作。 - **Sprint Review**Sprint结束时团队展示他们完成的工作。
- **Sprint Retrospective**Sprint结束后团队回顾并讨论如何改进下一个Sprint。 - **Sprint Retrospective**Sprint结束后团队回顾并讨论如何改进下一个Sprint。
#### 3. 五个会议
Scrum 整个开发过程分为五个会议:
- **待办事项整理会议Backlog Grooming Meeting**
迭代计划会议开始之前3天召开Product Owner与Scrum Master必须参加关键开发者或架构师需要参加时间控制在30分钟到1小时。
由Product Owner将一批希望团队在下次迭代时实现的用户故事按照实现顺序描述给在场的团队成员Scrum Master与在场成员分析用户故事明确指出团队认为需求不明确的地方Product Owner现场记录会后补全Scrum Master与架构师还有在场成员分析用户故事需要包含哪些技术任务Scrum Master先把子任务建立方便迭代计划会议的时候团队可以更准确地预估任务故事点。
会议结束时Product Owner确保在迭代计划会议开始之前团队提出的问题都能被解决会议重点如果团队发现需要加强或是完善的地方Product Owner还有两到三天的时间可以补强而不是浪费迭代计划会议的时间去做这件事情。
- **迭代计划会议Sprint Planning Meeting**
产品负责人建立产品功能列表Product Backlog。产品功能列表是一组条目化需求它必须从客户价值角度描述并按优先级排序。
Scrum Master召集相关人员召开迭代计划会迭代计划会在每个迭代第一天召开目的是选择本次迭代的Backlog和估算本次迭代的工作量。
产品负责人逐条讲解最重要的产品功能开发团队共同估算Backlog所需工作量直到本迭代工作量达到饱和。产品负责人参与讨论并回答和需求相关的问题但不干扰估算结果。队员认领任务或由组长协商分发独立或与别人一起完成任务会议时间控制在1-2小时内。
- **每日站会Standup Meeting**
团队内部利用每日立会来沟通进度15分钟结束开发团队利用燃尽图来展示整体进度如无特殊原因迭代期内无变更在每日站会上团队成员需要回答以下3个问题
昨天你做了什么?
今天你将要做什么?
你有需要帮助的地方吗?
这些都是团队成员的彼此承诺。
- **评审会Retrospective Meeting**
小组向产品负责人展示迭代工作结果产品负责人给出评价和反馈。以用户故事是否能成功交付来评价任务完成情况。整个团队都需要参加ScrumMaster、产品所有者、团队可能还有客户时间控制在1-2小时内。
- **反思会Retrospective Meeting**
在每个迭代后召开简短的反思会总结哪些事情做得好哪些事情做得不好。做得好的保留不好的摒弃。会议得出这样的结论开始做什么、继续做什么、停止做什么一般控制在15-30分钟。
Scrum是一套开发流程是敏捷的一种实施主要还是看人强调是自组织、自驱动的只有不断的在实际应用中仔细体会才能理解Scrum的真谛把Scrum用好。
#### 4. Scrum 的三个工件 #### 4. Scrum 的三个工件
- **产品待办列表Product Backlog**:产品负责人维护的一个有序列表,包含所有需要完成的工作项。 - **产品待办列表Product Backlog**:产品负责人维护的一个有序列表,包含所有需要完成的工作项。
- **Sprint Backlog**在Sprint Planning期间团队从产品待办列表中选择的工作项计划在当前Sprint中完成。 - **Sprint Backlog**在Sprint Planning期间团队从产品待办列表中选择的工作项计划在当前Sprint中完成。
@ -46,3 +90,22 @@ Scrum 是一种敏捷的项目管理和产品开发框架,用于帮助团队
- **多任务处理**避免多任务专注于当前的Sprint目标。 - **多任务处理**避免多任务专注于当前的Sprint目标。
- **沟通不畅**通过Daily Scrum和其他会议保持团队沟通。 - **沟通不畅**通过Daily Scrum和其他会议保持团队沟通。
- **需求频繁变更**:通过产品待办列表的细化和优先级调整来管理变更。 - **需求频繁变更**:通过产品待办列表的细化和优先级调整来管理变更。
#### 9. 附录: 12原则
敏捷开发的12原则这12原则作为敏捷开发对于软件开发流程的指导性纲领也是对敏捷宣言进行了具有实际操作意义的解释希望大家在实际应用中仔细体会。
我们遵循以下准则:
- 我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户。
- 欢迎对需求提出变更——即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势。
- 要不断交付可用的软件,周期从几周到几个月不等,且越短越好。
- 项目过程中,业务人员与开发人员必须在一起工作。
- 要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。
- 无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。
- 可用的软件是衡量进度的主要指标。
- 敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。
- 对技术的精益求精以及对设计的不断完善将提升敏捷性。
- 要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。
- 最佳的架构、需求和设计出自于自组织的团队。
- 团队要定期反省如何能够做到更有效,并相应地调整团队的行为。

View File

@ -3,9 +3,11 @@
### 1. **项目背景与目标设定** ### 1. **项目背景与目标设定**
- **定义项目** - **定义项目**
> 基于开源项目paopao-ce,使用其前端使用spring boot开发后端系统 > 基于开源项目[paopao-ce](https://github.com/rocboss/paopao-ce),使用其前端使用spring boot开发后端系统
- **明确目标** - **明确目标**
> - 了解scrum开发流程理解scrum开发模式了解scrum开发模式中的角色和职责了解scrum开发模式中的 artefact工件 > - 了解scrum开发流程理解scrum开发模式
> - 了解敏捷需求分析和管理
> - 掌握基于spring boot框架的开发 > - 掌握基于spring boot框架的开发
@ -35,11 +37,19 @@
- **Sprint回顾会议Sprint Retrospective**团队反思过去Sprint的流程讨论改进措施。 - **Sprint回顾会议Sprint Retrospective**团队反思过去Sprint的流程讨论改进措施。
**冲刺周期一的任务** **冲刺周期一的任务**
- 冲刺计划会议: 设定冲刺目标以及为冲刺选择用户故事
- [任务3 创建spring boot初始项目](./任务3-Sprint-1-创建spring%20boot初始项目.md) - [任务3 创建spring boot初始项目](./任务3-Sprint-1-创建spring%20boot初始项目.md)
- [任务4-restful接口回应数据的统一封装的实现t](./任务4-Sprint-1-restful接口回应数据的统一封装的实现.md) - [任务4-restful接口回应数据的统一封装的实现t](./任务4-Sprint-1-restful接口回应数据的统一封装的实现.md)
- [任务5-实现统一异常处理](./任务5-Sprint-1-实现统一异常处理.md) - [任务5-实现统一异常处理](./任务5-Sprint-1-实现统一异常处理.md)
- [任务6-注册接口实现](./任务6-Sprint-1-注册接口实现.md) - [任务6-注册接口实现](./任务6-Sprint-1-注册接口实现.md)
- [任务7-基于JWT的用户认证实现](./任务7-Sprint-1-基于JWT的用户认证实现.md) - [任务7-基于JWT的用户认证实现](./任务7-Sprint-1-基于JWT的用户认证实现.md)
- [任务8-实现获取当前用户信息接口](./任务8-Sprint-1-获取当前用户信息接口.md)
- 评审和反思会议
**冲刺周期二的任务**
- 冲刺计划会议: 设定冲刺目标以及为冲刺选择用户故事
- []()
- 评审和反思会议
### 5. **敏捷实践应用** ### 5. **敏捷实践应用**
- **用户故事**:使用用户故事来描述需求,确保团队关注用户价值。 - **用户故事**:使用用户故事来描述需求,确保团队关注用户价值。