Olga Kouzina认为使用敏捷项目管理工具需要遵守三个原则:流程优先,工具次之;开发流程需可复用;正确做法需可复制。因为人们在选择或使用敏捷项目管理工具时,往往会忽略开发流程中的某些关键要素,所以他重点对第一个原则中提到的“流程”进行了介绍,以期帮助大家对开发流程有个更加完整的认识。
首先,我们可尝试将现有开发流程分解为3个部分:
上图中的框架几乎覆盖了开发流程中的三个关键要素:工作、人、计划,它们也都是在敏捷开发管理工具中要不断复用的要素。下面我们具体看看这三个要素都有哪些需要注意的地方。
要素一:工作
主要是“是什么”的问题,涉及了功能、用户故事、任务、Bug等。
要素一:工作
主要是“是什么”的问题,涉及了功能、用户故事、任务、Bug等。
- 你正在使用哪个工作项?开发流程中工作如何分解?工作项需要多少个层级?下面,我们可以看一个例子,来对层级结构进行了解:想法(问题)→史诗(Epic)→产品→项目→功能→用户故事(User Story)→任务。
- 工作项之间需要什么依赖?除了层级分解外,我们是否需要在管理工具中复用其他依赖?
- 如何定义一个项目或工作项结束了?我们是否需要指定一个完成范围,或者将项目与时间捆绑起来?我们是否需要为工作项的设置多个最终状态(如已完成、已解决?)
要素二:人
主要是“是谁”(角色)的问题,涉及开发团队、产品负责人、项目主管、用户等。
- 团队成员如何管理?团队功能是否有交叉?是功能团队、项目团队、部门还是压根就没有团队?
- 每个团队的开发流程是一样的吗?我们是否在必要时安排几支团队到“史诗”或“用户故事”层级中?
- 未在开发团队或项目中的“鸡”组角色是否也需要了解工作流程?如客户、经理?
时间问题,涉及发布、迭代。
- 我们如何进行backlog管理?backlog项都来自哪里?我们应如何整理backlog?
- 项目/发布/迭代:我们是否有交叉项目(或交叉团队)的发布?是否有并行迭代或发布?我们是否将项目分解为多个阶段执行了呢(如UX、原型、功能设计)?
- 我们在使用哪个报告?这个非常重要。一定要检查工具是否具备了我们所需的全部报告?
家家有老人
人人会变老
帮老就是帮未来的您