大企業穀倉效應下測試的生存之道

打破他們印象,打破他!打破他!

--

📢 如果此文章有幫助到你,請按此追蹤 一日測試 IG (oneday.software) ,與我們保持高度互動,以獲取最新的軟體資訊與技術方案!

近期筆者想嘗試導入軟體測試的核心思維讓製造業領域受益,但卻無法取得很好的成效,這不禁讓我深思箇中的差異為何?

新人訓練、穀倉效應、測試的關係

阿里巴巴,一家發展 23 年的互聯網企業,2022 年 9 月底全球的全職員工高達 24 萬人,以阿里為例,規定「新人訓練」的重要性遠高過任何的專案、任務,一旦新人無法如期參與,則主管需要立專項回報,即便延期,也有其次數或時間限制,重視的程度難以想像。

而阿里巴巴「新人訓練」所花費的時間也是一個很黑人問號的決策。一般而言,新公司對於新人進行訓練課程的目的是為了讓新人快速的融入企業文化,且讓新人更了解不同的產業領域。經過一到兩天的課程安排,新人對於企業的作風、核心價值勢必有一定程度的了解,但令人費解的是,短短兩天就應該完成的新人訓練,阿里巴巴卻硬是花費了整整兩周(包含一天的假日)培養價值觀,也或者是薰陶相關的企業文化價值,對於狼性、996、企業價值、自我潛能、社會公益都給予了全方位的「說明」與實踐,而這樣的「說明」確實能讓員工在高壓下或是不合理的需求下磨練出更強韌的心智,好嗎?不好說;壞嗎?不盡然。

▲ 阿里巴巴新人訓練 — 西湖陽光公益 (2016.12)

而台灣不少製造業著實貢獻不少 GDP,但這些公司有些類似的特徵,歷經 20~40 多年的經驗積累,組織龐大,但在「新人訓練」所重視的程度卻不如阿里巴巴來得高,可以理解每間公司所重視的領域不同,但同樣是大企業,在微觀「新人訓練」的部份後,也不難理解「穀倉效應」(Silo Effect)所造成的影響。若初始的「核心價值觀」並未被完整建立或對齊,缺乏相互的協作與溝通形成各自為政的狀況,造成穀倉效應只是早或晚而已。

那穀倉效應跟測試又有什麼關係呢?一日測試一直跟讀者們強調,「測試,從來就不是產品上線前的最後一道防線,而是迭代過程中高品質的交付。」,若以產品線劃分,所有領域皆有其壁壘,具有由上至下的垂直溝通,但若沒有針對橫向品質的統一控管與監督,缺乏水平的協作溝通,那最終就是造成一再的重工、僅專注於部門績效而非整體組織的利益。

而在大企業穀倉效應下推廣測試為何困難呢?品質很重要,良率很重要,但一旦穀倉效應形成後,所在的產品線若非剛需,相關品質的重要性會自然而然的被弱化,因為品質的好壞並非單位所追尋的目標或績效考核點。更差一點的,品質議題甚至會變成相互指責的利器。你為什麼不測?你為什麼不仔細測?你為什麼仔細測了還沒測到?每每的檢討會議都以對於品質的質問為結尾,這並非我們所樂見的,但卻是目前製造業軟體部門的常態。

打破穀倉建立品質的核心價值

如何打破穀倉的藩籬讓品質落實?
核心價值觀的養成。

這也是為什麼在文章的剛開始,筆者就直接以「新人訓練」為描述的重點。因為在新人進入一個全新的領域正在學習相關的技能與生存方法,若此時並未樹立企業的重要價值觀給新人,直接劈頭就栽進工作堆中,過了一段時間,組織內重工與溝通無法跨部門,或是需要耗費過多的成本,都會讓新人無所適從,自然而然,待下來的人都是熟知或被迫接受穀倉規則的成員,加上製造業高機密的產業特殊性,在管制相對嚴格的環境下,解決方案會一再的變型,一旦業務盤根錯結的成長,一定時間內穫得豐厚的利潤後,自然就會有「我們以前都這樣,為什麼要改」的聲音出現,那更不利於品質與測試的推行。

