我们离事实的真相越来越近

    当我们最早编写第一个版本的程序的时候,我们对于客户所在的行业不了解,甚至不能完全理解客户的专业术语,经过反反复复的与客户的所有职员进行交谈,我们制作了很多的图表,绘制了各种各样的UML图,编写了很多的文档,最后我们非常自信的认为我们掌握了客户所有的需求了,用户的需求很多,业务非常复杂,流程非常麻烦。但是我们对于程序的设计我们胸有成竹。
    我们根据自己的理解给客户做软件设计,程序最终设计完成,测试也完成,客户开始使用,但是在实施时遇到了很多问题,除了软件本身存在的BUG之外,我们发现客户的实际使用过程中的操作,规则,与我们理解的不太一样,他们的实际操作习惯,与我们程序实现的也不太一样。客户的不同部门的人员又提出了很多很多的问题,我们重新对程序进行修改,然后发现有的修改很简单,有的修改很困难,与系统的结构有冲突,但是我们排除所有的困难实现了客户的需求。我们觉得客户的业务流程比我们最早想像的要简单,以前的理解过于复杂,程序做的也过于复杂了。
    经过几个月之后,我们发现对于客户的需求,有了新的理解,我们对程序的结构进行调整,我们感觉面对用户所提出来的所有的需求,这种新的程序结构,新的系统模型,处理起来更加优雅,更加方便,我们高兴的宣布我们这次真的理解用户的需求了。这已经是第二个版本的程序了。
    用户继续使用,程序还在不断的修改,用户的需求也在不断的增加,经过一年的使用,这个程序功能增加了不少,补丁也挺多,开始难于维护了,我们不得不再次调整程序的结构,改进系统的模型,改进之后的系统模型更加简洁,更加优雅。整个的程序也更加易于维护了,因此我们这次认为程序确实真正的理解了用户的需求了,整个过程比我们最早的想像要简单多了,这个程序就是输入一个订单,然后输出备货清单和出货明细,我们当初为什么把整个流程图编写的那么复杂。
    生活还在继续,我们还在不断的维护着我们的软件,我们的系统模型还在进行调整,系统的结构越来越接近事实的真相,我们发现,客户的流程非常简单,系统模型也非常简单。
    真理是朴素的。真理是对客观世界的真实反映,软件系统是对客户的客观业务流程的反映,是物质世界在计算机虚拟世界中的“客观”反映,如果这种反映越接近事实,那么系统模型越简单。如果我们设计过于复杂,我们应该考虑这种设计是否合理。我们是不是给客户提高了工作效率,但是却把自己的生活搞得一团糟?
    人类对于客观世界的认识是逐渐的,循序渐进的,我们不可能一次掌握客户业务流程的本质,别指望与客户交流一次或几次就掌握了需求,这是不可能的,尤其是当人们面临一个新的领域时,把握事实的真相更加困难。我们需要不断的通过各种方式与客户进行交流,尽可能多的获取客户工作过程中的信息,关于如下进行需求分析的书,已经很多了。
    所以我们不可能一次性完成一个非常好用的软件,我们必须做好准备:软件系统随时可能被修改,包括核心的架构。软件必须是便于修改的,我们才不至于非常狼狈。
    我们只能离事实的真相越来越近,而不是第一次的调研就掌握真实的一切。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值