不想谈业务的开发不是好开发( 二 )

记得我刚到公司实习,接触的第一个项目是某银行供应链金融智能风控。老大没有直接让我clone代码去写程序,而是拿出一个小本,一边给我讲供应链金融体系怎么回事,一边在本上给我画出了业务流程以及简单的产品架构。

那是我第一次知道了核心企业与小b、小r之间的业务及资金的关系,银行通过核心企的订单去管理上下游中小企业的资金流和物流,银行的盈利模式,我司应该从怎样的角度去建立风控模型等业务相关的知识。

了解这些“相关背景”,知道我要做什么,才能更好地知道下一步怎么做。

还是以智能风控系统做例子,假设一名技术人员小A负责开发其中一个功能模块:每天从行方指定sftp上获取当天的信贷数据,将其解析成指定格式的数据,进行一定的处理,并入库。

如果我们单纯开发,肯定很简单。但是在开发之前,我们要明确业务需求:

数据属性是什么?是业务平台的订单数据、期初数据还是授信数据?每种数据是什么含义,有什么用途?是实时数据还是银行当日的跑批数据?实时数据的响应时间要求是多少?银行一般晚上几点跑批?几点进行对接?数据如何存储,如何设计表结构设计为全表还是拉链表?那些数据是需要更新,那些数据是需要存储,方便月终对账的行方对账的逻辑是什么?如何设计表结构才方便对账以后出报表的时候,怎么才方便取数?这些问题实际上是和开发没有什么关系的,但却是我们应该去了解的业务问题。

推荐阅读