富饒的數(shù)據(jù):為什么在流程中構(gòu)建質(zhì)量如此重要

說到數(shù)據(jù)質(zhì)量,大多數(shù)技術(shù)人員熟悉的一句格言是“垃圾進,垃圾出”,然而直到今天,大部分組織似乎滿足于這個現(xiàn)狀。哈佛商業(yè)評論的一份調(diào)查顯示,僅有3%的組織其數(shù)據(jù)符合基本的質(zhì)量標(biāo)準(zhǔn)。這讓人有些擔(dān)憂。如果你計劃增加人工智能與機器學(xué)習(xí)的使用來自動化一些決策,然而你的數(shù)據(jù)不夠好的話,那么你的一系列行為不可避免的要做出妥協(xié)。難怪一些高級IT決策者會把數(shù)據(jù)質(zhì)量作為一個優(yōu)先考慮的事情。

有一個憂慮是數(shù)據(jù)質(zhì)量計劃會變成一項永遠也做不完的任務(wù)——無盡的努力卻收效甚微。但是事情不必如此。巨大數(shù)據(jù)質(zhì)量的改進可以通過把我們?nèi)粘\浖_發(fā)中使用的原則運用到數(shù)據(jù)的方式來實現(xiàn)。

豐饒的數(shù)據(jù):是土壤而非燃料

我們常聽說數(shù)據(jù)是新燃料的說法,但是這種類比很無力。擁有大量數(shù)據(jù)并不能使你富有。許多與我們共事的客戶有豐富的數(shù)據(jù),可是他們也需要努力去數(shù)據(jù)中獲取有意義的值。

與其把數(shù)據(jù)看做燃料,我們更愿意把它認為是土壤——你若投入時間和精力去培養(yǎng),你就會有所回報。這就是數(shù)據(jù)質(zhì)量的來源。即使數(shù)據(jù)質(zhì)量不是你計劃主要驅(qū)動力,通過制定工作方式的例行方面,你做的這些小的投資在長期也會有所回報。

最近,我在為一個大型的跨國公司客戶做事,他們想要提升其線上商店的效能:更好地了解客戶付款轉(zhuǎn)換漏斗,以便能夠發(fā)現(xiàn)不完整旅程中的任何重要模式。

這些人有大量的用戶行為數(shù)據(jù):他們捕獲你在瀏覽商店時的每次點擊或輸入,從按鈕點擊開始到購買商品,再到你閱讀商品描述時滾動鼠標(biāo)或者敲擊的數(shù)目。這里有PB級匿名用戶的行為數(shù)據(jù),并且每天都在以TB級幾百倍的速度增長。

我們已經(jīng)跟客戶談了顧客(消費者)購物之旅的事情,以及他們通過商店所能得到的快樂路徑??墒钱?dāng)我查看數(shù)據(jù)去找例子以驗證我的理解時,我不斷的碰到預(yù)期情況并沒有發(fā)生的情形:顧客們所經(jīng)過的路徑,我們不能恰當(dāng)?shù)睦斫?。那是大?shù)據(jù)的挑戰(zhàn)之一:你發(fā)現(xiàn)你的邊界情形實際上發(fā)生的相當(dāng)頻繁。

我們的問題是嘗試想辦法來改進這個網(wǎng)店,現(xiàn)在我們需要弄明白這些邊界情況。顧客為什么會做出意想不到的決定而終止購買?我們所看到的這個不尋常的行為是個bug嗎?或是因為我們漏掉了一個重要的信息?我們是否捕獲到了錯誤的信息?

為了調(diào)查它,我們沒有只是查看用戶點擊,我們還查看了在整個過程中,在不同的點所觸發(fā)的所有的后端流程日志。我們實際上通過嘗試去理解數(shù)據(jù),返回有bug的服務(wù)端和前端工程師那兒,做了大量的質(zhì)保工作。他們也注意到了這些小事兒,但他們并不理解這些修復(fù)帶來的正面的影響。

一旦前后端工程師看到了這些小的數(shù)據(jù)問題帶來的累積效果,他們熱衷于去修復(fù)它們。然而理想的情形是,期望你在投入生產(chǎn)前修復(fù)好這些系統(tǒng)。

培養(yǎng)你的數(shù)據(jù)

你可能認為數(shù)據(jù)質(zhì)量是重要的,可是它于你每天的工作是隔離的,單獨存在的——比如這里有一個數(shù)據(jù)質(zhì)量部門來負責(zé)在某個點看護數(shù)據(jù)質(zhì)量。這里我們可以向QA實踐如何在廣闊的軟件開發(fā)領(lǐng)域向前演進學(xué)習(xí):我們也習(xí)慣于擁有單獨的QA部門,但是敏捷和精進思考可以幫助我們把質(zhì)量引進到軟件開發(fā)的流程。

然而如果你在考慮豐富的數(shù)據(jù),關(guān)心質(zhì)量來真正的交付強有力的洞察,你會開始領(lǐng)悟到你需要距離數(shù)據(jù)源更近些去培養(yǎng)它:把數(shù)據(jù)質(zhì)量作為做任何事的完整的一部分來對待。

