敏捷开发宠坏了客户
项目或产品使用敏捷开发方法带来的益处是多种多样的,比如敏捷提高了客户满意度、缩短交付时间、缩短响应时间、让我们泰然应对需求的变化等等;最近一直在实践敏捷开发,不过有一个问题困扰我好久,那就是如何避免宠坏客户。
敏捷嘛,所以经常逼着自己和客户面对面交流,打电话联系那更是频繁,而这个过程中认识相对统一的需求跃然而出。原来客户只是要规划一张图,能随手查就可以了;好,需求有了,合同签了,合同额50万确定了。这个简单,2个人三、四个月,也就是6-8人月就做出来了,50万的合同额我一定有的钱赚,还赚了关系。
说干咱马上开工,两个开发人员全程参与,四周后把一个桌面系统第一个版本交付给客户看。客户一看,嗯,大体就是这个样子,不过这里系统名字不能叫一张图,应该叫**系统;另外,这个随手查不是这个样子,应该怎样怎样,还需要加一个新功能……嗯,咱们不是拥抱变化嘛,客户既然这么要求,当然该改的改,需要加的咱就加啊,并且这也不难。
过了两周,第一版本的修改和新增的功能都写好交付给客户用。客户用了直夸我们技术人员厉害,这么快就修改好还把新功能加上了。不过有点问题是,这系统是桌面系统,我是希望系统的查询结果也能展示在网页上。
嗯……项目范围变了,并且是需要B/S系统,需要添加人手,毕竟之前的程序员主要是做AE开发,现在做B/S,需要专门做ArcGIS Server开发的人员参与进来,原来一个桌面系统现在也变成C/S+B/S架构。哎, 50万这样肯定没得赚了,不过毕竟是关系客户,别赔太多还是能接受的。现在开发团队变成2个做C/S,22个做B/S,另外算上产品经理、项目经理、售前三个人,现在整个项目组投入人力7个。
六周过去了,一个基于混合框架的多层系统的一版交付出来,客户非常满意。又经过2次迭代,一个四周又过去了。如大家所料,需求又变了。
客户说现在都是移动互联网,没有移动端怎么能行呢?客户现在是希望拿着ipad平板随时随地随手查。安卓还好说,我们有技术人员储备,单位搞IOS的人本来就不多,并且都被其他项目占着,只有一个新手可用,怎么办?能怎么办,客户的需求咱们得适应啊,并且客户一直在催催催,新手也只好硬着头皮上了。然后又是八周的快速迭代。
最后终于交付出去了,整个项目组成员都垂头丧气。可不是嘛,我们有平台软件,从最后交付的产品来看,做这种定制的系统一般投入人力通常都是10个人月,合同额200万上下;这个项目是个拉关系的项目,本身没赚多少钱,加上之后范围的膨胀,最后支出合计超过80万,不但占了十几个人月的人力资源,而且还赔了30万,损失惨重,这个项目无疑也是失败的。
钱是赔进去了,我们也的确宠坏了客户,那么以后如何避免呢?首先是不管上不上敏捷,一定要给项目定边界,哪怕是一个较为笼统的边界,但这个基线必需要有;其次是就算做敏捷也要把需求落实在文档上并让客户签字,如果被客户的需求变更牵着鼻子走,项目建设会很被动;虽然我们提倡拥抱变化,但变化也是有条件的,只允许在一个大范围内变,而不是客户让我们干什么就去干什么,导致项目边界膨胀剧烈的变更一定是要尽可能规避的。当然,沟通过程也需要掌握一定的技巧,项目成功的标志是项目主要干系人满意,我们不要把自己给忘了,所有的沟通也都是围绕让我们自己满意开展的。