项目中最麻烦的是需求的变动,今天改成这个样子,过两天客户又要改成那个样子,又过两天又要在最初的样子上加点东西,翻来覆去翻来覆去的修改,要忍受这来来回回的折腾,真的是心理能力要有够好。经常会遇到客户说,这个东西急着要,要什么什么时候赶出来,这个时候千万要拿得住,不能一味听客户的,要考虑到风险,首先考虑这个能不能做,做的话能不能完成,需不需要加班加点。如果做起来有难度,有没有替代方法,要真正了解客户想要的是什么东西,评估一个合理的时间,不能客户说多少时间就多少时间。
去年8 月开始一个和平船的项目,中间需求大变了一回,本来是以页面为主的形式,做了两三个月整站做的差不多了,忽然客户又要改版成 flash 的,那个晕啊,于是大家又开始赶工。很不爽的就是这个样子,整个来了个大翻身,前几天听同事说偶脾气好,被客户折腾了这么久还能忍受,没办法,真的是带个项目就是要不管风吹雨打,都保持平常心,最重要的就是不时调整自己,隔两天看看电影听听音乐,和同事吹吹牛,咋的整自己舒服就咋整,怎么着不能看着项目就来个审美疲劳,有空多想想 money ,心情就好的多。
如果情况比较急,也要考虑是不是加班就一定完的成,完成的质量又怎么样。同时不要想当然的认为只要加班就一定完的成,要做好一个项目固然免不了加班,不过要充分考虑到每个项目开发人员的情绪,适当的安排加班,如果今天需要加班,就要想到今天加班了明天就可能工作效率比较低,要权衡加班的得失和项目的进度,总之,就是加班要加的适当。 从头到尾一个人可以贯穿整个项目的不多,往往某个人这个项目做了一半,就被抽到另外一个项目中,新加入的人对整个项目又不是很了解,这就需要花时间去带,如果项目周期比较长,可能在前期先熟悉上手,后面就能帮上忙,如果是周期比较短的项目,必要性就不是很大了,与其花力气去带,不如把这个时间用到项目上。
看项目是不是能够赚钱,人力成本应该占了 90% 的比重,所以和客户沟通的需求人员,应该要知道控制项目的生命周期,什么算做项目上线,什么时候算做是后期维护阶段,我想都马虎不得的。如果对客户的需求把握不准,或者对上线的时间没有一个明确的概念,那么这个项目就无法很好的控制时间成本,如果平均下来,就很可能是一个亏本的试验品。在和客户接触的过程中,就要把握住一个原则,已经确定的上线一般来说不能改动,除非客户的需求增加,一方面要重新制定时间计划,一方面要向客户追加相应的费用,这才能保证项目的剩余价值。
协调好各方面的关系对一个项目的持续良好进行非常重要,一方面要不时把项目的进度人员困难等各方面的情况向领导反馈,通过交流可以得到一些有用的信息,同时领导了解了你的工作,你才能有一个坚强的后盾支持,做什么不至于没有方向感。一方面要处理和同事之间的关系,上班时间交流工作,下班时间交流感情,忙的时候让人加加班,项目不紧张的时候就让人休息休息,与人为善,与己为善,大家心情好了,做起事情来效率才高。
协调固然是一方面,另一方面关键的是能够掌控的资源,美其名曰“权”吧,最怕的就是在一个项目中名义上称之为“项目管理”,实际只是一个打杂的,说白了就是没权。有的公司有 UI 团队,有 QA 团队,有 DEV 团队,项目管理者如果没有对这些 team 人员的实际资源分配,这个项目就会处处擎肘,如果既要和这些 team 的 leader 打交道,又要和其中的每个成员打交道,手续繁多往往很难沟通。不知道现在国内公司的开发模式现在多是怎么样,我觉得,不管什么项目,管理者始终应该具有直接分配每个组员任务的权力,这样项目开发才能直
接而顺畅,少一层环节,就多一分效率,也减少一些不必要的麻烦。
对于公司来说,工作计划的制定是和利润挂钩的,所以项目紧张的时候,只能是员工辛苦一点,对于公司来说,是“工作计划”内完成,当然,这只是对项目管理人员来说是这样,对于我们来说,算是“超越计划”吧。很无奈,时间就像海绵里的水,挤挤总是有的——所以我们当不了。
每个项目,不管大小,都要制定工作计划,不知道是不是象征意义大于实际意见,最起码我接触过的项目很少有哪个能在计划内完成,即使勉强完成,也是要加班加点,而且这样赶工出来的东西往往需要花更多的时间去维护。所以,我觉得,工作计划的制定其实只能作为参考,到项目完成的时候,可以把完成的时间和计划做个比较,然后项目管理人员可以很好的思考究竟 delay 在了什么地方,这样下次做项目的时候可以很好的去改善。