如何使用Scrum敏捷方法,快速搭建數(shù)據(jù)集市?

3 評論 7607 瀏覽 15 收藏 10 分鐘

編輯導語:數(shù)據(jù)集市應該如何建設(shè)才能提升可用性,有更強的市場適應性?也許,你可以結(jié)合產(chǎn)品敏捷方法論進行數(shù)據(jù)集市的搭建。本篇文章里,作者結(jié)合案例,就如何使用Scrum敏捷方法搭建數(shù)據(jù)集市一事做了分析,一起來看一下。

數(shù)據(jù)倉庫自最早1988年被提出來,發(fā)展至今也有幾十年了。從數(shù)倉1.0到數(shù)倉4.0,從關(guān)系型數(shù)據(jù)庫到大數(shù)據(jù)倉庫?,F(xiàn)如今,數(shù)據(jù)集市和數(shù)據(jù)湖以及湖倉一體化是業(yè)界研發(fā)和發(fā)展的重要方向。

數(shù)倉的建設(shè)有一套業(yè)界成熟的方法論,但數(shù)據(jù)集市如何建設(shè)各家企業(yè)眾說紛紜。作為數(shù)據(jù)產(chǎn)品經(jīng)理,對數(shù)據(jù)倉庫和數(shù)據(jù)集市等技術(shù)領(lǐng)域也并不會陌生,企業(yè)在搭建數(shù)據(jù)集市過程中,往往會因為流程和項目管理的問題導致數(shù)據(jù)集市可用度不高以及業(yè)務價值較低。

那如何更高效搭建一套面向業(yè)務應用場景的數(shù)據(jù)集市? 是否可以將產(chǎn)品敏捷方法論快速高效地應用在數(shù)據(jù)集市的搭建上?

一、基本概念

1. 數(shù)據(jù)倉庫和數(shù)據(jù)集市

數(shù)據(jù)倉庫是一個面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,用于支持管理層和業(yè)務層的經(jīng)營分析和業(yè)務決策制定。數(shù)據(jù)倉庫用于支持決策,面向分析型數(shù)據(jù)處理,為了進行OLAP,把分布在各個散落獨立的數(shù)據(jù)庫孤島整合在了一個數(shù)據(jù)結(jié)構(gòu)里面,稱之為數(shù)據(jù)倉庫。

有了數(shù)據(jù)倉庫,為什么還需要數(shù)據(jù)集市呢?我們看看數(shù)據(jù)集市是為了解決什么問題。

數(shù)據(jù)集市可以理解為是一種“小型數(shù)據(jù)倉庫”,它只包含單個主題,且關(guān)注范圍也非全局。數(shù)據(jù)集市可以分為兩種:

  • 一種是獨立數(shù)據(jù)集市,這類數(shù)據(jù)集市有自己的源數(shù)據(jù)庫和ETL架構(gòu);
  • 另一種是非獨立數(shù)據(jù)集市,這種數(shù)據(jù)集市沒有自己的源系統(tǒng),它的數(shù)據(jù)來自數(shù)據(jù)倉庫。

數(shù)據(jù)集市是一個結(jié)構(gòu)概念,它是企業(yè)級數(shù)據(jù)倉庫的一個子集,主要面向部門級業(yè)務,并且只面向某個特定的主題。

數(shù)據(jù)集市是數(shù)倉之上更聚焦的業(yè)務主題合集,更偏向于應對業(yè)務數(shù)據(jù)快速高效應用的需求,一般用于商業(yè)智能系統(tǒng)中探索式和交互式數(shù)據(jù)分析應用。

2. 產(chǎn)品敏捷方法論

現(xiàn)在絕大部分互聯(lián)網(wǎng)公司都在使用敏捷開發(fā),最流行也最成熟的敏捷開發(fā)框架當屬Scrum。這里簡單介紹下Scrum的三個重要角色和三個重要概念。

Scrum中的人員分為3個重要角色:產(chǎn)品所有者(Product Owner), Scrum Master(敏捷教練),開發(fā)團隊(Dev Team)。

三個重要概念:Sprint,Product Backlog,Sprint Backlog。

  1. Sprint:一個沖刺或迭代周期,一般2~4周,是一個可以交付驗收的產(chǎn)品需求功能集合;
  2. Product Backlog:產(chǎn)品需求集合,是產(chǎn)品規(guī)劃中所有的需求點;
  3. Sprint Backlog:每個Sprint的功能需求點,來自于Product Backlog。

一般的Scrum開發(fā)流程如下:

如何使用Scrum敏捷方法快速搭建數(shù)據(jù)集市

為什么說數(shù)據(jù)集市項目特別適合使用Scrum方法來迭代:

  1. 數(shù)據(jù)集市需求劃分明確。集市的業(yè)務域和主題域正好對應Scrum的Story和Sprint。
  2. 做出來的集市寬表是否有用,可以在某個業(yè)務域內(nèi)先做一張,快速驗證效果。
  3. 每個寬表的產(chǎn)出時間周期相對好評估,整體項目風險可控。

