60 lines
3.2 KiB
Markdown
60 lines
3.2 KiB
Markdown
|
|
|||
|
## 基于Scrum的实训项目开发
|
|||
|
|
|||
|
### 1. **项目背景与目标设定**
|
|||
|
- **定义项目**
|
|||
|
> 基于开源项目paopao-ce,使用其前端,使用spring boot开发后端系统
|
|||
|
- **明确目标**
|
|||
|
> - 了解scrum开发流程,理解scrum开发模式,了解scrum开发模式中的角色和职责,了解scrum开发模式中的 artefact(工件)
|
|||
|
|
|||
|
> - 掌握基于spring boot框架的开发
|
|||
|
|
|||
|
> - 掌握基于git的协作开发流程
|
|||
|
|
|||
|
> - 了解CI/CD流程
|
|||
|
|
|||
|
### 2. **Scrum团队组建**
|
|||
|
- **角色分配**:
|
|||
|
- **产品负责人(Product Owner, PO)**:负责定义用户故事,确定产品功能的优先级,代表客户利益。
|
|||
|
- **Scrum Master**:保障Scrum流程顺畅执行,解决过程中遇到的障碍,促进团队自我管理。
|
|||
|
- **开发团队**:跨职能团队,负责设计、开发和测试工作,自主决定如何实现产品功能。
|
|||
|
|
|||
|
**练习任务**: [任务1 项目启动](./任务1-项目启动与开发模型学习.md)
|
|||
|
|
|||
|
### 3. **Scrum工件准备**
|
|||
|
- **产品待办事项列表(Product Backlog)**:PO创建并维护,列出所有需求项,作为工作的来源。
|
|||
|
- **Sprint待办事项列表(Sprint Backlog)**:每次Sprint开始时,团队从产品待办事项列表中挑选最高优先级的事项,形成Sprint待办事项列表。
|
|||
|
- **迭代计划会议(Sprint Planning)**:确定Sprint目标,选择本次迭代要完成的工作项,并估算工作量。
|
|||
|
|
|||
|
**练习任务**: [任务2 需求分析和管理](./任务2-需求分析和管理)
|
|||
|
|
|||
|
### 4. **Sprint周期与仪式**
|
|||
|
- **Sprint周期**:建议2-4周,根据项目复杂度和学生可用时间调整。
|
|||
|
- **每日立会(Daily Scrum)**:每天简短会议,团队分享昨日进展、今日计划及遇到的障碍。
|
|||
|
- **Sprint评审会议(Sprint Review)**:Sprint结束时展示成果给PO和其他利益相关者,收集反馈。
|
|||
|
- **Sprint回顾会议(Sprint Retrospective)**:团队反思过去Sprint的流程,讨论改进措施。
|
|||
|
|
|||
|
**冲刺周期一的任务**
|
|||
|
- [任务3 创建spring boot初始项目](./任务3-Sprint-1-创建spring%20boot初始项目.md)
|
|||
|
- [任务4-restful接口回应数据的统一封装的实现t](./任务4-Sprint-1-restful接口回应数据的统一封装的实现.md)
|
|||
|
- [任务5-实现统一异常处理](./任务5-Sprint-1-实现统一异常处理.md)
|
|||
|
- [任务6-注册接口实现](./任务6-Sprint-1-注册接口实现.md)
|
|||
|
- [任务7-基于JWT的用户认证实现](./任务7-Sprint-1-基于JWT的用户认证实现.md)
|
|||
|
|
|||
|
### 5. **敏捷实践应用**
|
|||
|
- **用户故事**:使用用户故事来描述需求,确保团队关注用户价值。
|
|||
|
- **工作可视化**:使用看板或任务板来可视化工作进度,增强透明度。
|
|||
|
- **持续集成与交付(CI/CD)**:教授并实践自动化构建和部署,快速反馈代码质量。
|
|||
|
|
|||
|
### 6. **评估与反馈循环**
|
|||
|
- **迭代反馈**:每个Sprint结束后,通过回顾会议收集反馈,不断优化流程。
|
|||
|
- **个人成长**:鼓励学生反思个人在敏捷团队中的角色和贡献,设定个人成长目标。
|
|||
|
|
|||
|
### 7. **工具与资源**
|
|||
|
- **工具推荐**
|
|||
|
> 使用gitea进行项目管理和问题追踪
|
|||
|
>
|
|||
|
> 使用gitea进行版本控制。
|
|||
|
|
|||
|
- **学习资源**
|