5M1E,軟體質量管理最佳解決方案

敏捷開發社群發表於2021-09-03

- 如何做好一個產品?

- 使用者、需求、文化、價值、設計、流程,這些因素缺一不可。

- 那麼,如何做好產品的質量管理?
- 人、機器、物料、方法、環境、測量,這些因素同樣缺一不可。

能夠影響產品質量波動的因素包括如下方面: 人員(Man)、 機器(Machine)、 物料(Material)、 方法(Method)、 環境(Environment)、 測量(Measure),簡稱人、機、料、法、環、測。此為產品質量管理的5M1E。

最初,5M1E分析法用於生產車間中製造件的質量管理過程中,以期通過作業工序質量的改善,降低成本,提高作業系統的整體效率、質量。在實施了一段時間後,5M1E分析法幫助車間管理者在質量管理方面取得了巨大的成功,隨著精益應用在軟體行業的範圍越來越廣,人們逐漸發現,5M1E產品質量管理分析法在軟體研發過程中的潛力也是無窮的。

一、人員


在操作人員這一方面,產品質量可能會因操作人員的厭煩情緒、意識不夠以及操作動作不熟練等問題,降低產品質量。

同樣,在軟體研發過程中,也需要在人員方面將質量風險降至最低。那如何管理人呢?

  • 首先,通過宣傳、培訓 提高研發人員自身的研發技能、業務素養以及研發質量意識。通過研發人員自覺地加強質量意識,從而提高可控性。
  • 其次,加強 研發過程的溝通,讓工作透明化,減少工作過程中因溝通不便、流程衝突而產生的產品設計缺陷。
  • 然後, 明確“自管理”,責任具體落實到個人。避免產生將質量和研發割裂的情況,調動起研發人員的積極性,提高研發人員的參與感與責任感。
  • 最後,主動 核實、明確使用者需求。避免產生產品設計不能滿足使用者需求的情況。

二、機器


在機器裝置這一方面,裝置的損耗、效能檢測等方面出現的問題也會對產品質量產生影響。

在軟體研發方面,合理使用工具也會提高產品質量,如:

  • 通過專案管理工具,方便檢視、管理專案進度、人員狀態;
  • 搭建測試管理工具,方便編寫及後期跟蹤用例、檢視測試詳情;
  • 善用自動化測試工具,減少人工測試成本,提高測試效率等。

三、物料


實際的產品生產流程中,供應商提供的原材料決定了交付的產品質量,一般情況下,原材料需要標註來源,經過質檢合格後才能用於生產過程。

同樣,在實際動手寫程式碼前,則需要產品經理釐清需求、設計原型。與傳統制造業所打造的大量流水線產品不同,軟體產品的需求是不斷變化的,如果最初的需求不清晰,或者中途更改的需求沒有同步到研發人員的手中,那就無法把控軟體的產品質量/價值。

如何把控軟體的“料”呢?

一方面是產品經理需要 嚴格記錄需求,評估可行性,做好產品計劃。

另一方面,產品經理要為研發人員與實際客戶(使用者)之間牽線搭橋, 減少需求傳遞時出現的失真,畢竟,有些需求說著說著就變質了。

四、方法


為了減少流程方法對產品質量的影響,精益生產決定實現“自働化”,也就是在生產過程中加入自動化機器。例如,當流水線發生異常時,機器本身能夠感應到並及時停止。通過“自働化”,能夠確保安全、保證產品質量。此外,精益生產還會通過“ 儘量縮小批量,快速變換模具”來保證多種類產品的產品質量。

5M1E中的“法”意味著研發團隊要足夠重視程式碼規範:不論是命名規範、格式規範、日誌規範,還是單元測試覆蓋率,都是保證程式碼質量的有利武器。同時,看到爛程式碼也應“ 大膽重構,小心測試”。

五、環境


環境,一般指的是生產現場的溫度、溼度、噪音干擾、振動、照明、室內淨化和現場汙染程度等。在確保產品對環境條件的特殊要求外,還要做好現場的整理、整頓和清掃工作,大力搞好文明生產,為持久地生產優質產品創造條件。

軟體研發除保證必要的辦公環境整潔之外,還有保證虛擬環境的整潔,這也一部分會在“5S管理”一篇中詳細展開。在這裡想要著重強調的一點是,團隊要儘可能地在同一地點辦公,進行充分的溝通、交流,避免產生資訊孤島。

六、測量


測量,要注意測量過程中的儀器的選擇、測量維度、測量標準等。

不論是傳統制造業的測量,還是軟體行業的測試,目的都是為了發現問題,證明問題存在,從而使產品盡善盡美。

具體來說要如何去做?

  • 首先要確保測試流程的規範程度:提取測試需求 - 編寫測試用例 - 測試執行 - 提交Bug - Bug驗證跟蹤 - 迴歸測試 - 驗收 - 生成測試報告;
  • 其次要通過各種方法 編寫合理的測試用例,如:等價類劃分、因果圖法、場景分析法、正交分析法、路徑覆蓋、邏輯覆蓋、語句覆蓋等;
  • 最後要確保用例的廣度和深度,以及測試執行的充分性。

隨著各個流程環節的逐漸增加,5M1E產品質量管理分析法能夠幫助團隊快速釐清是哪一環節出現的問題。但方法起到的只是輔助作用,在實踐過程中,我們仍需要融會貫通,不斷地優化、改進產品交付流程。

相關文章