客户问得最多的一句话是,这个项目要做多久。
这个问题不好回答。同样十几张报表的项目,有的六周交付,有的拖到第二年。差别不在开发快慢,工期卡点大多跟技术无关。
三大阶段 | 常见周期 | 关键交付物 | 最容易卡住的地方 |
规划设计 | 1-2个月 | 需求调研记录、维度指标清单、报表原型、需求规格说明书 | 指标口径没确认 |
项目实施 | 1-3 个月 | 环境配置清单、数仓设计文档、ETL任务与调度、报表与看板、测试报告 | 数据对不上 |
运维支持 | 长期持续 | 运维SOP、需求台账、监控与优化记录 | 上线后没人管 |
一般来说,中等规模的项目从启动到上线大概3到5个月。
12项交付物里,维度指标清单、数仓设计文档、需求规格说明书最重要,它们定的是口径和模型,后面所有报表都建在上面。
这一阶段做调研、定口径、做原型,最后交一份需求规格说明书。

最容易卡住的是指标口径。听着像技术问题,其实是立场问题。
曾经遇到过一个毛利率指标,财务要扣返利和赠品成本,销售按开票价算。两边都没算错,可报表里只能有一个数。
指标定义很难一次定下来,往往要开两三轮会。一般建议把指标口径单独列成清单,双方把计算逻辑写到纸面上,确认后再动开发。
实施阶段要依次做环境搭建、数仓建设、ETL开发、BI开发、测试验收。

真正影响工期的是数据。ERP的客户编码和CRM的对不上,OMS的订单状态和财务确认收入的时间口径不一致。这些问题平时藏着,建模时集中爆出来。
曾经做过一个订单分析的项目,光是把有效订单的状态定义清楚就花了两周。
数据没跑通,BI页面做得再漂亮也是空壳。
测试一般分两轮。SIT是工程师自己测,主要验数据和流程;UAT是业务方按真实场景验。UAT阶段最常听到的一句话是,报表里的数跟手工账对不上。这句话背后十有八九还是口径问题,不是代码。
系统上线不等于项目结束,上线后第一个月问题最集中。

运维主要三件事:需求迭代、日常监控、性能优化。
· 需求迭代要有统一入口,业务提需求,我们评工作量、排计划,开发完测试再发
· 监控盯ETL任务和数据质量,异常要有人第一时间知道
· 性能优化是慢功夫,模型、SQL、报表都要定期梳理,不然系统越用越慢
没有SOP的运维,最后会变成谁催得紧先做谁的,报表越堆越多,能用的越来越少。
· 指标口径没确定就开工,做到一半回头改,前面的活白干
· 需求边界没锁住,原型定完还在加报表,做一张加一张,工期越拖越长
· 用户没时间配合,原型确认、UAT都要等时间,一等就是一两周,项目组干着急
Q:为什么有的BI项目六周上线,有的要做半年?
看数据源数量和口径复杂度。数据源单一、口径清楚,几周能出第一期;要接多个系统、重建数仓,几个月很正常。
Q:12项交付物里哪些可以省?
环境配置清单、测试报告这类偏内部使用的可以简化。需求规格说明书、维度指标清单、数仓设计文档不能省,这些决定系统以后好不好维护。
Q:怎么验收一个BI项目?
主要看三件事。数据准不准,跟业务系统或者原本手工报表逐项比对;调度稳不稳,至少连续看一个完整的月结周期;业务用不用,让业务方按真实场景走一遍。
回到开头那个问题:一个BI项目要做多久?
答案在于指标口径谈清楚,范围锁得住,用户时间能配合。按期交付就是水到渠成的事。
但把项目做完只是及格。BI 真正的交付,不是系统上线那天,是业务开始相信数据、用数据帮助业务决策的那天。
德昂信息十七年专注数据管理领域,服务上百家企业的数据仓库与BI建设。