製造業產業 20~40 多年的技術積累,存在著不少積習,穀倉效應讓「改變」變成是種不正常的現象,那對於已經有穀倉效應的企業,品質該怎麼落實?

  • 養成品質核心價值觀並建立共同體感覺
    認知品質的目標與關鍵成果(Objective Key Result, OKR)的掛勾,由上層直接與底層對話,確認對於品質的重視是為了讓員工們有更大的產值,由實例說明讓員工明白,品質的推動並非只是季度或年度的績效指標,這是整間公司文化的建立,由「新人訓練」開始就讓每個成員意識到重視品質所要達到的目標,而對於待得相對久的成員,則是要持續調整他們的價值觀,並請他們做為核心的指揮官,利用本身對於產業的熟稔程度進行根本上的量變並導致質變,持續交付鞏固企業的共同體感覺(Social Interest)。
  • 定義品質落實並將其列為績效之一
    無法軟性道德勸說,那就只能落實鐵腕管理,將獎勵、懲處規則先行定義好,每個任務或專案都與品質做綁定,測試該如何實踐?但管理者需要有部份的妥協,像是品質的執行,會在落實的前期拖累成果釋出的時程。有相關問題的企業能夠參考阿里巴巴戴珊的公開信所述,堅定對於品質成果的決心,不只由上至下的推行,橫向宣導並讓員工意識到每個環節都是體現品質的細節,而非只是定義幾個 KPI 數字的達成,因為要達成 KPI 有很多種方式,一旦員工們曲解了目標的訂定,則會有反效果。讓績效跟職位的需求做強綁定,並定義每個環節的品質落實才是不二法門。
▲ 阿里巴巴戴珊公開信 (2021.4)
  • 有效溝通逐個打破並貫穿品質測試方法論
    每個穀倉都有其專業壁壘,改變須要開端,由其中一個組織、一個團隊、一個專案進行著手進行。而「品質、測試」是水平溝通的一個共性目標,需要找到專職的測試針對尚未成形的專案進行測試流程的深耕,哪怕只是一個任務,建立起既定的 SOP 對於各個需求進行功能驗測,對於程式碼逐行確認並撰寫相關自動化,由根本著手,經過時間的積累,加乘複用自動化用例的效果以致雪球效應(Snowball Effect)。一旦品質文化被建立起來後,有了一致的品質系統(Quality System),對於可交付成果(Deliverables)才能對其品質進行定義。而非先定義規則後再讓大家遵守,萬一訂定的標準有誤,對於小組織而言可以立刻調整,但對大企業而言,若不仔細思考則直接下達指令,一再修改通過的閾值會讓員工感到無所適從,且員工對於品質系統的信任感會瓦解消逝。

依組織大小調整品質團隊的運作模式

曾與底下有近 400 位員工的高層深談過,對於如此龐大的組織,其實不適合在原本沒有品質團隊的狀況下,依功能或產品面建立相對應的品質測試團隊。因為,若是依一般的編制 RD:QA = 3:1 的狀況下,則需要建立一隻約 130 位員工的測試團隊,即便自動化做得相對完善,編制能由 3:1 上升至 8:1,也需要額外花成本聘用 50 位的員工。

對此,我們討論後的想法是,若能在這樣龐大的組織下建立一隻專門「逐問題而居」並負責品質的機動團隊(涵蓋功能確認與自動化)是相對好的解決方式,而這隻團隊並非典型的虛擬團隊(Virtual Team),在穀倉效應嚴重的組織內,若仍以虛擬團隊進行品質文化的宣導與灌輸,最終結果就會如圖所示,各單位總有原因或理由阻擋著品質的發展。我們的初衷是這隻機動的品質團隊僅針對具有共性的核心功能進行驗測,並依照時程安排以問題為核心,進行組織內的彈性輪調,將相關的品質價值觀傳遞給不同的單位,以打破各穀倉的藩籬讓品質落實。

▲ Source from https://www.linkedin.com/pulse/fight-silo-effect-giuseppe-russo/

品質與測試的發展有其適合的時機與切入點,但導入品質勢必有其成本的消耗,當組織變大時,成本的耗費、品質的取捨則是上位者需要考量的議題,也希望這樣的想法能幫助到穀倉效應嚴重的組織,為其軟體測試找到一個生存之道,與製造業軟體部門共勉。

Howard Chiang
2023.1.3

--

--