最近工作多次遇到类似的事情,越来越意识到这里存在一个坑,感觉值得记录下来。
比如,业务人员想要一个功能,然后描述出这个功能。开发人员在接收到功能描述之后,按照功能描述去编写代码。
这样有问题吗?
乍一看没有问题,业务人员提出需求,开发人员满足需求挺合理的。
但其实业务人员提出需求中间包含了他们所理解系统功能,并且想当然的认为,系统是按照这种方式运行的,并不会去考虑系统实际是怎么运行的。如果开发按照业务认为的系统运行逻辑去编码,功能上线迎接的不是掌声而是数之不清的bug(bug指的是功能没有按照要求实现的问题)。
这里就是通常意义上的外行指导内行做事。
如何去避免这个问题呢?
就是在开发人员编码前,先去尝试与业务人员进行沟通,沟通什么呢?沟通业务人员想要什么样的结果。这样开发人员,了解清楚结果,开发人员自行设计系统内部运行逻辑,用最小的代价增加功能。
就好比,业务人员想要一个更快的马,但其实业务人员的目只是能够更快的信息传递,但是业务人员的眼界不够,只能想到更快的马,通过加快送信人的速度来达到更快的信息传递。
开发人员如果没有沟通,就会去造更快速度的装置,车,火车,飞机等,如果进行沟通发现想要的是更快的信息传递,就会去造电报,电话,互联网。
从这件事我认识到专业人士,要有自己判断,而不是按照非专业人士去做事,我想这才是专业人士的自我修养。
一句话总结:注意避免外行指导内行。
网友评论