探索持續品質
持續品質是 DevOps 分類法八大功能的其中一個。
探索需要持續品質的原因
讓我們從一個範例中,了解品質和持續品質如此重要的原因。
日本對他們的汽車製造商執行了嚴格的品質保證計畫。 因為此計畫,他們在製造高效率且可靠的汽車方面獲得良好聲譽,這使得他們能從競爭對手中脫穎而出。
藉由高品質的產品來讓其本身與眾不同,日本汽車製造商便能夠在燃料效率、安全性和製造流程中開發創新功能。 因為品質提高而降低的失敗率,也會使得成本降低。 其競爭者沒有任何選擇,只能努力趕上。
所以,為什麼您需要顧慮品質?
- 讓產品易於售出。
- 降低成本。
- 讓您從競爭對手中脫穎而出。
持續品質的主要優點包括:
- 提升品質共同責任的「品質優先」思維。
- 降低因瑕疵而經常重做的資源浪費。
- 降低因缺少品質要求而隨時間累積的技術債務。
- 較高的客戶滿意度。
- 減少中斷業務的事件。
在開發週期中及早重視品質,便可大幅節省時間和精力。
合併程式碼所需的時間愈久,就會愈晚發現問題,而修復的成本就也會高。 讓我們看看投資報酬率:
- 如果在開發階段發現瑕疵,成本會提高 5 倍。
- 如果在整合測試中發現瑕疵,成本會提高 10 倍。
- 如果在使用者驗收測試中發現瑕疵,成本會提高 15 倍。
- 如果在產品發行後發現瑕疵,成本會提高 30 倍。
本文的重點就是要更早在品質上投注心力!
以持續品質培養品質文化
持續品質是為了促進高品質的文化,讓小組可以:
- 打造絕佳的使用者體驗
- 建置符合市場時程的功能
- 讓應用程式特性能更快地傳遞價值,而非產生技術債務
另外也請務必注意,發現和修正的錯誤 (bug) 愈多,就愈能獲得更好的品質是錯誤的假設。
如果我們從未產生錯誤 (bug),也就不會發現任何錯誤 (bug)。 但我們是人類,我們會犯錯,因此也會產生錯誤 (bug)。 我們不應該認為找出我們自己產生的錯誤 (bug),就能讓品質更好。
自問:誰在產生錯誤 (bug)? 產品擁有者、故事撰寫者、設計人員、架構設計人員、編碼人員、測試人員...每個人都是,真的是如此。
除了提倡品質文化之外,持續品質也與思維有關,也就是讓我們每天學習並努力創造更大差異的熱情。
持續品質的思維:
- 鼓勵成長和創新,並建立啟動和培育品質驅動行為的文化。
- 了解品質是固有的,無法測試。
- 品質的優先順序應高於新功能。
- 提倡者團隊合作。
- 對交付的項目負責。
- 將測試側移。
從品質保證轉移到持續品質
從傳統品質保證變更為持續品質是重大的典範轉移。 下表說明兩者之間的差異:
傳統品質保證 | 持續品質 | |
---|---|---|
原因為何 | 破壞系統 | 改善系統 |
問題為何 | 檢查功能 | 理解系統 |
負責人 | 測試人員的責任 | 整個小組皆對品質負責 |
時機 | 在最後進行測試 | 從頭到尾皆進行測試 |
其中 | QA 階段 | 所有位置 |
方式 | 找出問題 | 防止問題發生 |
結果 | 最低品質 | 提高品質 |
了解持續品質的挑戰和風險
持續品質 | 挑戰和風險 |
---|---|
組織壁壘 (silo) 和傳統的由上而下管理結構可能會妨礙採用率。 只有當組織成熟度和必要文化變更在整個組織中生效,以及 DevOps 做法和專案成熟時,才能克服這些挑戰。 | |
持續品質需要所有專案關係人的加入,並讓他們有反對的能力。 缺乏明確設定的目標和對於未知的恐懼,也可能造成反對。 在整個組織中提倡持續品質的思維時,資深管理層的支援是不可或缺的。 | |
在軟體發展中使用持續品質需要變更角色責任,以及改變組織文化。 這些變更需要大量的投資和時間,這不僅會影響時間表,還會在達到專家級之前降低生產力。 也會提高您數位系統的品質。 | |
工具和技術是持續品質的啟用工具,但您不能只是在已知問題中投入技術,並希望能夠解決問題。 雖然工具可自動化及加速處理程序,但持續品質需要改變組織文化。 如果您沒有處理程序,您可能需要使用廠商的程序。 | |
持續品質可以成為廣泛組織轉變的槓桿,因為其使用新的共同作業和通訊模型,並且推廣共同品質責任。 但是,如果其仍然只是以技術為中心的持續整合和測試,組織將無法實現所期望的優勢。 | |
測量是不可或缺的,但若僅專注在單一品質計量上,雖可促使員工改善該計量,但代價可能是損害其他公司目標,或甚至客戶滿意度。 如果組織不知道連續品質對他們有何意義,他們可能會在找出此意義的同時經歷許多錯誤的開始。而缺乏早期的成功,可能會讓組織無法獲得持續品質能提供的有益文化和共同作業變更。 |