Scrum是增量迭代式的软件开发方法,也是当前主流的敏捷开发过程。通过迭代冲刺的方式,持续交付,从用户需求到用户反馈实现各个迭代闭环的软件开发过程。
Scrum项目类型中,预置了敏捷实践中推荐的的四层模型,如图1所示。
图1 Scrum项目需求分解模型
Scrum项目使用的工作项类型介绍如表 Scrum项目工作项说明所示。
表1 Scrum项目工作项说明
工作项类型 |
说明 |
举例 |
Epic(战略举措) |
|
Epic通常和公司的经营、竞争力、市场环境紧密相关,举例如下:
- 市场差异化:用户体验全面超越竞争对手。
- 更好的解决方案:新增支持工业互联网的解决方案。
- 增加收入:产品需要在下个财季增加100万付费用户。
- 重大技术方向:产品需要全部切换为容器。
|
Feature(特性) |
|
Feature应该对客户都有实际的价值,特性的描述通常需要说明对客户的价值,与产品的形态、交付模式有关,举例如下:
推荐模板:作为<用户角色> …我想要<结果>… 以便于<目的>
- 用户A希望提供导入、导出功能,以便于用户批量整理数据,更高效。
- 用户B希望提供超期的通知,以便于用户及时处理任务。
- 用户C希望优化鼠标拖动的体验,以便于让用户操作更快。
- 用户D希望增加昵称功能,让用户更个性化。
|
Story(用户故事) |
|
Story符合INVEST原则,举例如下:
推荐模板:作为<用户角色>…我想要<结果>…以便于<目的>
- 作为项目经理,希望通过过滤处理人,以便于快速查询指定人的需求。
- 作为开发人员,希望将无用的信息进行折叠,以便于减少视觉干扰。
- 作为测试人员,希望将测试用例和需求关联,以便于跟踪需求的验证。
|
Task(任务) |
在迭代计划会议中,将纳入迭代的Story指派给具体成员,并分解成一个或多个Task,填写“预计工时”。 |
Task通常为过程性的工作,举例如下:
- 开发人员A需要在今天准备好类生产环境。
- 开发人员B需要在本周内完成项目组的权限设定。
- 开发人员C需要进行代码Review。
|
Bug(缺陷) |
|
缺陷描述模板举例:
【故障现象描述】
【F12查看错误码】
【环境信息】
【故障复现步骤】
【故障现场定位开发人员】
【开发定位初步原因】
【Chrome抓取报文】 |