您的位置:首页 > 其它

项目规划管理

2012-02-12 09:13 134 查看

项目规划管理 - 1

项目规划是预测未来确定要达到的目标估计会碰到的问题并提出实现目标解决问题的有效方案、方针、措施和手段的过程。(摘自百度百科)
 
大家应该都看过不少美国大片,是否记得很多片子里,特别是偷窃或者特种部队相关的片子,总是会出现类似下面这种场景:10秒钟内进入屋子,15秒内穿过走廊,第16秒正好电梯开门,30秒以后解决敌人(或偷到东西),19秒内撤离屋子,一旦超过一秒就随时可能任务失败,35秒后房子爆炸,尾追敌人被炸飞。。。。。。当然这些片子往往都非常精确地完成了任务。(最近一次本拉登被击毙,估计美国特种部队也有类似的精确时间安排)
 
咱们来结合项目规划的定义来分析一下这些大片中的场景:
 
1.       预测未来,大片里的场景中总是有精确的时间,10秒,15秒,30秒,每个都是极其精确的时间,这些其实都是对未来的精确预测,如果早一秒,电梯还没到,迟一秒,后面的子弹就扫过来了。
 
2.       确定要达到的目标,击毙拉登并安全撤离
 
3.       估计会碰到的问题,左边走廊会有两个敌人,拉登不在卧室(在上厕所)
 
4.       并提出实现目标解决问题的有效方案、方针、措施和手段的过程,按照A,B,C三套方案,在预定时间,用预定路线,准确实现目的并安全撤离。
 
看到这里,大家就会惊奇地发现,原来项目规划还能用在特种部队执行任务啊,哈哈,YES!大家不要以为项目规划只是在公司做产品时遇到,其实做任何事情理论上都应该有项目规划,只是有些事情太小了,不值得做罢了,像刷牙,你的项目规划就是在多少时间内,用什么牙膏,什么牙刷,以何种刷牙方式完成刷牙,并且还要考虑到漱口水是否太凉了。。。。。。
 
连刷牙都能涉及到项目规划,何况公司做产品做项目了,来CSDN的很多都是做软件的,我也是软件公司的,所以接下来我还是以软件公司为例子来简单介绍一下项目规划管理的理论与实践。
 
当然,本文我还是会结合我们公司实际在用的 TechExcel DevSuite 系统中的项目规划管理工具DevPlan 来为大家做相关介绍。
 
 



 
 

平常谈到项目规划,大家经常是见到是一块地的规划啊,一个住宅区的规划啊,然后也会看到所谓的项目规划图,这块地有什么建筑,那块地干嘛,幼儿园在哪块,草坪是哪里都写得很清楚,当然这个是给大家看的项目规划图,而在建筑公司内部有另外的项目规划图,哪块地尺寸多少,东北南北距离多少,用多少材料,用多少人力,时间都写得清清楚楚。
 
 


 
而对于一个软件公司而言呢,项目规划也是差不多,也会有一个对外的项目规划和一个对内的项目规划,对外就是宣传这个产品能实现哪些哪些功能,性能多么多么好,性价比多么多么高;而对内的,也就是人力、物力、时间、风险和成本等因素计划。
 
看到这里,大家是不是在想,项目规划也无非就是这些了,看起来好像也不是很复杂的样子,就是画画图,写一些计划数据而已,事实上呢?事实上也是的确很简单,也就是画个图而已了,当然我是说对外的那种项目规划,呵呵,至于对内的呢,那就是完全两码事了,一个天上一个地下的差别!
 
不相信?让我们来分析分析吧。
 
我们首先从项目的目的来说,一般来说,做一个项目,公司的最终利益就是赚钱,所以我们也抛开什么为社会造福之类的虚伪的理由了,直截了当从赚钱入手讲。
 
要赚钱,一般只要考虑两方面:卖得好和成本控制得好,对于卖得好,这个有时候很难控制,即使产品做得再好也不一定真得大卖,相反,有些大卖的产品并非真正最好的产品,只是广告做得好而已,所以关于这点还是让销售和市场部分去负责吧,我们今天讲的项目规划还是从成本控制上开始讲。
 
什么是成本,通俗点讲就是你的项目从开始到完成所花得所有钱,当然还包括设备折旧之类的非直接支出,再广义一点,销售和市场成本也需要算在内,不过我们今天讲的就不包括这个了,只包括项目(产品)做出来这段时间的成本。
 