并不是說你要搞定所有的數(shù)據(jù)質(zhì)量問題。但是如果你僅僅修復(fù)數(shù)據(jù)下游,你將永遠沒時間去修復(fù)數(shù)據(jù)源,并且之后會耗費你更多,因為越來越多的消費者必然會面臨同樣的問題。更糟的是,他們將開始在下游消費“清潔數(shù)據(jù)”而不是真實的數(shù)據(jù)源。這就是通常說的反模式:來自于企業(yè)數(shù)據(jù)倉庫系統(tǒng)的聚合數(shù)據(jù)被用來作為交易系統(tǒng)的輸入,而且交易系統(tǒng)不得不經(jīng)歷修復(fù)早期數(shù)據(jù)質(zhì)量問題的痛。

所以我們說要把數(shù)據(jù)質(zhì)量當(dāng)做日常工作的一部分是什么意思呢?我們可以與軟件開發(fā)實踐并行,從兩個視角來看:預(yù)生產(chǎn)時我們的行為,還有一旦我們上線了我們的行為。

預(yù)生產(chǎn)時,如果你真的在乎培養(yǎng)數(shù)據(jù),你會發(fā)現(xiàn)有問題,你停下來把它修復(fù)好以便不給接下來的路產(chǎn)生羈絆。

你大可以把測試數(shù)據(jù)質(zhì)量看做你在考慮測試你的代碼。

一般情況你會有一堆測試來判定你的代碼是否工作。對數(shù)據(jù)而言,給你期望產(chǎn)生的事件一個發(fā)布模式,并且知道這些事件是如何流向的,我們認為這都是有用的。這要求你對數(shù)據(jù)去執(zhí)行一些基本的sanity檢查,確保你不會產(chǎn)出與模式不符的數(shù)據(jù)。還可以添加模式演化測試與發(fā)布到你的部署管線上,確保變更向后向前的兼容性。

有時這個流程很像功能測試。例如,我期望某個元素看起來像個日期。所以我們可以斷言數(shù)據(jù)的格式是正確的,還有它在有效的日期范圍內(nèi) —— 如果你拿到了19世紀(jì)00年代的銷售數(shù)據(jù),你很有可能會有數(shù)據(jù)質(zhì)量問題。

但是想要停下來這件事對于生產(chǎn)系統(tǒng)來說工作的并不好。

你不能總是停掉生產(chǎn)系統(tǒng)來去修復(fù)一個數(shù)據(jù)質(zhì)量問題。

我從一個客戶那兒習(xí)得這個教訓(xùn),客戶正在構(gòu)建一個產(chǎn)品,它需要從政府那兒獲取數(shù)據(jù)。我們在消費一個數(shù)據(jù),并把有趣的信息展現(xiàn)給顧客 —— 并且我們跟客戶一起工作來構(gòu)建這個產(chǎn)品。

那意味著我們必須要對來自外部的供給數(shù)據(jù)做出各種假設(shè)。但是我們能用這些數(shù)據(jù)命中問題:有時字段丟失了,或者數(shù)據(jù)不夠合理。并且這些假設(shè)打破了我們的產(chǎn)品特性。

為了弄懂發(fā)生了什么,我們開始對數(shù)據(jù)的假設(shè)寫些測試,用以建立某種模式來分解我們的系統(tǒng)。當(dāng)構(gòu)建這些測試時,我們發(fā)現(xiàn)越來越多的數(shù)據(jù)質(zhì)量問題。結(jié)果是,我們把這些測試合并到我們的數(shù)據(jù)獲取的管線。因此每天客戶都會給我們新的轉(zhuǎn)儲數(shù)據(jù),并且我們開始對這些數(shù)據(jù)跑我們的測試。

這里我們面臨的問題是我們能識別出那些可能打破產(chǎn)品的事兒,但是停止數(shù)據(jù)管線去修復(fù)它們就會意味著產(chǎn)品會顯示過時的信息。

這就是為什么我開始質(zhì)問因為產(chǎn)品問題而停下來的想法。相反,我們可以獲取那些好的數(shù)據(jù),而僅僅是標(biāo)識出那些錯誤的東西用以作為后續(xù)的事情。

這個方法跟軟件開發(fā)實踐中生產(chǎn)上的質(zhì)量保證很相似:觀察和監(jiān)視成為了較為可取的方法。你可以設(shè)定閾值去定義你的正常期望值,僅僅在超出閾值獲得警告的時候采取行動。然而在預(yù)生產(chǎn)上,你可能想要盡可能的接近完美,一旦你到了生產(chǎn),你就可以看到什么級別的質(zhì)量是可接受的,并且隨著你學(xué)到更多的數(shù)據(jù)流向而自適應(yīng)調(diào)節(jié)。

堅持改變

盡管我固執(zhí)的認為我們可以從查看軟件開發(fā)的最佳實踐中改進數(shù)據(jù)質(zhì)量學(xué)到許多,它并不意味著解決問題是容易的。許多我們的客戶沒有合適的結(jié)構(gòu)來實現(xiàn)這種類型的實踐。所以這個進入的成本是需要事先投資的。

靠高級決策者的一個單一的數(shù)據(jù)質(zhì)量程式計劃去解決你的問題,那也是不可能的。相反,數(shù)據(jù)質(zhì)量需要成為開發(fā)流程的一部分,所以不論是生產(chǎn)數(shù)據(jù)的還是消費數(shù)據(jù)的,你要讓你的團隊成為那些一直在考慮數(shù)據(jù)質(zhì)量的一批。

這些對于許多組織來說都是較大的變化。如果你想要培養(yǎng)和使用數(shù)據(jù)來賦能你的生意,我們認為這是必經(jīng)之路。

閱讀原文

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容