如何做好项目管理工作
前几天知识星球有同学私信我,问了这样一个问题:突然被提拔上来做项目负责人,负责整个项目的质量保障工作,该怎么办?
这位同学说,他之前几年都是听项目经理或者测试经理的安排,只负责做具体的执行工作,几乎没有这种以项目质量负责人的角色来统筹开展安排工作的经验。
其实在我看来,职场特别是现在这种大环境下,能被提拔或者给予机会做这件事,本身就是对个人能力的认可,也是个人快速成长的一个机会。
很多时候我们会拿到不同剧本,扮演不同的角色,努力做好该做的就好,不用背负太多心理包袱,反而会有意想不到的收获。
以上述问题为例,在我看来技术侧的项目管理可以从四个角度来看待,分别是规划、方案、任务和执行。
项目规划
从项目负责人的角度来说,要做好项目整体的质量管理和保障工作,首先要对项目的整体规划有详细的了解,主要包括这几方面:
- 关键目标:项目的关键业务目标是什么,比如拉新获客,或者提高下单转化率;
- 主要涉及范围:这点主要指的是涉及到的业务范围,以及对应的软件应用范围;
- 关键时间节点:什么时候立项,什么时候进入研发,什么时候提测,以及什么时候线上发布;
通过关键业务目标,可以了解到项目的重要程度,然后进行粗略的技术指标评估,便于后续的技术方案设计和任务分配。
了解涉及的业务范围,可以评估出对应哪些应用服务,有多少接口,大概多少测试case,测试的难易程度和大致工作量。
了解关键的时间节点,则可以判断项目的紧急程度,要投入的资源,是否存在风险点,是否需要更早的介入进行各种分析评估和准备。
项目方案
了解项目的整体规划和关键信息之后,接下来的重点就是制定方案。这里的方案可以是技术实现方案,也可以是测试方案,甚至是线上发布方案。
我在前面的文章《如何成为某个领域的前1%》中提到过这样一个观点:
做一件事,即需要实际做事的能力,也需要看待事情的思路。
做事的能力可以将之称之为技术,看待事情的思路可以称之为方法。
技术是形而下的,方法是形而上的,二者结合才能更好的思考和解决问题。解决问题的技术才更容易达到预期的落地效果。技术+方法结合起来,才是我们通常所说的经验。
制定方案,其实就是结合技术和方法,根据具体的项目目标和关键信息,制定合理可行的预期执行计划。
在制定技术方案时,重点考量如下几点:
- 关键指标:主要指的是和项目业务目标有关的技术评估指标;
- 技术选型:技术实现的难易程度,实现成本和可能存在的技术风险;
- 关键节点:项目各阶段的重要节点,各节点的里程碑是什么,如何判断;
- 资源预算:包含软硬件资源、时间和人力资源、资源的分配以及投入产出比;
- 风险分析:罗列本项目执行过程中可能存在的风险以及应对方案;
- 任务拆分:说明各节点的主要工作内容,谁负责谁配合,预期完成时间;
- 交付清单:说明本项目各阶段的交付物和验收标准;
- 术语约定:针对项目中一些容易引起歧义的术语进行说明和约定;
任务拆分
在方案设计阶段,已经对关键节点的重要任务进行了罗列说明,这个阶段要做的事情,其实就是对关键任务的进一步详细拆分。以上述问题为例,从测试的角度来说,主要会从下面几点进行拆分:
- 环境和数据:最基本的,测试环境的搭建维护管理,测试数据如何准备,谁来准备验证;
- 模块和用例:项目涉及不同模块,这里要对不同模块具体由谁来负责进行安排,以及用例的执行验证;
- 进度和边界:每个模块或者任务的执行进度如何同步,不同模块的交互边界,谁主负责谁配合;
当然,这里我是按照任务的角度来拆分,在实际场景中,还可以按照人的角度进行拆分。比如安排一个人前期专门跟进环境和数据的搭建准备,其他人负责各自模块的用例编写评审以及具体的执行。
任务执行
任务拆分好了,前期准备工作完成了,剩下的就是具体的执行。
任务执行阶段,没有特别重大的事,主要关注整体的进度、可能存在的阻塞风险以及和项目中各成员的沟通以及信息同步即可。这个阶段都是很细微的具体的事情,有完善合理的流程规范就基本可以保证任务的正常执行。
其实无论是纯粹的项目管理,还是偏向技术侧的管理,方法都差不多,只是侧重点不同。
要做好项目管理工作,需要有敏锐的洞察力,快速提取关键信息和可能出现的风险;也需要深刻的组织能力来安排合适的资源投入在合理的环节上。还有一点则是最重要的,即沟通协调能力。