敏捷开发
角色
- PO (product owner)负责需求的确定(以文档的方式),解答开发与测试的业务问题,验收。
- SM (Scrum Master)负责组织开会(需求沟通会,每日站会,demo会,sprint启动会,产品迭代上线,回顾会)。
- 开发 分析需求,编写开发文档,开发,本地冒烟测试,提交测试,解决bug。
- 测试 编写冒烟测试(供开发自测),测试,提交验收,编写测试报告。
环境,环境的分离可以避免开发和测试互相干扰
- dev(开发环境,由开发同学维护)。
- tst (测试环境,由测试同学维护)。
- pre (预发环境,基本和生产环境一样)。
- prod (生产环境)。
流程
- PO在上一个迭代结束之前确定好下一个迭代要开发的需求,并标注优先级(当前sprint启动前)。
- 需求沟通会上PO分发任务,并进行讲解,这里负责开发和测试的同学都要重点关注(当前sprint启动前)。
- 开发和测试同学开始根据需求编写开发文档和测试用例,如有问题及时与SM沟通,如需求理解存在疑问、任务过多无法完成(当前sprint启动前)。
- sprint启动,根据任务优先级,将任务分解后的task小纸条贴在看板上,分为:
story | TODO | In Programme | Test | Pre | Done |
---|---|---|---|---|---|
当前任务 | 分解后的task | 正在做的 | 提交给测试的 | 测试完成交给PO验收的 | 验收通过可以上线的 |
- 由表格可以看出一个需求从诞生到上线的流程,每日站会要做的就是将任务移动,这样可以清楚的观察出任务的进度。
- 同时,需要一个任务管理系统(阿里的Aone,其他公司比较喜欢的jira等,最好有配置自动部署的功能),迭代参与者要在系统上同步看板的内容,包括bug单,任务预估时长,燃尽图等等。
- PO验收通过后,以业务维度分小组开demo会,做上线前最后的检验,最后上线(这里尽量不要多个项目在同一个时间段上线,产生问题时容易互相影响),归档(代码版本管理打tag,sql、相关文档归档)。
- 回顾会的氛围尽量轻松些,总结上一个sprint的工作,工作模式或者个人需要改进的地方,
最后
- 敏捷开发的核心思想主要是迭代式开发,将整个项目分解为数个短期的迭代周期,快速相应需求进行增量开发。
- 敏捷开发旨在提高代码质量和开发效率,增强沟通和需求的确定性,避免种种原因带来消极负面的情绪,从而更好的完成项目。