中企聚易
首页 > 资讯动态 > 正文

软件开发项目出现的大部分Bug,其实从一开始就能避免

举个例子,我们小时候都玩过一种赛车模型——四驱车。在商店卖的盒子里装满了四驱车的配件,我们高高兴行买回家后,欣喜若狂地拆开包装,照着说明书仔细安装,可是有的车拼装完成,却根本跑不起来;有的车虽然能跑起来,但总能听到很不流畅的声音。是不是非常的懊恼和郁闷?

作为一个不懂技术的人,不光是我本人,大部分人都会这么想,具有多年经验的开发老司机,开发一款常规的软件应该是手到擒来,毕竟市面上已经有那么多成熟的案例。

直到后来查询资料得知,左右开发上线的因素有很多,就算是我们使用的Windows系统,穷尽这么多优秀工程师的努力,依然还是有很多Bug存在。

一般来说,我们开发一款软件是在A环境下进行的,那么开发好了之后,需要把代码配置到B环境。这时候我们会发现,软件明明在A环境下运行顺畅,到了B环境就出现了各种问题。

比如,一个Web网页,看似功能不多,需求极简,但是碰到IE浏览器这块儿硬石头,就总是调整不到位。还有一种情况,用户在线填写表格,表格内容有两种,在测试的情况,就会有三种情况:第一种和第二种分别被填写的时候是否会出问题,以及第一种和第二种同时被填写的时候是否会出问题。如果表格内容有三种,那测试就要涉及到七种情况(1、2、3、12、13、23、123),这么复杂的交错,出现一些bug看起来也合情合理。

最后一种情况,经常被客户视为bug的,就是技术认为的和客户认为的,其实完全不是一回事。这说明双方之间存在沟通方面的问题,也可能是一开始需求就没有这个功能,但是开发出来后,客户觉得应该添加进去。

未雨绸缪,防患于未然,对于沟通导致bug的情况,我们应该怎么做呢?

1. 聊聊业务 不要嫌烦

眼下大多数产品的开发,都是由业务的角度进行驱动。当项目背景、使用人群、商业模式等这类产品需求没有和团队进行过彻底沟通的话,就算是自家养出来的产品和开发团队,照样也做不出你想要的产品。

在这个产品量爆炸、技术领先的时代,抓住用户痛点才能获取用户青睐。可你却一味地让我不断开发这个那个功能,却不告诉我你最终想要做成什么样子,这样的结果往往就是我们只能通过对功能这些片面的信息来推理业务需求,从而也导致在客户眼里,这个产品满身都是bug。

只有细致且深入了解业务,才能更好地了解软件开发的诉求,让我们帮助你区分真伪需求,然后找到最佳的解决方案。

2. 确认需求 逻辑闭环

要知道,技术最烦的,就是前后逻辑不对应。

当你向我们说明每一个业务及需求时,我们就已经在脑中快速整理成对客户以及对开发都能看得懂的通用文档。通常客户的描述,即使有竞品软件参考,大多也都停留在前台功能点上,并不过多涉及后台功能,如果跟客户对接的不是产品经理,那么双方对后台各操作逻辑的来龙去脉都不清楚,做出来的东西自然会有各种各样的bug。

比如,前台界面漂亮至极,有很多功能看上去都可以点击,但是点了之后却没反应,这是因为后台压根没有配置服务。功能多了,串连逻辑的复杂程度会多出好几倍,犹如陷入思想漩涡,少一个逻辑回路,就会孕育了好几个潜在bug。

3. 节点验收 用心确认

虽然不是客户的错,但总会有一种情况,闹得双方哭笑不得。每次在关键节点上,某些客户倚仗我们专业能力水平,对交付内容的结果没有仔细检查就一带而过,事后开始各种挑毛病,美名其曰为bug,其实……这并不是bug,而是产品的本来面目啊!

错把冯京当马凉的事故,本来在需求确认与节点验收时是可以避免掉的,不仅是我们需要努力,客户也需要用心,双方负责地对待一起打造的产品。说的暧昧一些,产品就像双方的孩子,让我们在恋爱的初期,共同规划美好的未来。

来源:https://www.jianshu.com/p/3995278dd805

微信扫一扫或长按关注"中企聚易"