在数据仓库项目中实现敏捷

Warren Sifre是来自于Allegient的一位BI解决方案架构师,他在博客中分享了关于在数据仓库项目中实现敏捷的观点。他表示,为了实现这一目标,正确的团队组成与心态是必不可少的。

\\

按照Warren的说法,一个数据仓库项目包括以下开发任务

\\
  • 数据剖析与数据建模\\
  • ETL开发与单元测试\\
  • 语义层开发与QA测试\\
  • 报表生成器开发\

这些任务本质上存在着一些相互依赖,如果考虑在项目中实现敏捷,则应当考虑以下问题:

\\
  • 在没有完整的数据模型的条件下,如何设计报表?\\
  • 在没有完整的数据模型的条件下,如何开发ETL?\\
  • 在没有完整的用例列表的条件下,如何设计数据模型?\

为了实现敏捷,在项目启动之前必须要作出一些让步。Warren提出了以下几点建议:

\\
  • 数据模型是永远不会一成不变的。\\
  • 在整个项目或某个阶段中,会多次进行完整的历史数据加载。\\
  • 对需求的变更可能会潜在影响你的一切。\\
  • 在整个项目或某个阶段中,必须加入自动化测试开发的任务。\

他表示,存在这些依赖的情况下,实施敏捷的关键在于协调,并将项目分解为多个阶段。每个阶段都应当设置一个针对该阶段目标的高层次概述。第一个阶段将对用户故事进行分解,提出验收标准并指出依赖所在。用户故事中还应当包括部署到UAT与生产环境所需的时间。将依赖与所需时间结合在一起,就能够得出该阶段所有待办事项的一个逻辑优先级顺序。

\\

Mishkin Berteig是Berteig Consulting Inc. 的主席与联合创始人之一,他在最近的一篇博客中分享了他在一个数据仓库项目中实施Scrum的经验。当时他担任了某个团队的教练,该团队当前的工作是将某个数据仓库从Oracle迁移到Teradata,该公司为这个项目分配了30个人。在实施Scrum方法之前,该团队进行了大量的前期分析工作,并且完成了一份依赖图,其中包含了大约25000张表、视图和ETL脚本。这张依赖图保存在一个MS Access数据库中。

\\

Mishkin建议该团队不要遵循这张依赖图,而是基于价值开展迁移工作。

\\

我决定对他们基于依赖开展工作的方式提出质疑,因此我与产品经理进行了对话,以探讨是否有可能根据价值对工作进行排序:

\\
  • 淘汰Oracle数据仓库的许可与服务器,\\
  • 清空磁盘空间、淘汰硬件\\
  • 使用新硬件降低CPU占用\

Mishkin和产品经理一同根据商业价值对这个MS Access数据库进行了排序,他们对数据库中每项任务按照磁盘空间与CPU占用进行了一个非常简单的计算,这个具有25000个条目的数据库因而成为了产品待办清单。

\\

Mishkin要求团队将这些数据仓库表视为产品待办清单中的条目(PBI),并且(在生产环境中)同时运行Oracle和Teradata,并在每个Sprint中及时更新,以实现数据在这两个平台中的迁移。该项目从这种方式中受益良多。

\\

经过几轮Sprint之后,一共淘汰了5个Oracle许可。最终,这个为期两年,耗资两千万的项目获得了成功。每个Sprint都有新功能提交到生产环境中,并且让Oracle和Teradata保持同时运行,直到最后一个Oracle许可淘汰为止。由于早早地交付了价值,整个项目节约了很大的成本。

\\

查看英文原文:Implementing Agile in Data Warehouse Projects

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值