项目管理:如何显性管理并提升Story分解能力

引言:在“DevOps能力之屋(CapabilitiesHouse of DevOps)”中,华为云DevCloud提出(工程方法+最佳实践+生态)×工具平台=DevOps能力。华为云DevCloud将推出“DevOps on DevCloud”系列,针对DevOps领域场景,阐述该场景在华为云DevCloud上的实施方法与实践。

在敏捷项目中,用户故事(User Story)是产品团队用来描述用户需求的主要方式。每个用户故事是小的、独立的行为,最好可以在一个迭代中增量式实现,并为最终用户提供价值。Bill Wake提出的INVEST模型,描述了良好的用户故事应该具备的特征,是用户故事应该遵循的原则:

  1. Independent:独立性
  2. Negotiable:可协商性
  3. Valuable:有价值
  4. Estimable:可估算性
  5. Small:短小
  6. Testable:可测试性

将业务特性分解成为符合INVEST模型的用户故事,成为每一个敏捷团队的必备技能。LeffingWell在《Agile SoftwareRequirements 》一书中提出了分解故事的10种方法:

  1. Workflow steps
  2. Business rulevariations
  3. Major effort
  4. Simple/complex
  5. Variations in data
  6. Data entry methods
  7. Deferred systemqualities
  8. Operations 
  9. Use-case scenarios
  10. Break-out spike

不少人经常会说分解用户故事在增量式开发中既是艺术性又是科学性工作。敏捷产品团队可以参照10种方法进行故事分解,并使之尽量符合INVEST原则。然而敏捷产品团队如何在软件交付中记录故事分解方法,以更好地分享方法或者事后回顾改进或者统计分析呢?当然比较好的方式是采用敏捷项目管理工具,例如华为云DevCloud的项目管理(ProjectMan

在华为云DevCloud的项目管理中Story并没有缺省字段来记录分解方法,因此需要通过“Story设置”特性来自定义此字段。用户可以在项目中通过“设置”-“项目设置”-“Story设置”-“字段与模板”进入工作项模板页面,如图所示:

在工作项模板页面,点击“编辑模板”,并在字段配置处点击“+新建字段”,在下图中输入字段名称、字段类型以及字段选项等。将工作项模板编辑后进行保存。

新建字段“故事分解方法”

这样,在新建Story或者编辑Story的时候,团队成员可以记录故事分解方法。如下图所示

在Story中记录故事分解方法

随着敏捷项目的迭代进行,产品团队将不断积累此项目的故事分解方法,团队成员可以基于此数据进行分享与学习,将局部的、隐性的分解方法变为了全局的、显性的分解方法。这也正是DevOps三步法(Three Ways)在持续学习与实验中提倡的实践之一“将局部知识转化为全局知识”。

一旦在项目迭代开发过程中,团队积累了故事分解方法的过程数据,那么团队可以在适当的实际进行相应的统计分析。对于故事分解方法的统计分析,目前华为云DevCloud的项目管理的自定义报表特性尚未提供基于自定义字段的维度分析,产品团队可以使用工作项导出特性,将Story导出到Excel进行统计分析,发现分解方法的一些规律,可以指导产品团队更好地有重点地提升分解能力。

已标记关键词 清除标记