知道了什么是成本,那成本能控制吗?当然能了,少给工资就能控制成本了,呵呵,开玩笑了,软件公司都是技术活,所谓一分价钱一分货,一般工资水平都是跟水平挂钩的,你给得少了,我就不干了,天下之大,难道没我立足之地!(老板估计看到这种话,有点郁闷)。所以减少工资不是成本控制的好方法,当然减少设备投入也同样不是好办法。
 
那怎么办?还有什么方法控制成本呢?其实还是有不少方法的,比如减少不必要支出,这个是行政部门的事,不过如果不是大公司的话,减少的量还是不多的,人家东芝还是Sony据说马桶里放块砖以减少冲厕所的水量,对于他们几千几万个马桶而言的确是有效果的,但是对于一个公司只有几个马桶而言,好像不能省多少钱,不过能省还是省点好了,所以减少不必要支出是个好办法,表扬!
 
那还有其他办法吗?答案是有的,而且是最重要的办法,一个叫做提高效率,一个叫做控制风险
 
两种方法大家都听过,也非常明白什么意思,那对于成本控制到底起着怎样重要的作用呢,且听下回分解。
 

1.         提高效率
对于提高效率而言,一句话概述其目的就是让员工在有限的时间内做更多有效果的工作
 
有限的时间,大家肯定明白,一个项目一般都有相对固定的期限,我们做项目规划时也只能加一个有限的缓冲期,但是总得来说总是比较固定的,毕竟客户在那里等。
 
更多有效果的工作,这个是关键,注意,我这里是用“有效果”,而不是“有效率”,为什么呢?因为有效率虽然看起来也很好,但是工作做得有效率不一定得到一个好的结果,很多时候,你也做的很辛苦,很有效率,比规定时间还提前完成了,最后一看,做错了,这个就是有效率没效果,对于一个项目而言,一个做错可能导致满盘皆输,所以我们要做“有效果”的工作,甚至有时候宁可牺牲一点效率。
 
再回过头来看看那句概述,如果员工都能在有限的时间内正确的完成工作,也就意味着这个产品能够按正常计划发布,那不也意味着老板投入的资金被正确的使用着吗?对于一个项目的开发过程而言,能用预计的时间和金钱完成就是一个成功,就是很好地对成本的控制。
 
当然很多公司是无法按计划完成的,因为有太多不可预计的因素了,所以,下面我要来讲讲“控制风险”。
 
2.         控制风险
 
首先要明确一点,做任何事情都会有风险,跟人无完人的道理是一样的。(即使吃饭这种无风险的事情,都有可能咬到舌头)
 
明确了这一点,我们就不必去害怕风险了,要坦然去面对。当然坦然面对不是去安心接受风险,而是得去避免风险。
 
在软件开发过程中,其实风险可以分为两类,一类是可以预见的风险,一类是很难预见的风险。
 
1)         对于可以预见的风险,比如员工做事太慢,做事不认真,导致了项目不能如期完成,从而导致了成本增加。
2)         对于不可预见的风险而言,比如员工突然生病或者离职,公司突然停电,等等,也会导致工期延长,特别是员工生病或者离职,一旦没有其他人能顶上去,可能对项目的影响更大。
 
我敢保证,很多公司,特别是中小公司,遇到这两类风险,必然会或多或少影响到项目的进展。
 
如果没法处理好这些风险,我相信老板的心里经常会流血。(咱们做技术的每天只是想着Code,做老板的每天都在想花钱太多了,人够不够,会不会超期,能不流血才怪了。)
 
讲到这里,大家应该对提高效率控制风险在成本控制中重要性有所了解了吧,其实我不说话,大家也应该很了解的,只是有些人可能虽然明白这个道理,但是不知道怎么去解决这种问题,我这篇文章介绍项目规划管理其实也能间接讲到去如何实现,呵呵,接下来就真正要进入主题了,前面说废话太多了,呵呵,之前有个网友说前面太冗长了,我很抱歉,最近有点忙,所以也就想一点说一点,文章结构上把握得不是太好,望见谅!

前面已经介绍了提高效率控制风险对于成本控制的重要性, 而在本文开始的时候我也讲到了“对内的项目规划”跟“对外的项目规划”完全是天上地上的区别,相信到这里,大家应该也能感悟到了吧。
 
