Skip to content

Latest commit

 

History

History
103 lines (52 loc) · 17.8 KB

2.5-dan-ju-fen-xi-fa.md

File metadata and controls

103 lines (52 loc) · 17.8 KB

2.5 单据分析法


1. 2.5 单据分析法

所谓单据分析法,就是分析用户当前使用的纸质或电子单据,通过研究这些单据所承载的信息,分析其产生、流动的方式,从而熟悉业务,挖掘需求。

对于管理软件开发来说,要考虑的最核心的事情莫过于如何处理信息,如果能把各种信息的产生、加工、保存、流动都处理好,那么这款软件基本就成功一大半了。对于企业来说,如果没有使用信息化系统,那么信息除了存储在人脑中还会在哪儿呢?无非就是在这些单据上。单据可以是纸质的,也可以是电子的(如Excel文件)。这些单据记录了企业的重要信息,而这些信息往往也是信息化系统需要管理的内容。通过对企业现有单据的分析,既可以理解清楚当前的业务流程,又可以从中获得某些对信息化系统设计有指导意义的思想。

一个组织,在没有信息化管理系统时,它的单据体系其实就是它的信息体系,填写单据的过程就是信息录入的过程,单据传递的过程就是信息流转的过程,最终单据进入的档案室就是数据库。因此,通过分析单据来获得关于信息管理的需求可以收到事半功倍的效果。单据分析法是获取需求过程中使用得相当普遍的方法,值得仔细研究下。

1.1. 2.5.1 单据收集

使用单据分析法,首先要做的是收集单据,也就是说要收集客户在业务运营过程中使用的各种纸质或电子表单。这并不仅仅是把单据从客户手头上拿过来这么简单,还有很多方面需要引起注意的。下面列出了在收集单据的过程中需要注意的一些内容。

1.收集的单据务必要全面

如果你做的是某个组织全局性的管理信息化工作,如一个大型ERP系统,那么在收集单据时,一般不要给配合收集单据的协作者设限,说你要什么什么类别的单据,不要什么什么类别的单据,因为现在对客户业务理解得并不那么精通,你所说的什么类别跟他们理解的可能并不一致,这样很可能会弄丢部分单据。例如,你说你要他帮助收集跟生产计划相关的单据,可是他可能并不认为采购计划单属于想要的单据,而这个单据恰恰是你非常关心的。收集单据的原则是:宁可错收一把,不可放过一个。当然,也不能太走极端,过犹不及,如果要做个OA系统,犯不着把公司里的所有生产单据都收集一遍,这没有意义。

2.收集单据的过程也是个调研的过程

收集单据,应该尽量亲自跑到工作现场,拿到单据后要立即跟工作场景结合起来,先了解这个单据在这个地方是怎么产生的,跟现在的工作是什么关系,填写者在上面填写了什么,怎么填的。如果能亲眼看到某职员正在填写某单据,一定要仔细观察,在不会过于影响对方工作的前提下可以询问现在填写的内容是怎么来的。一边收集单据,一边观察,一边访谈,这样对以后的工作大有裨益,有助于对业务的深刻理解,而不要只是给客户的某人留句话,让他帮你收集好什么单据,即使客户真的安排了这种人员,他也愿意配合你,也尽量不要这样做。

3.收集的单据务必是被使用过的

这一点非常重要,也容易被许多初学者忽略。经常看到没有经验的需求人员跑到客户存放单据的仓库中,从印刷好的空白单据堆上,一张一张撕下来,乍一看,别人要两天才能做完的工作,他20分钟就干完了,效率很高,但这样收集的单据对需求分析来说作用实在有限。收集的单据应该是被使用过的单据,因为填写在单据中的内容对需求分析的帮助更大,仅仅看空白单据上的字段标题,有的时候真的很难理解,而有了填写的信息后,效果就完全不一样了。

单据中填写的内容,有时会有某种程度的逻辑关系,例如,“金额=单价×数量”,这种关系,只有在有内容时才能体现出来,很少有公司会把逻辑关系的描述印刷在空白单据上。

