【IT168 分析评论】
做了四年项目了,单枪匹马的干过,团队合作的也干过;政府项目做过,商业项目也做过;Web的项目过,Windows的项目也做过;给钱的项目做过,没钱的项目也没少做。那么,项目管理究竟是什么?或者说包括哪些?
先从目标来看,项目管理的目标可是说是将项目需求种的所有要求都完成。这是最基本的目标,不过如果仅仅是着眼于这个目标,那么项目经理和工头又有什么差别?而且实践证明,如果这样来管理项目,那么十有八九项目最终是要失败的。原因?软件项目从来不像想象的简单,一板一眼的按流程完成合同中规定的要求就可以交付项目的情况,通常是可遇而不可求的。所以不能把项目管理的目标仅仅放在实现合同规定的项目需求上。
敏捷方法论提出的观点是,要为客户创造价值,以提高客户的竞争力为出发点,这比仅仅完成合同更进了一步。客户是整个软件项目的发起者,从这一个角度来讲,甚至可以认为客户所说得一切都是对的!时刻牢记这一点,通常能够是项目的进行保持在一个更接近正确路线的状态。客户需要什么?客户遇到这个问题会怎么办?客户觉得这个功能重不重要?客户在这个功能点上会不会提出变化?常常问问自己这些问题,通常能够保证项目不会做成想当然的样子。如果自己回答不了这个问题,那么赶快拿起身边的电话吧(当然不是让你订购什么)。理想的情况当然是客户就坐在你的身边,这也是敏捷地观点:把客户作为团队的成员。
说到这儿肯定会有人跳出来说:什么都是客户说了算,那项目永远不要想交付了,因为客户总会有新的想法,那公司还搞个P呀?
我觉得很多人在作项目的时候喜欢和客户对立起来,原因也很容易理解,辛辛苦苦写出来的东西被客户一句:我需要的东西不是这样的,就推翻了。然后需求全变了,以前做得都没有用了,工期又进在眼前,老板在催,开始加班,带着一股怨念,拖着疲惫的身心,之能写出垃圾代码。于是,项目失败也就不远了。回过头来看,似乎噩梦似乎是从客户变更需求开始的。需求变更变成了程序员挥之不去的梦魇。如果客户能够一开始就给出一个明确的需求,世界该是多么美好。
其实,这仅仅、仅仅是个态度问题,我是认真地,这真得仅仅、仅仅是一个态度问题。假如你早已经知道知道需求会变化,知道你做得东西会被用户否掉,甚至在用户说“我需要的东西不是这样的”的时候,你会想:早知道你丫的会这么说!那么这个项目你会怎么样去做呢?
从另一个角度来说,项目的需求从来就没有变过,客户的想法也非常的明确,只是或许你从来没有考虑过。商业用户的需求基本上都一样:通过引入先进的软件,提高效率,降低成本,赚取更多利润。只要你能为他实现这一点,那么你怎么做,他不关心,Ajax或者Flex对他来说毫无意义,甚至只要最终的收益比投入成本高,比原计划花更多的钱和等更长的时间,他也乐意──当然,让他相信你。
当然,不同的客户的需求不一样,但有一定可以肯定,客户做这个项目的目的不是为了否定你的努力,更不是折腾你玩。所以,我们需要从新,认真地考虑项目的目标,考虑客户在项目中的地位,像揣摩领导心思一样虔诚的去做需求分析。上文说到了敏捷对于项目目标的看法,比传统的照章办事进了一步。有同学在评论中很精辟的指出了项目的终极目的是客户/员工/公司共赢,这堪称是项目管理的最高境界。还有同学对“客户说得一切都是正确地”这一观点提出了不同的看法,可能是我没有表述清楚,今天就从这里说起。
客户说的一切都是正确的,是因为客户没有骗你的必要,他说得都是他的真实想法。当然,他的想法可能并不现实,这很正常,因为客户不是软件专家,不能指望客户提出解决方案,这应该是需求分析师的活儿。
而且客户想要的通常大于他给出的报酬,是公司所不能接受的。那怎么办?答案是把客户的利益和公司的利益统一在一起。
从客户的角度考虑问题可以把项目做到客户满意,但可能把公司作垮;仅仅从公司的角度考虑,当然希望什么都不干,直接收款才好。两者的矛盾是必然的。但是我们应该从一个更高的层次看待这个矛盾,把公司的长远发展和客户的成长统一起来,力求为客户的成长助力,随着客户的不断成长,作为合作伙伴,公司随之成长。从这个角度来讲,在公司承受的范围内,尽量满足客户的要求,有客户才有钱途。常言道:吃亏就是占便宜。作项目也是这个道理。
从项目经理的个人角度来说:老板喜欢什么样的人?为公司考虑的人;客户喜欢什么样的人?为他们考虑的人;把客户的需求和公司的发展统一起来、从公司的角度考虑客户的需求,就是力求做一个客户和老板都喜欢的人。
那么怎么才能把两者统一起来?这个属于细节,写程序用过接口的都知道,接口定义的是要做什么,而实现的类才负责怎么做。咱们现讨论要做什么,再讨论怎么做。
说到这里又有人要骂我了:原来说了半天什么都没有呀;大道理谁都会说;说起来容易做起来难;少说点儿虚的,说说怎么办才是真的。不过我还是认为,如果你真的把公司当成自己的公司,就象疼老婆疼公司、像关心儿子一样关心团队,具体的做法是不言而喻的。关键还是态度,上一篇文章有同学评论:态度决定一切,很实在。深呼吸、冷静、扪心自问一下:你真的关心你们公司吗?
也有人会说:公司对我怎么怎么不公平,待遇怎么怎么不好,凭什么指望我把公司放在这么高的一个位置上?我觉得这么说正好是把因果关系搞反了,只有你辛勤的劳动,创造出了价值,才会得到回报。哪儿有先收获再付出的道理?当然,这里还有一个关键──让老板知道你确实作出了贡献。这有前车之鉴。
回到项目目标上来,现在有三个层次了,第一:按合同办事;第二:按用户的真正需要来做;第三:把公司的发展和客户的利益结合在一起;其实还有更高的一个层次,就是所做的项目实现社会价值。这个层次就比较高了,这样的项目多少有点儿基础研究的味道。
以上的四个目标层级,回报周期从短到长,收益率从小到大。对公司是这样,对个人也是这样。所以我们要胸怀天下、着眼公司、关心客户、落实合同。