成本控制是 “对内的项目规划”的极其重要的一环,所以本文介绍的项目规划管理主要还是以实现有效的成本控制为目的,至于“卖得好”,这个环节可能更重要,但是要靠一篇文章来教会,起码我还没有这个本领,而且我本身不是搞销售的,所以还是讲讲自己熟悉的环节。
 
接下来,就开始按照我们公司的经验来开始谈谈怎么进行有效的项目规划管理。
 
在我们公司,对于项目规划管理,跟很多公司一样,一开始也要进行初步计划,确定一下这个项目要实现的各个大小目标,预计时间、资源和成本,并为可能发生的风险做预估。不过稍微有点跟其他公司不一样的是,我们是用一个工具(TechExcel的项目规划管理工具DevPlan)来管理项目规划的整个过程的,所以我们一般没有项目规划书之类的文档,而是直接打开工具就可以看到这个规划。(见下图)
 
 


 
有些公司也用微软的Project工具,也是一个不错的工具,当初我们也用了很长时间,不过Project有个问题,就是没法跟软件开发的其他环节(设计,开发,测试,销售)的数据做关联,比如说开发周期或者测试周期由于某些愿意被延长了,却没法自动体现在项目规划里,从而造成严重的后果,后来经过很长时间的寻找,我们才决定用TechExcel的解决方案,可以把软件开发的各个环节有效集成在一起使用,而且更重要的是我们在Project中的现有数据可以完全导入到他们的系统中,这个让我们快速地完成了数据迁移,几乎没怎么影响到项目的正常进行。
 
跟微软Project一样,DevPlan也是通过建立一个个节点(或者叫文件夹)的方式来规划项目需要进行的各个环节,比如在上面的甘特图里的XX项目,我们就为启动,概要设计,计划,开发等各个环节建立了相应的节点,规定了起始日期,分配了资源,而且按照计划,这个环节都一个接一个进行的,所以这些节点被设置了前后关系,只有一个结束以后,另外一个才能开始。(当然,这个项目是采用瀑布方式的,如果是采用其他开发模式的话,这些节点的关系可以相应做改变)
 
完成了初步的计划以后,领导审核通过后就可以开始按照计划来开展实际项目了。
 
很多公司到这步为止,项目规划就算结束了,最多项目完成时再总结一下,不过对于我们公司来说,项目规划从这里才算真正开始。为什么这么多说呢,我们认为项目规划不一定是只在项目开始前进行,项目开始前只是计划一下项目的开始结束时间,已经分配一些基本的资源,但是我们知道项目的进行中是千变万化的,任何小的事情都有可能影响到项目的进行,所以在进行中,我们也要时刻对项目进行“再规划”,重新调整资源分配,调整时间,从而使得项目可以正常完成。如果完全按照一开始的计划进行,最后很有可能项目成为“烂尾楼”。
 
大家应该也觉得有点道理吧,其实项目规划最重要的不是前面规划得如何如何好,而是在实施中根据实际情况随时做调整,确保项目能正确地进行下去。
 

当然事实也证明,在实际工作中作调整这个工作是最难的,为什么,且听下回分解。

 



 

为什么在实际工作中做调整最难呢?答案其实也很简单,变数太多!再好的规划也无法预测到以后会发生的事情,哪天突然停电了,哪天地震了,哪天员工生病了,你能想得到啊?!既然无法想象得到,我们就得在发生时随时做调整,调整资源,调整时间,甚至增减项目。
 
当然,地震也未必有的,所以大家也放宽心,员工请个假也正常,其他人帮忙顶顶,或者到时周末加个班,这些都是可以解决的,最最最重要很难解决的是什么知道吗?就是我们怎么来判断一个事情对项目的影响程度,也就是我怎么来知道现在要不要加人减人,要不要延期,要不要加钱,如果不需要,那什么时候应该做这些事情。
 
很多时候,我们都是在项目快要完成的时候才意识到这种问题,不过那个时候已经来不及了,延期是必定了,甚至客户不想买了,损失就可能很大了。 所以我们需要提前意识到这类问题,从而提前解决掉。这个就是我们当初决定用TechExcel DevPlan的一个最最最重要的原因!(大家有没有听说过蝴蝶效应这个理论,一只蝴蝶在西半球震动了一下翅膀,可能导致东半球刮台风,为什么呢,蝴蝶震动了一下翅膀,会导致周围空气发生变化,这块空气的变化可能就会影响旁边地方的空气变化,就这样一块接一块地发生连锁影响,最后就导致了台风的生成。
由此可见,如果一个员工某一天迟到了或者请假了,都可能导致严重的事情发生,如果能够预见到可能发生的结果,那是多么有意义!)
 
