IT人的职业生涯中难免会遇到烂项目。有些项目是你加入时就已经烂了,有些是自己从头开始亲手做成了烂项目;

有些是从里到外地烂,以为工程浩大表面光鲜,实际跳进去才发现是个“焦油坑”;有些是还没烂,但问题已经很明显了,是个摇摇欲坠的“危房”。

BI作为IT项目的一个重要分支,自然也会有相似的问题,比如以下这位老哥的经历。

李哥才30多岁,一直在互联网混迹的他,抱着试一试的态度应聘了某知名服装公司的BI经理,惊喜地被录用了。正式上岗后,才发现接手的是个烂摊子,前任花了1年多做的BI系统看似满足了领导的所有需求,其实根本就是个摇摇欲坠的“危房”。

系统倒是挺全,ERP、MES、CRM该有的都有了。报表也挺丰富,从业务个性化需求报表到以各部门固定使用的查询报表,汇总报表。

但是,熟悉了几周,李哥发现BI系统上线了半年多,当初设计的报表浏览和使用量屈指可数,就连常规要求的月度经营分析和绩效考核必须从BI中取得这两点都没有实现,依然需要业务部门从各个系统中导出数据再自行计算统计。

另外,业务经常反馈业务系统与BI数据报表中相同维度的数据会出现的一些差异,会议上各部门争得面红耳赤,导致大家对BI数据的信任度严重下降。

而自己带的BI团队,7、8个人每天抱怨提过来的烂需求,不断地取数做报表,需求排到一个月之后,数据整合筛选、归类、分析全都得停留在各业务系统,只能低效的靠人工手敲成百上千行的SQL。

现在李哥反应了过来,为何自己能如此顺利地“捡漏成功”,原来是有一堆烂摊子:

  • 数仓是搭建了,但底层的数据都没有处理好,指标口径对不上,导致最终做出来的报表数据质量一塌糊涂...
  • 当初设想的各业务围绕经营和绩效的分析报表规划,但实际落实后业务仍旧围绕个性需要提需求,且90%都是报表需求业务需求整理出来,只是报表需求,现在库里有1000多张报表...
  • 另外,实时就不谈了,原本每天早上要看报表的,搞了个ETL和其他相关计算,报表一周才出,下面的人还得忽悠需求方,服务器性能不够、数据库系统内存太小...
  • 报表也是,用了某开源工具,简单的都会,但一到极其复杂的多主题、复杂的统计就瞎了,业务的需求有时候比较怪异,非要把完全不相干的东西整到一张报表中,你还必须实现。工具实现不了,最后还是回到写SQL吧...

意识到当下要跑路已经来不及了,可是从头推翻公司整个BI规划又绝非易事,互联网做BI那一套一时难以套用,李哥陷入了僵局。

找出路还是得先诊断问题。李哥花了10多天时间走访调研各业务部门,管理层、业务基层,虽然收集了一堆问题和吐槽,但好在公司上下对BI的价值和信心度未垮,和组内小伙伴以及CIO多次研讨,决定改变眼下的实施思路,确定了下一步的优化方案。

1、首先,停下技术工作,重新梳理需求,重点放在数据质量治理上

第一个就是主数据的治理。也就是说企业经营管理过程会用到哪些主数据?这些主数据是如何产生、如何进行分发、会标记哪些维度形成派生主数据?随后在BI中单独搭建一个主数据中心库,抽取业务系统的主数据按照分类原则存放,并开发主数据一致性校验程序与主数据分发日志表。

第二个是指标的梳理,建立指标体系。定义每个分析过程中的使用的业务指标,建立评价标准,以及计算方法,将业务管理逻辑进行更加直观的呈现,销售环节出现了数据波动就可以直观的呈现出来,通过指标的呈现,可以追踪哪部分业务发生的问题。

第三个就是规范数据产生的入口以及数据取值的出口的标准。明确所有数据的录入产生的作业标准,建立各个系统到BI的接口规范,公司现在经营活动中产生的几乎所有数据都要进数据仓库,并由BI系统统一进行数据抽取与数据加工。

另外针对所有业务部提交的月度经营分析、绩效考核、日常管理分析的全部数据需求进行评估分析,搭建相应的数据模型,要求任何所有应用数据都从BI系统取值,有了入口与出口的规范才能保证数据的一致性与唯一性。

