## 基于Scrum的实训项目开发 ### 1. **项目背景与目标设定** - **定义项目** > 基于开源项目[paopao-ce](https://github.com/rocboss/paopao-ce),使用其前端,使用spring boot开发后端系统 - **明确目标** > - 了解scrum开发流程,理解scrum开发模式 > - 了解敏捷需求分析和管理 > - 掌握基于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) - [任务8-实现获取当前用户信息接口](./任务8-Sprint-1-获取当前用户信息接口.md) - 评审和反思会议 **冲刺周期二的任务** - 冲刺计划会议: 设定冲刺目标以及为冲刺选择用户故事 - [任务9-文件上传](./任务9-Sprint-2-%20文件上传.md) - 评审和反思会议 ### 5. **敏捷实践应用** - **用户故事**:使用用户故事来描述需求,确保团队关注用户价值。 - **工作可视化**:使用看板或任务板来可视化工作进度,增强透明度。 - **持续集成与交付(CI/CD)**:教授并实践自动化构建和部署,快速反馈代码质量。 ### 6. **评估与反馈循环** - **迭代反馈**:每个Sprint结束后,通过回顾会议收集反馈,不断优化流程。 - **个人成长**:鼓励学生反思个人在敏捷团队中的角色和贡献,设定个人成长目标。 ### 7. **工具与资源** - **工具推荐** > 使用gitea进行项目管理和问题追踪 > > 使用gitea进行版本控制。 - **学习资源**