其实这个问题也是很多公司都有的问题,即使你的设计再精彩,开发再出色,测试再专业,只要中间出了些问题,且没有来得及解决好,那就什么都没用! 那这个问题能不能解决呢,怎么解决呢?当然,答案还是很清楚,肯定是YES,不过有些网友还是想知道细节,所以还是来稍微说明一下吧:
 
一般出问题的时候,我们可以来分析一下原因是什么,客户临时决定要加几个功能,领导拍板说要做,设计以为很简单,开发也很快做好,测试发现了很多这个功能影响很大,发现了很多问题,所以导致开发需要花很大精力去修Bug,最后其他功能也没完成好,再最后,时间到了,产品没出来。
 
是谁的问题呢?都有问题是吧,客户你就不该加这几个功能,呵呵(哼,不做不给钱);老板呢,你老是这样拍板(客户要的,我得给);设计人员总是说很简单,不会有影响(的确好像挺简单的啊);开发总是考虑得太少相关功能(也不是我没考虑全,时间就这点,我还得做其他活了);测试人员总是爱找Bug(我爱Bug,我爱Bug)。。。。。。,呵呵,其实谁都没有问题,那问题在哪里呢?
 
问题在于,我还需要多点时间,或者多点人力。可是谁也没提,如果当初客户要加功能的时候,老板可以争取多点时间,如果开发接到活的时候,多要点时间或者人手,如果测试拿到Build以后,根据Bug情况也要求一些额外资源,想必这个项目起码能稍微好一点,即使最后还是延期了,起码是在大家已经早就预料到的情况下了。
 
我们以前也经常碰到这种事情,在用了DevPlan系统以后,这种事情已经大大减少了,因为在DevPlan中,很多可能会影响到人力,时间和成本的因素,都会有自动预警机制,使得你可以早做调整,去增加人力或者增加时间,相应的,这个项目规划图就会实时进行更新,领导们也能随时看到这种情况,而且通过关键路径或者基线(Baseline)的比对,管理层可以很清楚得知道这个项目会不会延期,会不会超支等。
 
也许有人还不太明白DevPlan如何实现预警功能的,这个我之前也不明白,后来问了TechExcel的何工后才稍微了解了一下,原来由于DevPlan可以与软件开发的其他环节的管理软件(TechExcel DevSuite解决方案的其他几个产品,我们公司也买了)无缝集成,共享信息,而那些产品,比如需求管理工具(DevSpec),开发管理工具(DevTrack),测试管理(DevTest),报工管理工具(DevTime),文档管理工具(KnowledgeWise),都是管理着最直接的产品开发工作,也就意味着能获得最精确的工作数据,比如这个功能预计要做多少时间,实际用了多少时间;按照当前的工作效率,剩下的功能还需要多少时间完成;加了这个功能,可能会影响多少的时间;测试最近几周发现严重Bug的趋势如何;之前的成本投入情况怎样,按照现在趋势,未来一段时间的成本会有多少。。。。。。所有这些数据都是非常精确的数据(甚至可以精确到个人在项目开始以来花了公司多少成本,做了多少功能,修了多少Bug,工作效率是否一直很好还是有所下降),然后这些数据可以在DevPlan被调用到,DevPlan再根据这些数据通过一定的算法就会得出项目调整的预警,比如知道了测试最近提交Bug的数量趋势,就会决定是否安排更多开发去修或者是延长时间;知道了这个新功能加入后预计完成所需时间,就可以提醒老板是否跟客户说一下延长一下交货时间;知道了这个员工同时在做几个功能,工作量已经超负荷了,需要减负或者加人;知道了有人马上要修婚嫁了,就得派其他人接手一下。。。。。。
  
就这样子,基本上能解决现在碰到的大部分问题,当然不同公司有不同的流程,也许有的公司还不能照搬这个方式,不过我对这个系统还不是很熟,也许还有其他功能,以后慢慢研究。

