不起眼的报表才是项目的成本无底洞
几乎所有的信息系统都会有报表,但在建设初期,调研了解需求时通常不会把报表作为重点,而更多的是看重业务规则、系统功能等。一是因为项目人员潜意识里就没太把报表当回事,报表处于最后的呈现环节,通常也不会影响系统架构和功能组织的设计不必太过于重视;二是因为在项目需求调研阶段经常还不能提出完整明确的报表统计需求,也没办法作为调研重点;三是因为有报表工具的存在,即使有些工作量,也都可以推给报表工具去解决
然而到了项目中后期却发现,事情没有那么简单,用了大牌的报表工具,报表还是没完没了做不完,项目都上线了,还要改报表做报表,消耗大量的成本,而且遥遥无期,成为项目收款的噩梦
这是因为报表的稳定性天生比较差,它需要在生产实践中磨合,在业务系统运行过程中,积累了一些数据后,用户会想到新的、更合理的统计分析需求,那就需要修改或者做新的,就会持续有做表的需求,这也是前期无法重点、完整调研的原因,与实施方和用户的经验无关,谁都避免不了。又因为它不影响系统架构,不是什么大动作,用户方甚至开发方都不觉得加改几个报表是什么大事,这点“不起眼”的工作量,你一提,我也就应了,一根稻草一根稻草的累积起来,原本看着不起眼的报表,就成了没完没了的、压得人喘不过气的大山了
即使是专门的数据分析类系统也一样,这类系统的初期调研通常会把注意力放在 BI、可视化等功能上,报表常常是被忽略的环节,但上线后却发现报表才是更有用的,用户每天 90% 以上的时间看的都是报表,需要的是报表。原先期望的的业务人员有什么查询统计需求都可以通过 BI 拖拽出来,实际上都成了幻想。因为 BI 能拖拽的报表相对简单,数据统计需求复杂一些的做不了,而且业务人员能学会拖拽,却学不会数据整理和计算,经常会发现缺失的数据集,这就得先找技术人员整理准备数据,不仅不灵活,而且得大费周章,反正要求助于技术人员发,那还不如直接看做好的报表。所以到最后,BI 就鲜有人用了,大部分分析需求还得落实到报表上,原本不起眼的报表反倒成了主角,然后就得做报表,做报表就也会遇到上面的问题,层出不穷,没完没了
没完没了成本就会高?
报表没完没了,人工成本也就得没完没了的投入,最后就导致原本看着不起眼的报表,居然成了项目成本的无底洞
这确实是事实,是很多项目的现状,但成本高真的是因为没完没了导致的吗?是这样的因果关系吗
其实不然,任务多不见得就得投入高成本
就像我们每天都要洗衣服,但人工成本却不需要投入很多,因为洗衣机好用
每天都要上下楼,但也并不费劲,不用烦恼,因为电梯好用
一件数量大、频度高的事情如果做起来费劲,那多半是因为没有工具,或者工具不给力造成的
工具不给力人工成本才会高
报表多的项目,基本上都会选一个报表工具来提升开发效率,不用工具的很少。报表工具也的确不负众望,可以很大程度的提升效率,节省开发成本,但是报表工具本身也有差异,效率和性能也就有高低之分,就算是稍微差那么一点点,一两个报表看不出来,一个项目成百上千张报表,累积起来的工作量差异就是个大数字了
另外很多报表工具一直都是只能做报表,其他环节比如给报表整理准备数据的任务,就帮不上忙了,没有对应的工具,就只能开发人员手工做,这也会导致成本大量增加
工具效率低
报表的开发中有很多个二八法则,比如占 80% 的简单报表,只需要用 20% 的时间去开发,而占 20% 的复杂报表,却需要耗费 80% 的时间
大部分的报表工具,在简单报表的开发效率上,其实是分不出高下的,因为报表太简单,谁都能很快做出来,而在真正考验效率的复杂报表上,差异却很大,有的一小时,有的得半天,单张报表多个半天工作量好像无所谓,但数量一多起来,大量的人工成本就因为工具的效率低下被浪费掉了
另外报表的开发,还有这样一个陷阱:易上手陷阱
有一些工具把易于初学者学习的一步步的可视化操作当成卖点,宣称开发效率高,零编码,考察人员也觉得这样确实很好用,很简单,但这样就掉进陷阱中了,初学者易上手绝对不等于效率高!反而一步步的可视化的引导操作会成为提升开发效率的很大障碍,因为开发报表的大都是技术人员,技术人员是很容易从一个初学者变成熟手, 对于一个熟手来说,效率高才最重要,几秒钟写个表达式,其表达能力要远远比一步步的通过对话框设置各种计算条件要强大得多也简单的多,各种可视化设置就成了成了初学者之蜜糖,熟手之砒霜了,也成了浪费工作量的帮凶了
工具效率低,就得浪费更多的时间来做表,人工成本投入就没完没了
工具性能差
报表工具的性能好坏,在调研的时候很难看的出来,很多性能问题都是在报表上线用上生产数据后才暴露出来的,或者时间久了,累积的数据多了以后才有了性能问题
工具的性能如果好,这样的问题就比较少,如果差,那就会让项目频频遇上这样的问题,有了性能问题,开发人员就得去解决,而且这样的问题,基本都得高手去才能搞的定,总是得派高级人员去救火,成本控制又怎么能做的好呢
工具性能差,就得总安排人去解决维护,人工成本投入就没完没了
工具不进步
报表工具刚诞生的时代,其重点和难点都着眼于制表环节,还顾不上解决数据准备,而且早期阶段数据准备环节的难度也相对小一点,数据大都是来自一个数据库,基本上一个 SQL 就可以把数据准备好,所以报表工具的功能只需要解决制表能力的难题就好
随着大数据时代的到来,企业的数据早已不同往日,不仅数据量变多了,也变的更复杂了,
数据准备大部分情况下都不是一个 SQL 就能搞定的了,常会涉及过程式的多步骤复杂计算,得写很长的多层嵌套的 SQL 或者存储过程才能搞定,如果数据来源再复杂一些,要对各类数据源混算,一些非关系数据库或者文本数据源都不支持 SQL 了,那就得用 JAVA 等语言来写,SQL 10 几行能写完的,JAVA 恨不得写出几百行来,编码难度和效率就更糟糕了
而且这些存储过程和自定义 JAVA 代码,还会造成报表模块和整个业务系统的高度耦合,维护修改报表的时候,整个应用系统可能都得一起停摆、重启,维护起来极不方便,成本也会高出很多
报表还是那些报表,没什么大的改变,但数据却不是那些数据了,报表的难点已逐渐从制表,转移到数据准备环节了
然而,大多数的报表工具并没有太关注这个问题,也没有想办法去解决这个难题,因为理论上讲,数据准备确实和报表工具没什么关系,但是都是报表制作的环节,又怎能袖手旁观呢
工具没有进步,做不了数据准备,就得全靠手工去完成,深处大数据时代,数据准备的困难必然会越来越多,越来越难,每个报表都得手写存储过程或者 JAVA,投入的人工成本就更是没完没了了!
怎样才能控制好报表成本
选效率高性能好的
选好的,大家都知道,但怎么选,却不是一件简单的事情,验证工具的效率和性能,需要一套科学严谨的的方法,有需要的可以仔细看看这两篇帖子
实在没时间研究的,也可以跟随大家的脚步走,选那些年头久的就基本都没问题,年头久的产品,都是大浪淘沙筛选出的产品,像润乾报表,已经有 20 多年的历史,是业界公认的效率高,性能好的工具
效率高,才能节省开发成本,性能好,才能省下维护成本
数据准备工具化
工具化,是解决频繁,复杂劳动,降低成本的好办法
报表制作频繁复杂,可以用报表工具来解决问题
数据准备频繁复杂,也需要用工具来解决
全面的工具化,才能彻底解决从数据准备到报表制作的所有头疼问题
其实数据准备的工具也早就有了,润乾出品的集算器 SPL 就是,它简单高效,而且开源免费,是一款很流行的专业数据计算工具,它用途广泛,协助报表准备数据也是它的功能之一
在润乾报表中,多了一个 SPL 的数据计算层,这个计算层就是专门用来为报表做数据准备的,相对于原始的数据准备方式,SPL 有很多优势
1. 简单、人工和使用成本都低
JAVA 和复杂 SQL, 存储过程,这些一般都得高级工程师才能搞定,而 SPL 初级工程师也可以很快上手,SPL 包含丰富的计算类库,可以很方便地完成各类数据计算任务;提供可视化的编辑调试环境, 学习和使用成本都低
2. 开发效率高,性能好,节省开发成本
SPL 大部分情况下的代码量要远比 JAVA 和 SQL 少的多,开发效率高,而且性能在大部分场景下都已经被验证过是高于甚至是远高于 SQL/JAVA 的
效率高,性能好,是可以大幅度降低开发成本的
3. 减少耦合、支持热切换,节省修改维护成本
用 JAVA,存储过程准备数据的时候,会让报表模块和应用以及数据库产生高度耦合,修改数据的时候,还得拖累应用一起重新编译,或者改动数据库中的存储过程,不仅影响了系统的稳定性,更会增加日常修改和维护的难度,增加许多额外的工作量,
SPL 的脚本是写在报表模板里的,和模板一起存在文件系统中,自然也就不和数据库以及应用发生耦合,有什么变动,直接改模板和里面的脚本就可以,SPL 还是解释执行的,轻松热切换,不需要动数据库,更不需要重启应用
报表修改和维护的工作量成本,又降低了不少
4. 支持多样性数据源,节省开发成本
SPL 天然支持 RDB、NoSQL、文本、Excel、hadoop json 等多样性数据源,可以轻松进行混合计算(如 Excel 和 RDB 的表 join)
这又可以省出很多数据转化,转存,ETL,接口开发的工作量
当频繁、复杂、困难的数据准备过程,也有了趁手的工具以后,开发就变的简单轻松了,成本也自然就低了
而且开发变简单后,开发商的实施人员在该离场的时候也可以顺利离场了,项目上线后如果再有报表新增或者修改的任务,用户的维护人员就可以自己去做了,不需要非得找开发商懂架构、懂数据库的高级人员来做了,这是一个双赢的局面,开发商不需要无休止的陪护,没完没了的投入成本了,用户也更自由、体验更好了,没有数据准备能力的报表工具是做不到这一点的
总结
项目中的报表,虽然看着不起眼,不重要,却总是要做新的,改旧的,总是没完没了,这是确实存在的事实,也是一个无法规避的事实
但报表多,却不是造成人工成本高的主要原因,工具的能力差才是导致成本没完没了投入的真正原因,才会让报表成为了项目成本的无底洞
想要控制好项目的人工成本,那就必须得用像润乾报表这样的,效率高、性能好、有数据准备功能的报表工具才可以,而这样能为项目提升效率,省出大量人工成本的工具,它本身的价格也比同类产品要便宜很多,还能在产品成本上帮项目节省出不少,报表相关的总成本就更低了