项目经理在整个项目团队中,软件项目进度的控制是头等大事之一,有计划有安排的项目管理才是保证项目质量保证。但是,往往由于客户等外部因素或者是组内等内部因素,导致经常项目计划有变更,计划赶不上变化的事情常常发生,最终导致整个项目的节奏就被外部因素赶着走,进度控制只是变成了一句空话。
通过里程碑式管理是控制项目进度的方法之一。里程碑是什么,以博主(四代土豆)熟悉的42公里马拉松为例,整个赛道每个五公里在赛道醒目标,这个醒目标志就是里程碑,可以让比赛选手可以清楚的知道自己跑步的进度,方便控制跑步节奏。试想一下,如果没有这些标志,那么选手只能根据主观来判断当前的节奏,容易造成比赛失误。
同样,在软件开发项目中也可以通过类似的里程碑式管理,让包括自己、客户、组员和领导都了解项目的整个进度,完成了多少,该以哪种节奏工作。软件开发中里程碑是什么呢?里程碑一般是完成阶段的工作标志,标志着上一个阶段的结束和下一个阶段的开始。除此上面的要求以外,选取作为里程碑的标志还有另外几点选取的依据:
1. 选取的里程碑,项目的干系人都必须清楚的知道其概念,方便沟通;
2. 选取的里程碑,必须有进度的估算方法,方便进度跟踪、检查和汇报;
3. 选取的里程碑,必须是所有不同规模项目都有的,方便多个项目同时跟踪,也方便领导全局的监控所有项目;
目前软件开发都采用的瀑布模型或迭代模型等标准的软件开发模型,使用开发阶段作为里程碑是比较合理的方法,划分的里程碑有:需求设计、基本设计、系统开发、系统测试、更新上线和运行实施共六个里程碑;每个里程碑的下还会根据WBS再分解任务。里程碑进度是根据有其下面的任务的进度计算得到。这样,只要有任何变更,都先调整其下的任务,重新计算其里程碑进度;再根据项目实际情况,如果偏差和预期偏差过大,让项目所有干系人知晓,重新确认计划,告知其风险,(至于风险控制不是本文讨论了,以后再讨论)。该加班的就加班,该压缩需求的就压缩,或者是重新调整进度等,该申请资源就申请资源,这个都是项目经理该积极做的事情,不管做什么,目的就是控制住项目进度。
WBS分解和项目进度计算可以使用一定的工具,比如Ms Project,Ms Excel工具就可以很好的管理里程碑和进度;我使用的是TaskPm工具,在创建子项目时,系统自动生成这六个里程碑,并根据下面的任务自动计算里程碑进度,可以直观的看到项目的进度和进度的变化,领导也能全局的看到所有项目当前进度,一目了然。
当然,项目管理的进度控制在实际过程中比本文要描述的要复杂的多,在一些规模比较大、需求比较模糊和资源不稳定等负责情况的项目下,还需要有其他的辅助方法来协同管理,这个以后再继续讨论。但是有一点都需要肯定的,项目经理是控制进度的第一负责人,对项目进度的负责,就是对客户、对项目组组员对领导负责,只有可控的进度,才是保证项目质量的前提。