有些单据,你可能发现,填写者在角落上写了许多内容,并没有填写到格子里,另一些单据,你又可能发现,有许多空白格子并没有填写内容。这往往意味着,这份单据并没有完全按照当初单据设计者的意图在使用,有些字段已经没有用了,而有些需要填写的内容,当初设计时并没有考虑到,在这种情况下,仅仅看空白单据自然想不到这个层面。

只要认真研究填写者填写的内容,就能得到意想不到的收获,哪怕一个貌似很小的收获,都会给软件设计带来极大的收益。

案例:收集到的单据应该是被使用过的

小王到仓库收集单据,其中有一张货物验收单,包括品名、规格、单位、数量、单价、金额这些字段。他仔细研究了这张验收单后,发现一个非常奇怪的问题,仓库管理员在验收单的单价中写了一些很长的数字,精确到小数点后七八位,如“2.06239846”。看到这个后,他觉得非常奇怪,就去问仓库管理员为什么会有精度这么高的数值?这是在什么情况下产生的?仓库管理员解释说,这是他们根据移动加权平均的方式核算的单价,财务要求他们每一次供应商送货都要计算。于是,小王继续询问这个核算方式究竟是如何进行的,于是,仓库管理员仔细介绍了仓库使用移动加权平均法计算单价的整个过程。

4.每种单据仅收集一张并不足够

在收集单据时,同一种单据应该多收集几张,不同填写者的填写内容、填写方式都可能不一样。如果同一单据会被不同的岗位使用,那么在每个岗位都要收集几张不同的单据。曾经见过有人推荐,同一单据至少收集20张以上,如果不想做得那么极端,五六张总是要保证的。这个没有一定之规,如果使用的人多,流动的岗位多,承载的信息量大,逻辑复杂,那么就要多收集些,20张以上可以考虑,如果单据简单,使用的人也少,信息量也少,可能一两张就足够了。

1.2. 2.5.2 单据分析

对单据中的信息进行分析当然是必不可少的,其实这项工作与单据收集工作是并行的,当然,单据收集完成后,对单据的分析还要持续一段时间。单据分析,要求对单据上面的所有字段进行分析,由于这些单据都来自于客户的业务运作过程,这个过程往往比较复杂,并且非常倒霉的是,有些工作的专业性非常强(例如技术部门的一些单据,如果不了解这门技术,一定会让你抓耳挠腮),要把这些单据都分析清楚是个相当有挑战性的工作。一旦把此事搞定,那么对这个公司的运作过程不敢说了如指掌,至少也能做到胸有成竹。如果项目够大,涉及的业务够多,那么这件事甚至需要一个团队来协作完成。单据分析可以从以下几个方面入手。

1.理清每个单据的源头

首先从每个单据的源头开始,了解这个单据是由哪个部门的哪个岗位发出的。需要注意的是,大量的单据并不仅仅由唯一一个岗位发出,相同的单据由多个岗位发起的例子屡见不鲜,如原材料领用单,车间、技术部等部门的多个岗位都有可能填写原材料领用单到仓库领东西。甚至有些单据,每个员工都有发起的可能——很多办公层面的单据,如请假单,就是这样的。这也是我们强调相同的单据需要收集多份的原因之一,如果只收集一份,往往容易失去对这种多源头分析的敏感性。

案例:理清每个单据的源头

小王到仓库收集单据,其中有一份《原材料领用单》,是甲车间物料管理员填写的。仓库的材料就是给车间准备的,小王觉得这个非常合理,于是在分析了这个单据中的信息后便宣布这个《原材料领用单》的分析工作结束了。后来在技术部,发现了一份《原材料领用单》的存根,一问之下,才知道原来技术部也是需要去仓库领用原材料的,主要用来做技术参数的测试。小王发现这个问题后,觉得不能掉以轻心:还有别的部门需要到仓库领用原材料吗?于是又重新到仓库针对这个单据做了详细调研,原来不但技术部会领用原材料,工程部也会领用,用于进行机器调试,采购部也会领用,用于做采购样品,等等。