完成以上三个动作后,又简单编订了公司数据管理制度,定义了主数据产生、指标体系的结构与算法、数据录入与输出的标准等。

2、其次,建立信心,优先解决分析需求中的刚性需求,即真正的高优先级需求

先做好需求调研。需求实在是太重要了!此前的调研过于粗放,上线后暴露了不少问题,这一次调研基于以往再做了指标和分析点的补充以及口径的确认。

通过问卷和访谈形式对各业务部门经理进行了摸底,收集了他们对于报表的要求以及关心的指标。

比如财务部门通过平衡记分卡的引入,希望能够得到他们平时的分析方法和关注点,来形成一个分析体系,最终财务部门也梳理出一条以现金流为主的价值链。另外后续访谈过程中,尽可能将需求细化到取数口径、维度和度量级别粒度,并作好确认。

一个BI项目的重新启动需要杠杆。这个杠杆即是优先解决甚至遗漏用户企业分析需求中的刚性需求,即真正的高优先级需求。

调研过程中,财务部门的表现最为积极,一方面分析需求多,一方面财务也面临着高层质问的压力。并且财务作为公司的核心部门,对于IT来讲也是树立标榜的最佳队友。于是和财务部门展开了“深入合作”,梳理分析模型,开发了财务经营等多张分析型报表。。

另外,搞定顶层,管理者对公司经营指标最为关注,设计驾驶舱是一个重要手段。管理者透过驾驶舱与关键考核指标组合报表可以快速阅读自己的KPI指标以及关注和的经营指标的变化,因为每个管理岗位应该关注的什么内容在体系上梳理很清晰了。

3、上线成熟的BI报表工具,解决手工报表问题,重新梳理报表体系

报表是BI项目的最终呈现,最需要关注的是报表生成的效率和对需求的响应速度。开源工具虽然不要钱,但是对人的要求高。

要看得懂一堆英文文档,对不能处理的需求能灵活地想到做接口开发或SQL处理,但能应付的人毕竟少数,7、8个水平参差不齐,低水平重复工作使得人员流失大,带人成本也就大了。需要把应付报表需求的能力依附在工具上。

这个环节不必省,毅然决然上了商用报表帆软FineReport,且报表分析体系、驾驶舱、以及数据的权限等问题,需要一个BI决策平台来承载,充当公司的经营数据门户。

制作上,finereport的的聚合报表制作模式基本解决了绝大部分的复杂报表开发,需求调整只需修改报表模板;

另外,填报流程可用链接分享或者挂载到决策平台上处理,基本pass掉手工Excel。整个操作层用户的工作效率提高了很多,大家都在一个频道,用同一种数据来源做汇报,再也不需要像过去需要临时加工一些乱七八糟的报表了。

另外,此前围绕不同业务主题规划了不同数据分析体系,层次上从低到高分为:业务基层报表(填报、查询类)——业务分析型报表(针对业务决策层)——经营管理决驾驶舱。

将原本1000多张报表压缩到200多张报表模板,均用FineReport开发,然后挂载到finereport的数据决策平台上,形成了公司的数据门户,再配合平台本身提供的数据上报,流程审批,权限管理等一系列功能,形成了一整套完整的系统。

最终成果

至今公司的经营分析报表以及KPI考核的数据取值,都是由BI提供的,用户对BI系统的日常使用频率仅次于核心业务系统,平台日均浏览在3000多人次(公司1000多人)。公司的管理理念也发生了深刻的变化,从上至下不再用定性的语言表达,形成了用数据说话习惯。

