有些人认为“敏捷开发 = 不需要设计”。这是不正确的。实际上,敏捷开发并不需要过早地进行设计。敏捷与精益流程相似,两者都提倡按需及时完成工作。
用户故事
用户故事是敏捷开发项目中最常用的工具之一。用户故事的美妙之处在于,它不需要我们在项目初期就深入细节。以下是用户故事的一个典型使用场景:
- 收集用户故事 – 与最终用户会面并头脑风暴用户故事
- 只需写下一句话,说明用户希望完成什么
- 我们可以选择性地添加一段简短描述
- 开发人员对用户故事进行初步估算
- 在冲刺会议中,所有利益相关者聚集在一起,决定在本次冲刺中要处理哪些用户故事
- 开发人员与最终用户会面,讨论用户故事的细节
- 将讨论内容记录为对话笔记
- 写下必须完成的内容作为确认项
- 开发人员编写使用场景并绘制系统线框图
- 与用户确认需求
- 开发人员设计系统
- 开发人员实现系统
- 由于需求现在非常明确,设计也已全部完成,实现工作量很低
- 开发人员为最终用户准备测试环境,以便根据确认项进行测试
如你所见,敏捷开发团队至少需要以下设计:
- 用户体验设计(UX设计)——线框图
- 系统设计 – 活动图、顺序图
- 数据库设计 – 实体关系图(ERD)