单据发起的岗位,往往预示着在未来的软件系统中,会有相关业务的录入工作,这个跟单据流经的岗位不一样,单据流经的岗位,往往只是查看一些信息,或者只是填写小部分信息,大部分情况下,单据的发起者需要填写较多的信息,在未来的软件设计中,就需要仔细考虑如何保证快速录入,不重复录入,安全录入,以及可以切合业务流程符合时机地录入等。

2.理清单据的流动路径

一般来说,大部分单据都会流经多个岗位,有些单据在部门内部流动,如有些车间的生产调度单;有些单据会在不同的部门之间流动,如仓库的领料单,一般会由领料部门流向仓库;还有些单据从企业外部流入,如供应商的送货单,由供应商流入本单位;还有些单据流向企业外部,如销售发货单,由本单位流向客户。

单据的流动方式主要有这么几种:第一种方式,由一条线单向流下去,固定由某一个岗位发起,到某一个岗位结束,如生产过程中的某种加工卡,由调度人员发起,加工卡随着加工件的流动而流动,最后进入某仓库结束;第二种方式,由多个源头发起,但最终都归于同一个岗位,如仓库领料单,各车间、技术部、工程部、采购部都可能发起,最终流向仓库结束;第三种方式,单据在流动的过程中会有往复的现象,即从某个岗位出去,然后又回到这个岗位,例如,某车间生产时有一种生产卡片,甲岗位完成某道工序后,在卡片上填写部分内容,再将卡片随着货物移交乙岗位,乙岗位完成某道工序后,在卡片上填写部分内容,又将卡片随货物移交甲岗位做另外一道工序,这就出现了单据流动的往复;第四种方式,单据的流动会出现分叉,即同一单据在某环节流到不同的岗位去了,这种现象其实很常见,你看那种一式数联的单据,基本都是这种流动方式,例如,某仓库的货物验收单,供应商送货后,仓库验收货物,填写验收单,验收单一式三联,一联给供应商送货人带回,一联给仓库管理员记账,一联给财务结账,这就出现了单据流动的分叉。

当然,现实中单据流动的方式更为多样,不同的单据,流动方式可能是这几种不同方式的组合。在分析单据时,要把这些流动方式都要搞清楚,单据的流动往往意味着某种工作流程,而这些工作流程又往往决定了信息系统中数据流动的方式,决定了不同的岗位需要获得哪些信息,处理哪些信息,也决定了大概需要哪些功能,并决定了哪些工作流程属于前后强制型的,可能需要采用工作流的方式处理(如一些审核审批的要求),哪些工作流程属于提供信息使用信息型的,不需要采用工作流的方式处理。

3.理清每个字段的前因后果

仅分析每个单据流经哪些岗位远远不够,还要分析每个岗位针对每个单据做了些什么,他们从单据中获得了哪些信息,这些信息对他们的工作有何帮助,往其中填写了哪些信息,这些信息是在什么情况下填写的,根据是什么——这才是一件真正艰巨而耗时的工作。

研究单据中的具体信息时,先要端正态度。要知道,你研究一张单据,就是研究一种管理流程,要怀着一颗对单据设计者的敬仰之心来研究,这样更容易进入他的内心世界,从而有助于理解整个管理系统。要知道,一个公司的单据设计者都是这方面的业务流程专家,为什么这么设计,这么设计是为了执行什么管理流程,为了贯彻什么管理思想,他都是考虑过的,没哪个人敢对这么多人填写、使用的单据不慎重对待。

当然,也不可抱着盲目崇拜的思想。要知道,大部分公司的情况是,单据当初设计时是符合当时的管理要求与业务流程的,后来,随着管理方式的不断变化,单据离实际管理要求越来越远。跟管理方式的变化比起来,单据的变化总有一定的滞后性,一者,管理上的变化随时都可能发生,可仓库里总会堆积许多没有用完的空白单据,不能浪费;二者,不到万不得已,人总是有点儿惰性的,只要能凑合用就凑合用吧,直到将旧单据用完,或者某个管理者忍无可忍。

