文章參考于2021ThoughtWorks技術雷達峰會-Trackb 林冰玉
無論是對什麼企業來說,對于産品品質的把控都是機器重要的一關,我們又如何進行品質把控?
傳統開發方式所遇到的問題
- Bug持續不斷
- 品質目标不清晰,沒有統一的标準/政策
- 自動化程度低
- 工作配置設定不均,資源價值沒有最大化
如何進行把控系統品質
創成這些問題的原因
- 團隊溝通意識比較差,同時認為自己做好自己的事情就好(例如:測試就隻交給測試人員來做,而開發則不關心測試)
- 缺乏統一的标準/政策。導緻團隊交接時,代碼晦澀難懂,隻能硬着頭皮接手。又或者時間久了之後,自己都看懂自己代碼,同時又沒有文檔進行觀察。
- 自動化內建比較低,又或者沒有持續內建機制,隻能依賴系統內建測試。
- 團隊整體比較松散,導緻後期Bug過多,甚至導緻開發停止,疲于應對Bug。
如何解決這樣的問題,或者說如何正确的進行品質保障賦能?
1> 軟體開發全流程标準化
- Devops(建構流水線 自動部署流水線)
- 開發規範标準化
2> 大規模自動化助力标準化
- 測試自動化
- 流程自動化
3> 保證系統韌性
- 系統監控
- 系統的快速響應
标準化:流程+實踐
自動化:流程+測試
假如我們上述條件都完成了,那麼我們思考另一個問題:
僅靠工具賦能,能夠保證系統品質嗎?
答案肯定是:當然不行
- 目标驅動,即系統的目标。仍然需要人為幹預,确定目标,同時給予團體共識。
- 政策指導,通過什麼方式驅動産品開發。演進式或者其他形式。
- 人員能力,總體提高人員能力,當員工能力不足時,品質從根本上就無法把控。