上面简单的讲了一下,大家应该稍微了解了我们公司在项目规划管理方面的流程了吧,主要也就是先建立初步规划,然后再根据实际数据来调整规划,说简单也简单,管理人员只要每天看看有没有预警,再分析分析一些报表就可以了;说难么也难,员工每天的工作都得真实地记录在系统中,这样子才能得到真实的数据来供DevPlan分析。
 



 
TechExcel的项目上马初期(那个时候还没开始用DevPlan,只是启用了他们的其他几个工具,DevSpec和DevTrack),大家还有点不适应,因为要记录很多的数据,每天上下班时间啊,请假时间,每天干什么活啊,花了多少时间啊,任务精确完成时间啊,都得在系统中记录, 一开始觉得太花时间,很影响工作效率,到后来 DevPlan上马以后,才发现,当初记录的数据是多么的有用,虽然不能说是100%,但是还是能预测到大部分趋势的,所以一直到现在,项目基本上都能开展得顺利,一般也都能在可控的范围下完成。
 
我们公司现在用 DevPlan 大约同时管理着十几个项目的进行,这些项目除了计划时间不一致外,其它都是共享着着整个公司的资源的,主要是人力与文档系统,对于人力资源,这里要提一句,很多做项目的公司,其实各个项目人力是分开的,所以各个项目自己算各自的资源很好算,但是我们公司的话,有些时候,同一个人力,会同时在不同的项目进行工作,所以要算人力的话,得同时分析几个项目中的情况,而且这些项目可能时间段什么的都不是一样的,这种情况以前的话用微软Project就很难分析到底这个人现在是否有工作压力,现在在DevPlan里就可以很好的发现。
 
当然,预测或者说分析,有些风险真的很难想到,特别是那些跟软件或者技术一点都不搭嘎的东西,就像上面说的地震,呵呵,不过这个稍微夸张点了,但是实际工作还是会存在着很多这样那样无法预测的问题了,我们之前也特别咨询过 TechExcel 的蔡总和何工,当然得到的结果也是能想到的,的确很难预测这种风险对于项目的破坏性,只能最大程度上做些警告工作,比如说这个那个项目,可能有这种风险,管理人员做任何决策时需要注意,这种风险会有不同的风险等级,以让领导们有所重视。
 



 

讲到这里其实也差不多讲完了项目规划管理,我自己都觉得讲得比较简单,毕竟这一块接触得不多,不好意思了。
 
不过之前好像还留下两个问题还没回答了是吧,如何提高工作效率与如何控制风险,对于控制风险,我上面做的介绍,其实大部分都算是风险控制的,风险控制无非就是这么几种,超期风险,超支风险,质量风险,人员流失风险,通过DevPlan的预警机制和几个报表分析,我们可以最大程度避免或者使风险损失减少到最少。
 
而对于提高工作效率而言,项目规划管理需要涉及到,所以也是很重要的一环,但是这个不像控制风险那样可以通过第三方的工具来帮忙实现大部分,因为他涉及到了人的管理,对于人的管理其实是最难的,这个想必大家都可以理解,老板当然也能“理解”。目前在人方面提高工作效率的方法也无非就是这么几种,一种是提高福利,加工资啊,发奖金,经常有活动,有培训,有完善的医保等;第二种就是能力考核+优胜劣汰来刺激员工自己的进步;第三种的话,还可以提高部门与部门间,员工与员工间的协同工作效率来间接增加员工的工作效率。
 
对于第一种方法而言,只能期望大家找一个好公司一个好老板了,呵呵,而对于第二种方法和第三种方法呢,我想大部分公司应该都挺希望把它们用好,不过我相信我们公司在这两个地方用得特别好,上面不是介绍了我们可以从系统中得到很多实际工作的数据吗,比如QA这些时间提交Bug的质量与数量趋势等,我们通过这些实际的数据,就可以来进行能力考核,开展优胜劣汰,由于是相对精确的数据,所以一般员工都是很接受这种考核方式的。而对于协同工作而言,现在用的TechExcel的系统本身就是一个大的平台,各个部门在一个平台上工作,共享很多数据,所以协同工作效率就特别高,而且还能跟其他OA软件,像Outlook,Word等做无缝集成,工作效率倍增。
 
好了,该讲的也讲好了,项目规划管理介绍就此结束,欢迎大家拍砖!
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息