走出软件作坊(二十)(转)
二十、累斗累
有时候,我感觉事情就好像大螃蟹,总是一串一串的。
我刚聊过新项目如何收集需求,就有人跟我提老产品升级需求的管理。
有人说:老师,我看了许多IT项目管理的书籍,也讲到需求管理。但他们是需求调研、需求分析、需求确认,好像都是针对新项目的,我们是老产品维护,老板随便打一个电话就让我们添加一个需求功能,我们哪里去做需求调研、需求分析、需求确认这些环节啊。老板说我们一天坐到家里面编程序,根本不了解客户需求。最了解客户的是每天和客户待在一起的实施人员,所以要让实施人员来给我们软件提需求加功能。但是,实施人员那叫什么需求啊,比如说XXX功能不好用,比如说建议更易用一些。老板不相信我们,怕我们把实施人员反映的需求给屏蔽了,专门派了一个人每天收集各个渠道来的需求,每天还要上报给老板,而且还每天向老板要报告,今天修改了多少需求,还有多少需求没有改,没有改的需求什么时候能改完,都要我们开发部给答复。而且,隔几个月,老板就把全公司人员都召集在一起,为软件提需求。一群人坐在一个会议室,每个人都可以提,一个模块一个模块的提。当场打开软件功能,演示,说明,阐述软件应该做成什么样。我们开发人员就跟开批斗会一样,这个标题不要这样叫,那个对齐不对,这里不够明显应该加粗字体或者给一段红色的提示。唉,活得真窝囊,天天修改这些乱七八糟的所谓需求,还要被人追着赶着问进度,还要忍受被所有人都骂开发的什么烂软件。老板也觉得我们水平不行,需求也怠工不修改,两天才修改了3个需求。而且越修改需求越多,软件越不稳定。我们哪还敢提涨工资啊。
我说:你这种情况很普遍。现在很多软件公司都是老板开店,三五个人十来条枪,他有客户关系,卖个软件做个实施赚点钱。公司也不大,如果软件做不好,实施做不好,多年积累的客户关系就以后不好再销售了,这就等于把老板的命根断了。所以老板肯定会盯死软件开发和软件实施。客户使用效果好才能以后有更多的单子做。而且你们作为开发人员,又不接触客户,怎么能理解某个需求的真正意图呢?当然老板的思维逻辑对,你们这样,怎么能理解客户需求呢?当然实施人员最了解,提的需求最有权威。换你做老板都这么想。
我也经历过这段日子。人和人的信任,都是在做事中不断看人试人品人,才能取得信任,才能放权。我的老板也如此。
如何比实施人员更了解客户需求?如何让老板相信我比实施人员更了解客户需求?这也是摆在我面前的一个问题。
我是把产品放在一个产业中看。看竞争对手,看业界标杆,看业内管理专家,所以我对产品的升级完善,是基于产品战略的,是基于盈利模式和竞争力构建的。如何引出更多的盈利增值产品,如何保证产品更有竞争力,是我思考的重点。
而实施人员提的需求,都是和他实施的客户具体业务流程有关。客户就是这样,咱们软件不满足客户这样做,就要改。不改,客户就不满意,实施就推进不下去,实施项目就延期,自己的实施就不力。所以,实施人员为了保护自己的利益,也要开发部必须改。而且一开口就是你从来没有去过现场,你根本不了解客户。
老板信谁?
我不是业界知名管理专家,我也不是业界明星CTO。老板怎么能信我对业界产品竞争的判断呢?
而实施人员,天天真实的和客户待在一起,他们反映的肯定是真实的。
第一轮回合,以开发部门老老实实修改需求为结束。
后来,老板又亲自主导组织了几次实施人员需求会议,什么都可以提,都记下来,让开发人员改,让实施人员监督开发人员修改,确认修改的符合实施人员的要求,并且实施人员负责测试。每次大约都能记个上百条,从要求简化SQLSERVER数据库安装(因为实施顾问都非技术出身,没接触过SQLSERVER之类的产品,用的最多的是EXCEL和WORD,因此用报表设计器给报表格式挪挪位置大部分人都不会)到把界面都换成绿颜色背景(说符合公司形象)。这种局面直到我在各个部门各个环节各个层次应用了多种策略才改变。
过了一段时间,老板看着实施人员都没有事情可干,很奇怪,就问为什么不测试软件?实施人员回答说:开发人员没有改多少需求,我们正在等待他们开发呢。
然后老板就找我,为什么不修改?
我说:程序员一直在修改,但另一方面,我们已经修改了多次,满足需求300多条,但是我们的产品竞争力增强了么?我们的特点在哪里?我们的亮点在哪里?我们的竞争力在哪里?
老板说:不管怎么说,这是客户的需求,客户买了我们的产品,我们就有义务为他们满足需求。
我说:看这条需求,客户要求我们做一套视频会议在我们的管理软件中。
老板说:那你找找网上有没有免费开源的。
我不再争辩。因为我知道,在他心中,做什么产品,叫什么企业管理软件都无所谓,客户需要在ERP中加入游戏,如果理由充分也是可以的。重要的是客户不能得罪。客户关系是他的生存之本,而非产品。
我开始在网上写对行业的观点。因此也有幸结交了许多知名的行业内管理专家。他们称赞我的观点独到,思考有远见。文章也受到不少网友的追捧。
我会把一些我写的文章链接适机转给老板,转给喜欢思考提升的实施顾问。我也会经常把和我思想观点相似的文章链接转发给老板。
老板继续组织全体人员需求讨论大会,但这次他有了转机。虽然仍然是让人统计未完成需求数,老追问什么时候才能完成,但显然他不像过去那样主导与控制整个过程了。他说:你也要跑跑客户,不能老待在家里。
于是,我跟着实施顾问也跑了一些客户,有时候,还带上主力开发一起走访。
过去,开发和实施冲突很大。开发觉得没必要改,实施觉得必须改,最后实在不行就拿出老板来压。而且,客户有自己特殊的业务地方,有能人者还自己想解决方法。而实施人员呢,在现场实施,陷于此境此客户,也觉得客户的解决方法有道理。于是非要开发人员按照那样的方法修改。但开发人员知道,按照那样的方法修改软件,那软件就死住了,这个功能只能给这家客户用了,其他客户没法用。于是开发人员骂实施人员胳膊往外拐,站在客户那方对付自己公司的同事。
但是一走访,开发人员也才认识到客户原来面临这样的问题,客户那样提需求其实是为了解决这样的问题。但很可惜,客户的想法太局限,只为自己这个问题想解决方法。如果开发人员当时在现场,就能明白客户面临的问题根源,就能设计出更好的软件功能来满足。唉,都怪实施人员不分析问题根源,只看表面问题现象,还自以为是提最佳解决方法,还让开发部实现。应该是,你提出你的需求问题,怎么解决是我们开发部自己的事,我们会综合考虑平衡。
我走访客户的目的,主要目的有三:
1.改善一下老板和实施人员对开发部的认知。他们都认为开发部只是一群不懂客户需求整天做在电脑跟前不用出差说话神叨胡子拉碴的敲代码者。“你们不懂需求”,让这个理由去一边去。
2.改善一下开发人员和实施人员的冲突。让开发人员也理解理解客户的现状。有些事情是不可改变的,有些事情是人为故意的,我们作为开发,不应该去把软件假设在一个理想的工作环境下,那样的软件是不适合现实使用的。该委曲求全还得做。骂客户管理水平太次,骂客户都是白痴都毫无意义。我对开发内部老说:人家是白痴吗?难道人家买你的软件也是白痴。那岂不是反过来说你的软件谁买谁就是白痴?那岂不是说明你的软件很烂毫无价值么?咱们每个月的工资从哪里来?是老板发给咱们的吗?老板又不是白痴,发钱给咱们?老板的钱也是从客户口袋里掏来的。
3.了解客户现状,想方法如何去引导与影响客户。客户面临最急需的问题是什么?客户对软件的认知程度如何?客户把软件价值认为成什么样?客户认为这套软件应该是干什么的?(有的客户认为我们的软件应该带上QQ)。实施人员是怎么给客户讲解软件中的管理思想的?实施人员是如何培训客户的?
走访回来之后,我做了两件事情:
1.发表了一篇我的走访感受。发到网上,也发给老板,也发给实施人员。老板看了以后说了一句话:“看来走访走访很有必要,以后要多做”。老板、实施、开发,之间的关系改善了许多。
2.把走访过程中确实应该改进的需求安排给开发人员。由于开发人员也是切身体会,很快就改了出来。实施人员说这个功能做的不错,很实用。
第二回合,开发、实施,平手。
然后,我又把业界知名专家的一篇文章中提到的评价模型内嵌到软件中。过去,我们虽然在产品PPT中老是宣称自己的管理思想,但在软件中很难看到落实。所以,实施人员在实施过程中只能讲操作。而操作,客户觉得还不如一个EXCEL好输入好修改好查询好统计,所以客户希望软件修改成这样修改成那样。反正,客户现有系统解决不了的问题就都提出来。而现在,终于有了一个可以讲可以量化的管理模型。这套评价模型成了这个软件的核心亮点。客户为了应用这套评价模型,也乐意录入数据,维护数据。
第三回合,开发胜出。
然后我提出了需求管理系统,WEB型。不管谁在外面实施,或者是老板突然提出,或者是销售提出,都录入到需求管理系统中。把需求分类,分优先级,量化安排开发计划,有的放矢吸收需求改进软件。
我还提出,每年召开用户需求会议。邀请有思路有积极改进想法的客户参会。大家面对面交流共同问题,共同需求,共同探讨未来行业机遇挑战,共同寻找解决方法。
引领客户,引领老板和实施人员对产品,对业界,对未来,对竞争的认知提高。
在我的影响下,公司的IT咨询业务、IT教育业务、IT服务业务、IT整合业务、IT产品发展战略、集成合作伙伴,都逐渐专业化的发展了起来,给公司提供了越来越的盈利模式与收入渠道。
OO、设计模式、接口?!和客户一点无关?那客户为什么要给我们钱?那老板为什么要给开发部钱呢?那开发部存在的意义在哪里?翻译成代码?就这点意义?还要月薪上万?凭什么?
你的价值在哪里?