一句话,分析单据,要找到其中的真谛,既要理解其中的管理思想,又不能被表象所迷惑。

要分析清楚每个字段的前因后果,首先得弄清楚每张单据的结构。单据最常见的结构有两种,一种是单一形式,另一种是主从形式。例如,一般请假单、生产卡之类的单据,往往都属于单一形式,从软件的角度看,核心信息往往对应着数据库中一个表的一条记录;而像送货单、销售单、验收单之类的单据,往往都属于主从形式,一般单据的上边部分是这次业务活动的总体描述,可称之为“头”,如送货单位、送货日期、送货人等,下边是具体的业务对象,可称之为“行”,如送货的品名、规格、数量、单价。从软件的角度看,核心信息往往对应着数据库中的主从两个表,这两个表的关系是一对多的关系,“头”部分对应数据库中主表的一条记录,“行”部分对应数据库中从表的多条记录。

现实中,单据的结构不会总是这么简单,可能多种多样,五花八门,需要仔细调研、分析,有些单据真的很复杂,这里一块那里一块,块与块之间的关系也不太清楚,这往往需要投入更多的精力。

分析清楚结构后,要仔细研究单据上的每一个格子,虽然手中的每个单据都被填写了内容,但要知道,这些内容不是一开始就在那里的,每个格子中的内容都是某个员工在某个场景下填写的,它是在工作中生成的,是某个流程的一部分。为了填写这个格子,对填写者来说可能非常简单,例如填写工号、当前日期等,但也可能非常复杂,例如登记某些需要经过大量测量、分析、计算才能获得的技术参数。

4.注意在单据边角上书写的不正规内容

在分析单据时,有一点要引起注意,在使用过程中,有些单据使用者可能会在单据的边角上,甚至背面填写内容,这些没有填写在格子中的内容不可放过。或许,这些内容只是某个使用者兴之所至记录些东西备忘,但有时候这恰恰是大家针对某种信息约定俗成的填写方式。

考虑一下一种单据的生命周期。单据刚被设计出来时,往往是最适合业务流程的,因为设计者是根据当前的业务要求设计的,但是随着业务流程的变化,管理方式的变化,单据格式离业务流程、管理要求会越来越远。一个组织的单据体系其实就是个信息系统,只不过它不是电子化的而已。它缺少电子化信息系统的弹性,当使用者通过这种纸质的信息系统无法处理业务时,第一反应往往就是在原来使用的单据上补充信息。在单据的边角上或背面看到的信息就是这种补充信息。补充信息多了,往往预示着现在的管理方式跟当初设计单据时有了很大的变化,也就预示着这个单据就要走到生命尽头了,接下来管理方会根据业务要求重新设计单据以替代原来的单据,这其实是个信息系统(纸质)重构的过程。

填写这些补充信息都是工作人员在万不得已的情况下使用的变通方法,这些对他们很重要,有时候比格子里填写的信息还重要。分析清楚这些补充信息才可以更好地把握当前管理方对数据流动的要求,这些要求是如此热切地反映在现存单据的边边角角上,忽略它们是相当不明智的。

1.3. 2.5.3 单据管理

如果需要设计的系统规模够大,牵涉到的单据很多,那么建议使用一些规范方式对收集的单据进行管理,毕竟可能会有很长一段时间会用到这些信息。例如,可以建立这样一种表格来管理收集到的所有单据,见表2-1。

另外,还需要根据每个单据的字段建立管理表格,由于当单据的流动路径不同时字段的填写方式可能相差很大,所以建议根据每个单据的每条流动路径建立这样一种表格来管理,见表2-2。

最后,可以将收集到的所有单据扫描成图片,做成电子文档,编号保存,给以后的查找、使用带来方便。如果要开发的系统够复杂,有条件的话,甚至可以开发个小型系统专门管理这些单据,通过链接加载相关单据,检索起来就方便多了。