业务原来可以如此简单
提到业务,一般搞技术的人总会有点抵触情绪,一部分人认为提高技术写好代码就行,不懂业务也没关系;一部分人又认为业务太复杂,怎么学无从下手。其实业务说复杂也复杂,说简单也简单,关键看你如何认知,如何去学。
一. 学业务的目的:
1. 和用户沟通:作为软件开发人员,虽然技术是必须具备的,但如果你是在一线做项目的,如果没有一点业务知识,估计无法和用户进行交流。
2. 分析需求:也许很多开发人员可能会说,我们只要懂技术,业务可以看需求就行。且不说很多用户没有详细需求,就是有需求如果没有一点业务知识可能都没法看懂。
3. 做好项目:一些技术人员可能会说,“懂业务项目不一定就能做好”,那是正确的,因为做项目除了要懂业务外,还有技术等各方面因素。但是不懂业务项目肯定是没法做的。
记得多年前第一次做软件项目,应该是财务方面的,当时我对财务以及报表完全没有概念,也没有任何准备就去和用户谈需求。 一个对财务一窍不通的我和一个对计算机的一窍不通的用户有了如下的精彩谈话:
我: “请问你们想做一个什么样的系统?”
用户:“我们不要做系统,我们就想做报表”,接着拿出几张报表,其中一张是《试算平衡表》(就是现在的资产负债表)
我: “那报表上的数据从哪来的?”
用户:“就从这来啊”,用户拿出一堆帐本,有总帐本,明细帐本….
我: “那这帐本上的数据从哪来呢?”
用户:“就从这来”,用户拿出一堆凭证,“这是收方,这是付方….”
我: “….” ,心想:这凭证是干吗的啊?又收又付的,晕…..
可想而知这需求无法谈下去,如果当时谈需求前花半天时间了解一下什么是财务报表,产生财务报表的业务流程,那么就不会有当时的尴尬境地。
二. 学业务的方法:
我们是做系统开发不是做业务的,需要了解的业务知识和用户的纯业务知识还是有一定区别的。用户的业务知识是为客户服务的,而我们是为项目服务的,因此学习时:
1. 围绕项目:要想在短期内掌握全部业务知识,那是不可能并且也不现实的。我们的目的是项目,所以首先要学的是和项目密切相关的业务知识。
2. 业务拆分:一个完整的业务可能很复杂,但是可以拆分成各个简单的业务点。
3. 抓住要点:只学和项目有关的业务点,无关的忽略。
比如:我们的项目是做银行的报表系统,报表涉及到贷款、存款、中间业务、债券等,因为目的是做报表,所以只要了解每项业务的基本概念、数据来源和各类帐户信息的含义即可,至于各种业务的流程、操作规范等都是用户做业务需要的,和项目无关可以忽略
三. 学业务的步骤:
那么如何在短期内快速掌握该项目必要的业务知识呢?对于一般的项目(通用产品和产品模型另当别论)可以按以下思路分步掌握:
1.基本概念:这是首先要了解的基本知识,如果是做报表项目的,就要了解什么是报表?项目要做的是财务类报表、监管类报表、业务类报表还是统计类报表?大约多少张?报表的频度等。做贷款项目的,就要知道什么是贷款,贷款基本有哪些种类等。
2.业务流程: 业务流程是做项目的核心,先了解主流程,比如个人贷款业务的主流程:申请->审批->复核->授信->放款->还款->结清,了解主业务流程后,项目的业务主要功能也就基本清楚了。然后再一个个功能去详细了解,比如还款有:正常还、逾期还、提前还等,这就是每个功能里的实现问题了。
3.数据信息:了解业务所需的各类数据和信息,比如贷款就要有申请人信息、授信额度、放款额度等,清楚了解这些信息后就知道数据库该如何设计了。
4.工作流程:就是业务的每一步可以由哪些人操作,如何操作,比如审批要信贷员,贷款还款是在每月底前批量自动扣还等,了解业务工作流程后就如何设置用户、操作权限、时间控制等等。
通过以上的方法和对业务的步步分解,你会发现学业务原来可以如此简单,但愿我的实用主义经验能给新手一点启示,更快地熟悉业务,当你又懂技术又懂业务后你会发现做项目的快乐,希望大家天天快乐!