当前位置:C++技术网 > 资讯 > 软件开发和客户需求变化该如何调和,又谁来调和,如何来调和

软件开发和客户需求变化该如何调和,又谁来调和,如何来调和

更新时间:2015-11-18 20:53:17浏览次数:1+次

    很早以前在一个群里回答了一个群友的问题,就是在公司里是怎么处理软件开发和客户需求变动的。我就结合我的一些经验,做了解答。然后准备抽时间来写篇文章总结 一下,给大家都可以参考一下,然而事情一忙,就搁置很很久。现在翻了手机的便签,来把之前记录的事情都一个个解决了。
    市场部、产品运营部、项目经理和开发人员,这四个是形成软件开发和客户需求的一个链。任何一个环节缺失都会让运作不好。
    市场部主要是开发市场,推广营销,投标拿到开发订单等,市场部与客户是第一个接触的。市场部的人必须要很了解自己的公司的技术情况,或者对于自己的产品如何发展都有清楚的认识。市场部的人和客户谈的时候,就是接单了。正规的项目,一般都是要签订合同的。在谈订单时,需要谈清楚客户的需求,然后对需求按市场定价,这一切都会最终成文写入合同中,一旦合同签订后就付订金,然后开始开发了。
    你可能会疑问,市场部如何清楚描述需求呢?所以说,跑市场的人最好要对自己从事行业有一定的认识,这样在谈判的时候很清楚。既不能接受一些无法实现的需求或者不合理的需求,或者因为自己不懂将价格定的很低,则会导致开发利润很少。
    在实际谈判中,如果跑市场的人不清楚,可以和产品运营部了解产品情况。如果是软件定制开发,则是向产品运营部了解往期定制开发的情况等,进而确定本次的谈判。如果只是销售自己研发的软件,则市场部的人主要是要了解熟悉产品了。
    软件定制开发时,如果客户提出的一些需求,市场人员不清楚则要反馈到技术部来研讨,以确定可不可以接受这些需求。如果需求很难实现或者根本目前就无法实现,就不能写入合同,也就是不能接受这些不合理的需求。或者评估一些需求,给市场人员定价定性参考。因为开发越难的,周期就越长,也就增加了开发成本。
    产品部的事情主要就是跟踪产品使用情况,与市场部配合,销售产品等。在定制开发,产品部可以当做售后的咨询,市场算是售前咨询了。产品部还有一个责任就是将用户提出的需求转化为合理的需求,要对需求等进行合理化。
    当一切就绪,合同都签订好了。项目开发就开工了。公司会成了一个开发组,指定项目经理和开发人员。项目经理的任务就是要将签订在合同中的需求转换成软件功能设计中。也就是要做整体的功能设计,为需求建模,以规划开发。项目经理是介于需求和功能之间的,要做对应的转换。项目经理绝对不能做大部分的开发,项目经理还要跟踪开发进度等。如果占用了大量的时间做开发,无法在整体上跟踪进度,则是一个不合格的项目经理。这种情况我是亲身经历过的,项目经理承担了80%的开发工作,繁重的开发任务让他没有时间和客户交流沟通,结果导致设计与需求不符合,最后推倒重来。
    开发任务主要就是软件开发人员来完成的。软件开发人员就是程序员咯。程序员将功能设计转化为代码实现,从而完成功能。
    这个过程都是逐一确定的,从客户提出的需求一直到程序员实现功能,先后确定的。这是有合同保证的。也就是说,合同签订后,是不能随意修改需求的。当然为了人性化,一般会提供局部少量修改,设计性修改是不容许的,因为重新设计就等于前面的工作完全作废。但是局部修改也是不能太多,否则也会导致开发混乱。这个程序员体会最为深刻。产品经理不太懂软件开发实现,所以表面上以为很好做的功能,但是实际并不一定那么简单。人想到的方法和用编码实现的功能是不等同的。
    经常改需求,不仅会给程序的逻辑带来混乱,更会给程序带来很多的Bug,调试起Bug,程序员要多痛苦就有多痛苦。原本一个好好的设计实现,被改的百孔千疮,程序员有多么生气,你知道吗?一个新闻报道过,一个软件公司老板被员工用显示器砸伤,他口里还很委屈的说“我就是让程序员再改一下需求”。有一个笑话说的就是,让一个程序员自杀,最简单的就是改几次需求就行了。所以,要知道这是很严重的事情哦。经常改需求是对程序员心理的挑战。
     软件公司老板被员工用显示器砸脸,我就是让程序员再改一下需求
    从客户到程序员的功能实现,最好是一一确定,如果是小公司,可能没有那么明确,但是至少要保证框架是稳定的,大体上是确定的,否则对大家都不好。
    以上是我的一点见解,说的不到位的请尽管吐槽,虚心学习。