程序员应知-我们不是客户[2]
1、闭门造车型--也就是凭借自己对行业的理解,或者是以往项目的经验,猜当前项目的客户会提出什么需求,而不理会客户的具体情况。
大家也应该可以立刻给出结论,这样的项目很难成功,即便是我们之前做过100个类似的项目,那么在做第101个的时候,也会发现企业会有自己的特点,客户会有自己的特点,毕竟我们做出的系统不是给机器人用的,而是给人用的,有人存在,就会有差别,我们就应该具体情况具体分析。
2、积极沟通型--作为程序员或者是项目经理,在开发的整个过程中积极地与客户沟通,及时了解客户的需求是否有变化。
这种类型应该比上述的有很大的改善,但是我觉得需要注意的问题就在于沟通和信息传达的效率上。一般来说,可能这种工作会由项目经理来做,而不是由具体开发的程序员来做。这样的话,就需要做沟通的人有充分的计算机知识和业务知识的储备,既能够了解客户所说的话,也能够把客户所说的话正确地传达给程序员,并且还可能会加入自己对如何在系统中实现的理解。
3、现场客户型--这是敏捷开发中一个很重要的原则,就是在开发的现场要有客户,不断地提供对系统的意见和反馈。
首先这一点很难达到,毕竟客户也有自己的工作,很难整天地坐在我们旁边为我们提供反馈。另外,如果说是一个或者有限的几个客户,那么就需要他对所要负责的模块相关的业务知识都非常了解,这对于现场客户的要求也是非常高的。
上面几种形式都是我们被动地来接收需求,其实我觉得我们还可以主动出击,去找需求。
4、观察客户型--就是说我们要在客户工作的时候一直观察,看客户是如何在实际工作中作出各种各样的决定的,也了解客户的'工作方式和工作内容,看看如何能够通过系统来帮助他们。
5、一起工作型--这种方式意味着我们要把自己下放到客户的办公室中,去和他们一起工作,有些边缘性的工作,我们作为学徒的角色,帮客户完成。
上面的两种方式所获取的需求都是第一手的需求,而且通过和客户一起摸爬滚打,我们不仅能够获取宝贵的需求和业务知识,而且还可以了解到客户对于每个需求的迫切程度,以及完成每个需求能够为客户带来什么,这样就可以做到知己知彼,百战不殆,不出意外的话,可以达到一种双赢的结果。
然而,这需要高度的信任关系,毕竟行业之间都是有很多秘密的,不是一个公司的人,不一定会把很多信息和资料放心地交给我们程序员,所以,一般来说,这两种方式其实对于做自己公司内部项目的程序员来说会比较适用。
总之,在获取客户需求的时候,我们要牢记一点,我们不是客户,要想获取有效的需求,想要做出客户满意的系统,那么就要向客户接近,多沟通,从客户的角度来做系统。
版权声明:此文自动收集于网络,若有来源错误或者侵犯您的合法权益,您可通过邮箱与我们取得联系,我们将及时进行处理。
本文地址:https://www.gunzhua.com/jiuye/zhichangdongtai/109405.html