之前写了一篇《技术管理标准模板》,其中项目管理部分并没有具体深入,而这一技能不仅仅是对于技术Leader的要求,从我的经验看来,只要是程序员,具有项目管理能力都是如虎添翼的,即使你走的是专业路线。本文即基于自己的经验,从项目的启动和迭代阶段总结了敏捷项目管理的一些标准动作。
启动阶段
相关干系人沟通,同步项目背景、业务价值等
启动会议:召集相关干系人,明确业务相关信息,确定相关流程制度等
需求收集和分析->总体需求文档,概括性的功能与非功能需求列表
初步的产品规划->每一轮迭代的需求列表、发布时间
创建项目基础设施->可持续交付到测试环境的基础项目,包括各个端的代码库、到测试环境的流水线等。
迭代阶段
两周为一迭代,包括需求、设计、开发、测试、发布。关键点在于需求的拆分、优先级以及并行化。
1. 需求评审
对本轮迭代的需求尽心评审确认。
前置条件:产品经理对此轮迭代进行需求确认,产出需求条目,按优先级排列;需求需要拆的足够小,把大需求拆成一个个能够独立开发测试发布的小需求
2. 工作规划
根据本轮迭代需求做WBS任务分解
WBS工作项分解: 甘特图
里程碑结点: 表格或者里程碑图
风险管理:风险点预估、严重程度、可能性、应对措施
3. 设计/技术评审
分别对交互设计和技术设计进行评审
前置条件:设计师需要输出设计图;技术部分做概要设计和系统设计,随着每一轮迭代进行更新维护
4. 测试用例评审
由QA安排,会前需要提前将测试用例文档发给产品经理与研发,提前标注有疑问的用例。
5. 开发、测试过程的监控
持续交付:开发和迭代测试,需求开发完成后即测试并进行缺陷跟踪。
会议
每日站会:全员站会,了解整体状况,对暴露出的风险和问题作出集体决策。
项目周会:10人以上团队。解决整体计划层面、跨团队协同配合的问题。
项目周报
汇总项目总体状况,回答三个问题
项目的整体进展状态到底如何?
风险可控吗?
目标达成有没有问题?
6. 版本全量测试
对所有已经开发完的功能进行交叉测试、全量测试、埋点测试、回归测试、第三方云测。
7. 验包发布
此迭代所有功能开发测试完成后,提交审核流程,各流程审核人验收通过后发布。
8. 复盘
项目复盘会:有意识地向过去的行为经验学习
团队做对了哪些事?
做错了哪些事?
再来一次,如何做得更好?