【IT168分析评论】
我所在的公司和大多数国内IT公司一样,十几到几十人的规模,每次在做完项目过程中我们都会感觉很累,老板其实也很累,在小公司老板更像是一个项目经理的角色,很多东西都没有流程化的东西可走,所以很多事情都要等老板拍板后才可以继续下去,员工在很多时候就会感到迷茫,随着公司规模的扩大,公司也意识到没有一套规范的项目管理方案是万万不行的,自己在这方面也摸索的一段时间。
我首先接触的是敏捷开发的方法,但很快我就感觉这个方法行不通,至少对于我们是这样,因为我们无法保证和客户以及业务人员及时沟通,一个月见几次面就很不错了,而且我们的开发人员也并不具有敏捷能力。后来接触了下CMMI,CMMI对于小公司就更不靠谱了,它庞大的身躯足以把一个小公司压垮,如果仅为一个证书的话,我建议完全可以向o6z订购,但不可否认的是CMMI也有很多优秀的地方可以借鉴。那么我对小公司项目管理的看法是一定要精简,做到不是傻瓜都能够理解并且能够执行,况且很多项目经理(老板)也并不是领域专家。在此我想简单谈谈我对适合小公司的项目管理方案的一些想法,所谓基本适合就是80%适合,我要是说100%适合那我是在扯淡,另外20%怎么办?那就像06z所说的那样,靠经验这个王道。
首先要谈的是需求这个东西,那么什么是需求?需求就是掏钱买你产品的人一些需要,只要是客户的需要,不管是合理不合理那都是需求。其实很多开发人员都意识需求的重要性,那么真正去做需求的人有多少呢?需求应该是包括需求开发和需求管理这两个过程,这里有个特别的情况是对于自主研发的项目,我接触的项目也是这种情况居多,于是我们认为自己就是客户,所以需求开发做的很简单甚至跳过去,结果后期的需求管理非常混乱,我觉得既然自己是客户,那就要当好客户这个角色,在做客户时应完全忘却自己是个开发人员,同样要把需求做全面。很多教科书上都说应该做需求,但关于怎么做的问题上却和实际情况差别比较大,以下是我关于需求该做什么以及怎么做到一些看法。
1 需求调研
我觉得需求调研非常的重要,1年前我还打算做一个在线教育服务平台,理念就是淘宝在网上卖商品,我在网上卖教育资源,我提供网上交易场所,签约的老师、学校以及培训机构提供可交易的服务,这种服务可以通过视频、音频、在线PPT、文本的形式展现。忙活了好一阵,发现这个市场早就有很多人做了,而且这个市场并不是很好做,首先在网上学习的人有几个?并且先不说前期推广需要海量资金就是所需要的那么些高性能服务器丫也买不起!这件事就此搁浅,结果信了马云的邪,2年后你还想创业你在创业!我觉得这就是典型的需求调研没做好,没有对用户需求做调查,没有考虑同行竞争,没有考虑可行性!另外还要考虑括行业标准和法律规定,比如前些时候国家就出台了关于办视频网站的政策,我觉得你丫没有足够的背景就不要往火坑里跳楼。总之根据所做行业情况尽可能的把需求调研做全面,这样才可以保证项目首先是可以赚钱的。那么文档要写吗?我觉得可以不要正式的文档,小公司的人手本来就不够用,要把主要文档化工作集中在重要的环节上,对于需求调研,本来就很杂乱,完全可以记在工作笔记上,放到需求分析的时候整理。
2 需求分析
为了得到用户的金钱,我们总是在说,用户是上帝,用户永远是对的,尽管背地里在说客户端坏话:“你丫钱给的倒不多,要求还真少,这需求根本不合理,是正常人的逻辑吗?”,如果你想活下去,最终我们还是要想方设法满足用户的要求。用户是个外界因素,我们是无法控制的,那么我们只有尽可能改进需求分析的方法来尽量减少不必要的麻烦。那么我觉得日本人做法倒是可以借鉴,在有条件的情况下派专人去现场,随时记录关键性的需求,即使不能去现场也尽可能的获取尽可能多大信息,不要指望开发后去获取什么有价值的东西。那么是否应该做个原型给客户看看?我是觉得这不大合适,因为如果项目周期短的话,等你做好原型,黄花菜都凉了。但我觉得等到需求做到差不多的时候可以做用户界面,所谓用户界面就是用户接口,是和用户打交道的地方,所谓一图解千言,有了界面用户会清楚自己所买的东西在未来会是个什么样的东西,再者开发几个有说明性都界面倒是不会暂用很多时间。等到需求确定下来后就要整理成文档了,这个是很重要的一步,是做设计时候的重要凭证和依据,这个文档就是用户规格说明书,所谓规格就是有规范的格式和内容。
3 需求评审
我们已经有了较正规的文档了,那么下一步就是召集所有开发人员开会,最好有客户代表参加,尽管我是很厌烦开会,但该开的会还是要开到,因为之前我遇到这种情况,开发人员根据设计文档写代码,可是他并不知道自己在开发什么,站在自己的角度想一下,如果自己都不确定自己做的东西,即使有再完备的设计,也会对开发毫无兴趣,只会让自己觉得自己是个代码机器。所以所有人员参加需求评审是让大家知道自己在做一件有意义的事情,自己正在满足社会的需要,自己在为和谐社会做贡献,即使你从没那么想过,那你敢保证的你的潜意识没那么想过吗?人是要有社会满足感的吧。另外开会前一定要准备关键有价值的议题,据我观察需求评审会最容易扯到不着边的话题,所以主持人要控制话题,会议控制在2-3个钟头,最好做成幸运52的形式,所有人员一定要互动起来,否则就变成了个人演讲。需求也做了,会也开了,那么要求客户签字吧。
4 需求管理
需求管理是在开发开始之后进行的,这也是另所有人头疼的一件事,之前做完一个项目后,客户经常打电话找我们,改过来改过去,后来我听到电话,血压都要升高50个百分点,后来索性就不接电话,客户就在网上找我,搞的我连QQ都不敢登,但躲是躲不掉滴,客户直接打我手机,丫的真烦人,见过难缠的,没见过这么难缠的。后来转念一想,难道这种情况真的不能避免吗?至少是可以大幅度的缓解的吧。这就是我们需求管理中的变更管理没做好,改了哪些地方自己都忘记了,最后是跟着感觉走,拆东墙补西墙。在这里我建议要建立需求跟踪矩阵表,有了这个表我们至少可以对要修改的地方有了依据,迫使我们去调查到底是改什么地方,怎么改,最后改成了什么样。可能你会说客户需要大幅度修改原有计划,很难跟踪到具体某一项需求,那么我觉得这是由于前期的需求开发没有做好,在后期客户进行实质性的修改的几率是很小的,比如客户要求我们做个OA系统,最后总不会要我们改成个门户网站吧,在举个例子,在比如你开发一个ERP系统,客户自己的业务流程不会轻易的改变吧,总不至于把盘点这个业务改成一个报表系统吧。如果真是这样,我们完全有理由告诉客户,你丫乖乖掏银子,我们再给你们开发2期工程,要改,没门!