简介
产品需求的研发往往是以项目的形式进行的。
项目是什么?项目是为了提供某项特殊产品或者是服务所作出的临时性的努力。
每一个项目的目标都是清晰的,明确的,但是项目本身却存在诸多的不确定的因素。比如,项目质量、项目时间、项目成本、项目范围等等。
对于互联网开发项目来说,项目质量具有固定的要求,项目范围、项目时间和项目成本是项目活动中三个关键的不确定因素。
为什么需要项目管理?
因为项目存在不确定的因素,同时呢,它们又是互相制约,互相影响,所以为了增强对项目的控制,提升项目质量,实现项目整体效益的最大化,我们就要对项目进行有效的管理。
什么是项目管理?
项目管理是在项目活动中运用各种专门的知识、技能、工具和方法,使项目能够在有限的资源限定条件下实现项目目标。
项目管理的核心内容是对项目的各类制约因素进行综合的协调平衡。
如何管理项目?
项目管理可以简单的分为两个阶段:
一是根据项目要求(时间、范围、目标、资源)制定行之有效的计划;
二是按照项目计划对项目执行过程进行控制。
如何制定项目计划?
制定项目计划大致分为以下几个步骤。
1、组建项目团队
不同的项目所需的团队成员角色也会有所不同,通常包括:项目经理、产品经理、系统架构师、开发工程师、测试工程师、QA工程师、数据库管理员等等。
另外,需要特别强调的是,项目经理要尽量避免在项目后期增加新的成员。项目后期增加人手通常是因为某些原因导致项目进度严重落后。无论是处于何种原因,这都会给项目管理带来很多麻烦。新成员的加入,需要接受项目相关信息的讲解、培训;团队成员的工作要重新分配,项目计划要调整;部分已经完成的工作可能不可用;团队成员间的沟通成本增加······
2、界定项目范围
项目范围不等于产品范围,项目范围不仅包括项目最终实现的产品,而且包括实现该产品所应做的全部工作。简单来说,在项目过程中,任何为了实现项目目标的工作都属于项目范围的范畴。比如,项目过程中必要的沟通例会,对项目质量的测量以及检查等都应该包含在项目范围中。
3、分解项目工作
分解项目工作使得一个大的项目按照功能或者是按照实施过程分解成一个一个的阶段或者是小的项目工作,分配各团队中的每个小团队或者是个人。每一个任务都有可以交付的成果,使每个项目团队成员在项目中的责任更加清晰。
4、评估任务工作量
项目工作被分解成多个任务之后,项目经理要组织项目团队成员将每个任务的工作量评估出来,开发工程师负责评估所有编码相关任务的工作量,测试工程师负责评估所有测试相关任务的工作量。
5、制定项目进度计划
在此之前,我们已经确认了项目成本和项目范围;现在,我们重点要做的就是控制项目工期(项目时间),也就是要制定项目进度计划。
制定项目进度计划就是对项目各项任务的进度进行合理的安排,最终确定项目的开始时间和完成时间。
6、制定项目计划
项目进度计划不等于项目计划。项目进度计划是项目管理中非常重要的一份文档,贯穿整个项目管理过程的始终。
一份完整的项目计划要包含以下几部分内容:
- 项目介绍
- 项目团队
- 项目产品范围
- 项目成本估算
- 里程碑计划
- 项目风险管理
- 项目沟通机制
二、跟踪、控制项目计划的执行
随着项目工作的不断推进,项目会遭遇各种先前没有遇见的问题和风险。诸如项目需求方提出新的需求,团队成员临时请假缺席,某个关键功能的开发难度比预想的大,等等。
这些问题和风险直接导致某些项目因素(项目范围、时间、成本)发生变化,先前的项目进度可能不再可行。这个时候,项目经理要根据实际情况对项目的各类制约因素进行综合的协调平衡,及时对项目计划作出调整。因此,在整个项目期间,我们往往看到项目进度计划会被反反复复地修订。
项目经理如何及时的发现项目中隐藏的问题呢?
- 项目经理要多鼓励团队成员对项目信息进行反馈。
- 每周项目经理对项目的工作进度进行检查,了解项目进度情况。
- 给项目设置几个里程碑。
里程碑是项目中的重大事件,它并不是实实在在要完成的任务,仅仅是一个时间点。例如,如下图所示:
通过这些手段,项目经理可以掌握整个项目的情况,对项目进度进行跟踪,然后控制好项目进度。