软件项目开发到了后期,特别是系统架构基本稳定,如果客户提出新的需求,往往会给项目带来较大的风险。在客户眼里也许只是一微不足道的小小要求却给系统带了很严重的影响(有可能是系统设计的问题,但这个时候也顾不上考虑这些了)。为了使项目按时上线,需要对客户的新增需要分析对比,提取那些必须修改无法回避的问题,下面谈谈一点小小的看法:
对于系统中必须要有的功能,就算很特别,做起来费劲也得修改满足,否则客户那过不去。我做的一个生产管理方面的一个项目,牵涉到配方的问题,起先从没说过可以有相同的物料(但类别不同),后面生产上很多地方都要用到配方,虽然这种现象很少发生,但是就算有一次你的系统无法完成的客户也不能接受,只能修改再测试。
还有如果涉及流程控制一定要考虑清楚了,有些问题可使改起来没头。像我们做的对生产计划的管理:首先对计划可以新建、修改、取消这些很常见的功能,一个计划下面有可以有好多个子任务,都是从计划分解而来。后来加上部分取消功能:即一个计划下面的子任务可以单独的取消(开始生产的子任务是不能取消的),这个任务就算是部分取消,等那些没被取消的任务都完成后改任务也算完成,但它的基本信息和最开始制定的任务已经不一样了。客户的这些要求一一得到满足,而且客户对这些还是很满意的(包括最终用户)。等到马上要开始上线试运行的时候,不知道哪个天才用户想起来一个好需求:对一个开始的任务可以暂停,修改任务的信息然后继续生产下去。到了这个时候我们坚决不同意修改,而且这种情况系统并不是不能完成:完全可以部分取消任务,在新建一个需要的任务满足客户的需求。当然和客户的沟通还是很有技巧的,通常唱红脸的有唱黑脸的也要有。
生产企业一般来说都有很多关于报表的开发,如果客户有以前的报表那时最好的参考,但很多情况下用户也不知道他要的究竟是一个什么东东,只能说个大概的样式和要求。发。对于那些影响业务流程报表就需要首先开发并得到确认,而那些用来统计分析的报表可以放到稍后,等项目团队和客户都对需要的东西达成一致再投入开发,可以减少反复的修改,而且就算修改也只是报表的样式问题,不会影响到业务。