摘要:本文以一个《知识产权保护系统》项目为案例对项目管理中的项目跟踪管理进行讨论和论述,本项目是一个计算机信息系统集成项目。在本项目中,我担任项目经理一职,对整个项目最终负责。
本项目的最大特点是项目的技术难度高,未知的技术风险大,加上公司对这方面的技术积累很少,所以要想成功的完成该项目,项目经理必须对项目执行过程中的各个环节进行严格的跟踪控制管理。
现在大家都在大谈要做好项目控制,大到三峡工程项目、神州号飞船项目,小到一个聚会,任何一个项目的成功都离不开对整个项目的跟踪控制过程。了解项目管理的人都知道项目管理中有个“金三角”,即时间、质量、成本,要想让项目按时、按质、并且不超出预算成本的前提下,能够完成项目目标,项目经理必须从时间、质量、成本三个方面严格的对项目全过程进行跟踪控制管理。
本文将从时间、质量、成本三个方面来阐述在本人负责的本项目中是如何进行跟踪控制管理。
正文
什么是项目,以及什么是项目管理,在这里本人不用说明,相信大家都非常清楚。然而在进行正式的阐述本人是如何在项目执行过程中进行项目的跟踪控制管理之前,我要向大家说明一个原则:不要害怕问题,项目本身就是一个大问题,我们努力完成项目的过程就是解决问题的过程,所有问题解决了,项目就成功了。
有一则故事这样说到:一次,有一位很有志向、也很能干的小伙子坐在公园的长椅上满脸的惆怅,原因是他最近的工作中出现了很多问题,小伙子对自己几乎都失去信心了。这时走过来一位热心人,递给了他一张名片,并让他第二天去找他。第二天,小伙子果然去找了这位热心的人,该位热心的人用车把小伙子拉到一座墓地,指着这篇墓地对小伙子说道:“看看这些躺在地下的人,只有向他们才不会有问题”。小伙子这时彻底领悟了热心人的意思,对热心人感激的说道:“谢谢您,我知道怎么做了”。
上面这则故事告诉我们,不要害怕问题,这个世界到处都存在问题,我们应该积极的去解决问题。生活如此,项目亦同理。
这样一来,我们把项目看做一个大问题,我们要做的就是把这些大问题逐个分解,逐步细分,直到细分成便于控制和解决的小问题,然后对这些小问题一一解决,等到我们把所有的小问题都解决了,项目也就成功了。
故事听完了,回到项目上来,由于该项目的技术难度大,技术风险高的特点,所以前期的项目调研工作至关重要。为了保证我们“做正确的事”,在项目前期,我们做了大量的调研工作:包括技术调研、市场调研等等。在调研过程中,对于项目中显示的以及潜在的隐性风险,我们进行了风险分析和评估,并且制定出了一套风险应对计划。调研结束后,该项目进行了正式的立项。
立项完成后,我们定义了项目章程和项目范围说明书,对项目规定的时间、质量、成本、以及项目范围进行了详细的定义和说明。随后,项目正式启动,并且本人被任命为该项目的项目经理。
按照项目管理中的定义,项目经理的到位标志着项目的正式启动,之后的一切开发和项目管理活动就是项目经理必须进行协调和控制的工作内容。项目管理过程中的每个阶段的工作都有着明确的目的和作用,立项的目的是保证“做正确的事情”,立项之后的一切开发和项目管理活动是保证“正确的做事情”,项目经理的很大一部分工作就是保证“正确的做事”。只有从这两点出发,才能保证项目的成功。
上面说了那么多,好像还是没有说到正题。但上文中提到的内容是一个项目成功的必要条件。没有立项前的大量调研工作的投入,即不能保证“做正确的事情”,后面的一切开发和项目管理活动做的再好都是无用功。下面将从时间、质量、成本三个方面分别详细描述如何进行项目跟踪控制管理。
一、 做好时间管理和控制,避免项目进度延迟
项目计划的制定对一个项目的成功起着至关重要的作用。在做项目计划的时候,我采用了项目管理中的三个比较常用的技术:工作分解结构(WBS)、甘特图(GANT)、(计划评审技术)PERT。
首先,通过WBS ,将项目分解成若干工作任务,每个人有自己的工作任务与职责,使项目组团队成员都能明确自己的职责,然后通过邮件分别发送到各个成员的油箱。WBS制作完当天下班前组织项目启动会议,让项目团队的每个成员在会议上复述自己的工作任务与职责,确保成员都能清晰的明确自己的工作任务。
在团队成员都明确自己的工作任务后,要求每个人都必须完成一份项目承诺书。
完成WBS 后,接着我开始用project 2003制作了一副甘特图,在GANT中清晰的显示出各个工作的时间长度及截止时间和项目里程碑。最后结果证明GANT
对后面的项目跟踪控制提供了很大的方便,同时也为项目的进度跟踪提供了依据与参考。
为了更好的给项目做预算,并估计项目的时间,我采用了PERT 中的单代号网络图来寻找项目的关键路径,并给出各个工作的松动时间差。在制作项目计划时,考虑到很多技术对于公司目前的知识积累几乎为零,一切必须从零开始研究与探索,而这些工作都是关键路径上的工作,我给这些工作任务留出了适当的松动时间差。最后实践结果证明,我的这种做法是正确的,在项目实际实施的过程中对于关键路径上的工作遇到困难时,我采取了集中公关、项目技术研讨会的形式进行控制;而对于非关键路径上的工作,采用适当的压缩工时,加班的方法控制。
然而计划做的再好,没有有效的执行等于没做,所以在项目的进度跟踪与控制方面,我采用的如下的方法:
1)通过webcalender 让项目组成员每天填写webcalender ,以便项目经理和公司领导清楚的知道项目进展情况和每个人的情况,也便于项目经理及时发现项目当前存在的问题并且快速的做出相应的调整,webcalender
给项目经理实时跟踪项目进度带来了很大方便。
然而,Webcalendar 只能记录团队成员每天进行了那些工作,不能从一个大的方面对项目整体进展状况进行描述,填写Webcalendar
的作用之一只是培养项目团队成员写每日工作备忘录的习惯。为了弥补Webcalendar 的不足,我编制了一份《项目团队成员每周工作报告》,本人要求团队成员每周五下班前半个小时内将本周完成的任务,下周需要完成的工作、本周工作中遇到的问题、本周还未完成的任务以及没有完成的原因在该报告中详细填写,并发送项目经理。项目经理对每位项目团队成员的周工作报告进行汇总,找出项目中存在的问题,就一致性的问题组织会议进行讨论,通过头脑风暴法解决存在的问题,并根据实际情况对项目计划进行调整。
要使项目在良好的环境中进行,只从每周、每日的工作上进行控制还不能达到全局的效果。所以在本项目中,一份反应每月项目组成员工作情况的表单同样是不可或缺,基于此,本人编写了一份《个人任务跟踪列表》,该表记录了各位团队成员当前有那些任务以及各个任务的时间段,并用不同的颜色标明任务进展状况。项目经理和公司领导只要查看此表就能知道项目进行的程度,并且此表还能作为团队成员绩效考核的依据。
2)项目团队成员每天上班前半个小时内将当天的工作任务填写到Webcalendar中,并在下班前重新编辑Webcalendar
内容,主要是将当天工作任务的完成情况、工作成果描述填写完整,并补充填写当天的临时任务。所有的工作成果必须上传到文档服务器或代码服务器上,以便项目经理及时了解当前每个人的工作进度,并做好项目进度控制。
3)每周五下午下班前一个小时进行本周的项目总结,项目团队的每个成员必须陈述本周各自工作的进度以及遇到的问题,并陈述下周的工作重点和需解决的问题。
4)每周一上午9:00 召开项目例会,再一次强调本周工作重点,每个成员用3分钟的时间陈述,会议时间控制在半个小时左右。
5)项目成员没有完成本周任务的需以书面的形式写明没有完成的原因;
6)项目经理每周对项目进展情况进行汇总,并召开让每位项目组成员明确项目的进度,每月月末项目经理通过项目组成员填写的《个人任务跟踪列表》对项目整体情况进行评估和重新规划调整,这也正印证了项目经理的工作职责之一:计划、计划、再计划。
是否按照上面提到的6点做了就能保证项目的进度呢?以前经历的多次事实证明并非如此,项目经理要想对项目进度真正做到心中有数,还需要多做些其他工作。
在本项目中,我采取了一种走动式管理的方式。具体做法如下:
1) 每天早上上班前一个小时内PM 向每一位开发人员询问当前项目进展情况,有什么问题没有解决,估计需要多长时间,让开发人员给出一个时间,然后说明自己期望的时间期限或者项目规定要求的期限,同时询问项目组成员需要那些帮助,对于能够给予的帮助,尽力帮助队员解决。
2) 每天下班前一个小时内,再次询问各个队员的完成情况以及还有那些工作没有完成,原因是什么,需要什么帮忙,未完成的工作估计时间多长等等,做到有问题及时沟通解决;
3) 每周周例会上,项目组成员对各自的负责的部分进行汇报,对于没有完成的工作作出时间估算,本周完成了那些工作,那些工作在时间上有延误,原因是什么,下周的工作安排等等.对于项目中的问题,在会议上分析原因,并尽量在会议上谈论找出解决办法.另外,项目周例会上指派一名人员进行会议记录,会议记录的内容在散会后通过邮件发送到每个团队成员的邮箱.
通过实践证明,采取该管理方式具有如下的好处:
1) 看得见的管理,通过面对面的询问的方式,能够就项目中存在的问题和项目当前的进度进行一个直接的沟通,以最直接和最快捷的方式获取项目当前的信息;
2) 更直接,更快捷的获取当前的项目进展状况及各个队员目前的进度情况 ,便于及时的调整项目计划,同时也为项目的跟踪与控制提供了依据(及时性和真实性);
对于项目进度跟踪和控制,不同的人会采取不同的管理方式,但目的只有一个,保证项目按期完成。
二、 严格把控质量关,获得客户认可
项目的最终目的是验收通过,并且保证公司获得丰厚的利润。但要保证项目能够早日验收通过,项目的质量举足轻重。为了保证项目的质量符合要求,我的做法是:
1) 建立源代码服务器、build 服务器、文档服务器。
项目组员必须把每天的代码上传到代码服务器,防止由于程序员机器故障或操作失误导致代码丢失;项目组员每天的工作日志,月工作对策表及其他所有项目项目相关文档保留在文档服务器相关的目录下;build
服务器保存每个build 版本的二进制程序及各个build版本改变、增加的功能和修改原因说明,每天产生一个build
版本,build 人员负责审核build 出来的版本的正确性,然后交给测试人员,测试人员测试每个版本的build,并从中选出最稳定的版本交给生产部门。
2) bugzilla 服务器的建立。
测试人员将测试中发现的bug 写入bugzilla 服务器中,并标志为未解决的bug ,研发人员必须每天上bugzilla
服务器查看bug,并修复自己部分的bug,当bug修复后,研发人员将bug标志为fixed表示已经修复,测试人员经过测试确认bug已经修复后closed
bug。实践证明,Bugzilla 服务器的建立和实施很好的跟踪了系统的bug,并对bug 进行了控制,从而减少了系统的bug,提高了软件的质量。
项目结果表明,源代码服务器、build 服务器、文档服务器、bugzilla 服务器的建立对项目的质量控制起到了显著的效果。
除了上面提到的两点,为了对项目的质量负责,项目经理还需对项目的测试进行严格的把控。
在项目开始启动的时候项目经理就应该对项目的测试有一个详细的规划,并且在项目执行的全过程中把关好每一个测试环节。
项目中的问题发现的时间越早,对项目的损失就越小,越是到项目后期,发现问题进行解决所带来的代价越大,这点必须引起高度重视。
个人认为好的测试,必须有两个或两个以上的人经过确认,才能说明基本上测试通过。 另外,项目经理不要太过于相信测试结果,
项目经理最好亲眼看一看测试是否真的如开发人员/测试人员说的已经没有问题了,如果时间允许的话,项目经理最好对所有的测试都看一遍,做个最终的确认测试。
当然对于项目的质量要求,不同的人有不同的看法,不同的项目对质量的要求也各不相同。本文中只是针对本项目谈论了一些自己对质量管理的控制。
三、 注意控制项目成本,做赚钱的项目
项目管理中,时间、质量、成本,三者之间相互制约和联系。一个成功的项目,按照项目管理中对成功项目的定义是:在预算范围内,按时、按质的完成项目的最终目标。然而,在实际的项目中,同时满足三者的要求的并不是很多。所以,作为项目经理要学会平衡这三者之间的关系,不可刻意追求其中其中任意一项的完美。
项目的进度控制对项目的成本产生重大的影响。进度延期,会导致项目成本上升;有时为了保证项目的进度不延期,项目经理通常会采用赶工和加班的方式来应急,赶工会导致质量不能得到保证,可能会由于质量问题导致返工,从而增加了项目成本,加班需要加班费会导致成本上升。
所以,要做好项目成本控制,项目经理必须要对项目的进度和质量进行严格的控制和跟踪,只有做好了项目的进度和质量控制,项目的成本控制才能得到良好的保证。
项目的成本控制跟很多因素相关,关于项目成本控制如果深入探讨下去,写成一本书也不为过,所以本文不再对如何进行项目的成本控制进行过多的讨论。
说了这么多,无非一个目的:项目成功,公司获利。谈到公司获利,谈到项目成果,突然想起很多公司领导经常喜欢说的一句话是:我不关注你的过程,我只要结果。站在领导层来说,这句话也许没有什么错误,因为领导不可能花太多的时间去过于关注你是怎么实现的。但这句话用在项目管理中并不正确,或者说有些片面。孰不知,没有好的过程怎么能产生好的结果呢。
做过研发项目管理的人都知道,企业研发管理的指导思想是:结果导向,并且关注过程。
“结果导向”是指:以最终产生的经济效益来衡量研发项目的业绩,追求利益最大化。
“关注过程”是指:将期望的结果分解到每个过程域(即工作环节)去实现,努力把每项工作做好,从而得到好的结果。一般地,好的过程才可能得到好的产品,而差的过程只会得到差的产品。
项目的每个阶段都存在着各种潜在的风险,项目经理必须在项目开展的过程中严格做好全面的项目监控,并且努力做好每个过程的跟踪管理。项目经理在跟踪项目的过程中应该及时发现项目中存在的问题和威胁,并且做出及时的调整,保证项目按照既定的目标稳步的前进。
项目管理是一门博大精深的学问,不同的人有不同的理解,从而会采用不同的管理风格。项目管理体系给我们每位项目管理人员提供了很好的参考依据,但只要理解和领悟了项目管理的本质,不管采取什么管理风格和管理方式,都能取得好的效果。
IPD 曾经在IBM 取得了很大的成功,于是国内很多企业也在纷纷仿效,结果都是以失败告终。不知这些企业是否考虑到,适合别人的未必适合自己,因为管理没有最好,只有最合适,不同的企业具有的条件和环境各不相同,企业必须根据自己的实际情况“量体裁衣”。企业管理况且如此,项目管理也不例外。
|