之前写了一篇《技术管理标准模板》,其中项目管理部分并没有具体深入,而这一技能不仅仅是对于技术Leader的要求,从我的经验看来,只要是程序员,具有项目管理能力都是如虎添翼的,即使你走的是专业路线。本文即基于自己的经验,从项目的启动和迭代阶段总结了敏捷项目管理的一些标准动作。

启动阶段

  • 相关干系人沟通,同步项目背景、业务价值等

  • 启动会议:召集相关干系人,明确业务相关信息,确定相关流程制度等

  • 需求收集和分析->总体需求文档,概括性的功能与非功能需求列表

  • 初步的产品规划->每一轮迭代的需求列表、发布时间

  • 创建项目基础设施->可持续交付到测试环境的基础项目,包括各个端的代码库、到测试环境的流水线等。

迭代阶段

两周为一迭代,包括需求、设计、开发、测试、发布。关键点在于需求的拆分、优先级以及并行化。

1. 需求评审

对本轮迭代的需求尽心评审确认。

前置条件:产品经理对此轮迭代进行需求确认,产出需求条目,按优先级排列;需求需要拆的足够小,把大需求拆成一个个能够独立开发测试发布的小需求

2. 工作规划

根据本轮迭代需求做WBS任务分解

  • WBS工作项分解: 甘特图

  • 里程碑结点: 表格或者里程碑图

  • 风险管理:风险点预估、严重程度、可能性、应对措施

3. 设计/技术评审

分别对交互设计和技术设计进行评审

前置条件:设计师需要输出设计图;技术部分做概要设计和系统设计,随着每一轮迭代进行更新维护

4. 测试用例评审

由QA安排,会前需要提前将测试用例文档发给产品经理与研发,提前标注有疑问的用例。

5. 开发、测试过程的监控

持续交付:开发和迭代测试,需求开发完成后即测试并进行缺陷跟踪。

会议

  • 每日站会:全员站会,了解整体状况,对暴露出的风险和问题作出集体决策。

  • 项目周会:10人以上团队。解决整体计划层面、跨团队协同配合的问题。

项目周报

汇总项目总体状况,回答三个问题

  • 项目的整体进展状态到底如何?

  • 风险可控吗?

  • 目标达成有没有问题?

6. 版本全量测试

对所有已经开发完的功能进行交叉测试、全量测试、埋点测试、回归测试、第三方云测。

7. 验包发布

此迭代所有功能开发测试完成后,提交审核流程,各流程审核人验收通过后发布。

8. 复盘

项目复盘会:有意识地向过去的行为经验学习

  • 团队做对了哪些事?

  • 做错了哪些事?

  • 再来一次,如何做得更好?