当10年BI数据总监遇到烂需求、烂数据时,他做了这几件事相关推荐

  1. 福特数据总监:汽车业的大数据框架如何构建?

    要实施一个大数据技术框架需要一个战略,在最近举办的Big Data Innovation Summit上, Gahl Berkooz在他题为"In Search of Actionable ...

  2. 大数据总监python可视化分析30W数据后,找到了抹黑我们的原因

    真利益相关,人在国内,刚下...算了,在办公室. 我不知道是谁在推特上抹黑我们,我也不想知道他们为什么这么对待我们,作为大数据行业的一员,我觉得什么东西都得有数据来证明对吧,如果靠嘴的话,那对面早就赢 ...

  3. python3d_Power BI将超越python和D3,成为数据可视化的福音、定性数据分析的未来?...

    提问者修改了问题描述,感觉之前的描述更准确一些. 先说我的结论:Power BI确实是面向浅编程用户的敏捷BI工具,也是数据可视化的福音(免费且有用户基础足够大),定性数据分析的未来是什么这个我不清楚 ...

  4. 大数据 端到端_成为数据科学家的端到端指南

    大数据 端到端 数据科学提示/入门指南 (DATA SCIENCE TIPS /BEGINNERS GUIDE) Data Science has improved considerably over ...

  5. linux离线安装ftp_安装Kali Linux之后要做的前10件事

    Kali Linux是基于Debian的发行版,由全球领先的信息安全培训公司之一 Offensive Security专门开发和维护,用于高级渗透测试和安全性. 它通常被称为黑客的理想操作系统,它是对 ...

  6. 数据科学学习心得_学习数据科学时如何保持动力

    数据科学学习心得 When trying to learn anything all by yourself, it is easy to lose motivation and get thrown ...

  7. 如何在NLP领域做成一件事by周明ACL计算语言学会候任主席(附PDF公号发“NLP做事”下载rar讲座PPT等10文件)...

    如何在NLP领域做成一件事by周明ACL计算语言学会候任主席(附PDF公号发"NLP做事"下载rar讲座PPT等10文件) 周明ACL候任主席 数据简化DataSimp 今天 数据 ...

  8. 如何在NLP领域做成一件事by周明ACL计算语言学会候任主席(附PDF公号发“NLP做事”下载rar讲座PPT等10文件)

    如何在NLP领域做成一件事by周明ACL计算语言学会候任主席(附PDF公号发"NLP做事"下载rar讲座PPT等10文件) 周明ACL候任主席 数据简化DataSimp 今天 数据 ...

  9. 运维 服务器安装,IT服务器运维安装CentOS后,你要做的10件事

    IT服务器运维安装CentOS后,你要做的10件事 IT服务器小知识CentOS是一款社区驱动的免费Linux发行版,也是一款功能很强大的可替代红帽企业级Linux(RHEL)的发行版.它源自红帽企业 ...

最新文章

  1. 史上最全的高可用服务系统线上问题排查工具单(一)
  2. POJ 2190 模拟
  3. git没有changId解决方法
  4. 主生产计划的功能以及其相关MRP类型参数
  5. react.lazy 路由懒加载_Vue面试题: 如何实现路由懒加载?
  6. 大数据可视化html模板开源_8个可靠好用的开源数据可视化工具推荐
  7. PaaS的发展将释放物联网开发效率 ——基于云架构的物联网云平台解决方案
  8. Java教程:Java return语句
  9. 现代信号处理——参数估计理论(估计量的性能)
  10. DaleCloud(原NFine)介绍三:后台业务功能开发实战演示
  11. 购物网站流程图(收藏)
  12. bugku never_give_up file_get_contents()有php://input漏洞 eregi \x00绕过
  13. 题解:2018校招真题(字节跳动:附加题)
  14. 程序员鸡汤_程序员之魂鸡汤
  15. 入门,前后端实现简单账号密码登录
  16. Unity两种获取屏幕点击位置的世界坐标方法
  17. Metasploit的使用-入门
  18. 手机内置传感器和定位技术
  19. 程序员适合做自由职业者吗?
  20. python一键替换_python 实现批量替换文本中的某部分内容

热门文章

  1. sas rename重命名_如何使用sp_rename命令在SQL Server中重命名表
  2. 老蒋征婚启示啊啊啊啊啊啊
  3. goroutine 修改全局变量无效问题
  4. jupyter修改默认目录
  5. 20165205 2017-2018-2 《Java程序设计》实验三 敏捷开发与XP实践
  6. JAVA利用JXL导出/生成 EXCEL1
  7. android程序逆向工程
  8. 阅读《梦断代码》计划
  9. Web前端开发最佳实践(3):前端代码和资源的压缩与合并
  10. SQL中char varchar nchar nvarchar ntext区别和使用(资料汇总)