針對面向主題域的數(shù)據(jù)集市,來看看我們的計劃和安排:

  • PO(Product Owner):數(shù)據(jù)產(chǎn)品經(jīng)理。
  • SM(Scrum Master):數(shù)據(jù)研發(fā)主管。
  • Team(Dev Team):數(shù)據(jù)架構(gòu)師,數(shù)據(jù)研發(fā)工程師,數(shù)據(jù)測試工程師。
  • Story:每個Story可以根據(jù)業(yè)務域來劃分,比如我們劃分了資金域,用戶域,模型域,市場域,營銷域,信審域,風控域,財務域,征信域。
  • Sprint:每個Sprint可以規(guī)劃一到兩張寬表,比如資金域我們規(guī)劃了借款寬表,還款寬表,其他類似。

二、Scrum敏捷方法解決了哪些問題

1. 效率問題

以前開發(fā)一個主題域的數(shù)據(jù)集市,需要自頂向下進行建模設(shè)計、維度表設(shè)計、事實表設(shè)計、架構(gòu)設(shè)計、數(shù)據(jù)表開發(fā)、表驗證、表測試,完整的瀑布流走下來,幾個月過去了,出來了一個大而全的數(shù)據(jù)集市,交付給分析師和業(yè)務。

分析師大呼看不懂,查起來還是很慢,很多表還是需要我來JOIN,業(yè)務也大呼為什么取個數(shù)據(jù)這么久,為什么做個分析要一周?

基于敏捷方法的數(shù)據(jù)集市建設(shè),提高了整個生產(chǎn)流程的效率,針對具體的業(yè)務場景和分析師的需求,小步快跑地先建設(shè)一張或幾張寬表,先產(chǎn)出給分析師,再不斷調(diào)整數(shù)據(jù)字段,大大縮短了生產(chǎn)建設(shè)周期。

2. MVP驗證問題

通過小步快跑模式,每個Sprint花費兩周,建設(shè)1~2張寬表,解決一些核心的分析取數(shù)場景,然后再交付驗證有價值后進行迭代,增加新的字段,不斷進行MVP閉環(huán)驗證。

3. 業(yè)務價值問題

直接基于業(yè)務分析場景和分析師使用場景來建設(shè),基于怎么用來怎么設(shè)計寬表,可以快速驗證并產(chǎn)生直接的分析價值和業(yè)務價值。相比于傳統(tǒng)的自頂向下的瀑布建設(shè)流程,不追求大而全的數(shù)據(jù)集市和數(shù)據(jù)字段,緊密結(jié)合業(yè)務場景來進行設(shè)計。

三、案例分享

1. 項目介紹

數(shù)據(jù)集市項目啟動前,已有一套數(shù)據(jù)倉庫,初期只做了兩層分層,一層ODS,一層DWD。

DWS層表很少幾乎可以忽略不計。在業(yè)務分析過程中,我們發(fā)現(xiàn)很多的分析竟然還是依賴ODS層的表,部分能用到DWD層的表,說明數(shù)據(jù)倉庫分層不明確,違反了數(shù)倉和數(shù)據(jù)集市建設(shè)的跨層訪問的原則(一般來說分析師不用訪問ODS層表)。

為了進一步打破數(shù)據(jù)孤島,提升數(shù)據(jù)使用鏈上人員的工作效率,進一步快速支持分析和決策,我們打算建立一套基于現(xiàn)有的基礎(chǔ)數(shù)倉上的數(shù)據(jù)集市層系列主題寬表。

2. 項目規(guī)劃

我們采用Scrum敏捷方法來規(guī)劃每個Sprint的迭代節(jié)奏,主題寬表和應用場景規(guī)劃如下圖:

如何使用Scrum敏捷方法快速搭建數(shù)據(jù)集市

3. 項目實施

項目團隊搭建,除了常規(guī)的SCRUM核心團隊以外,我們還加入了 需求來源團隊以及用戶團隊。

需求來源團隊數(shù)據(jù)產(chǎn)品經(jīng)理收集需求和痛點的主要受訪用戶,用戶團隊是所有數(shù)據(jù)使用人員。其他的PO,SM和Dev,Test團隊是敏捷開發(fā)的角色。具體項目團隊配置分工如下:

如何使用Scrum敏捷方法快速搭建數(shù)據(jù)集市

4. 效果評估

Sprint1上線了借款主題域的兩張寬表(借款還款和還款寬表),我們并沒有迅速進入下一輪迭代,而是基于已上線的表收集使用價值以及評估降本提效的指標,整理如下表:

如何使用Scrum敏捷方法快速搭建數(shù)據(jù)集市

四、總結(jié)

  1. 數(shù)倉和數(shù)據(jù)集市建設(shè),市面上有成熟的方法論;
  2. 傳統(tǒng)的建設(shè)流程存在過程冗長,人員龐雜,脫離業(yè)務場景,價值評估存在偏差等問題;
  3. 敏捷Scrum方法框架可以優(yōu)化數(shù)據(jù)集市建設(shè)流程,做到降本提效,緊密貼合業(yè)務;
  4. Scrum本質(zhì)上是一套項目管理流程和敏捷迭代流程,要集合具體項目具體分析,吸取Scrum精華為我所用。

 

本文由 @乘風隨行 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 感謝博主分享,請教一下,DM需求的收集,DM的創(chuàng)建、維護或下線等工作是由數(shù)據(jù)產(chǎn)品來牽頭,由各應用開發(fā)與數(shù)據(jù)模型組支持嗎?

    來自上海 回復
  2. 哈哈博主你分享的很棒,方便加下微信交流下嗎 感謝

    來自廣東 回復
    1. 歡迎交流:ericpeng1024

      來自上海 回復