📈
概念 #テスト・品質保証 #コード品質 📚 ソフトウェア品質管理

ソフトウェアプロセス評価と改善(2.3)

組織のソフトウェア開発プロセスの成熟度を評価し継続的に改善するCMMIやSPICEなどのフレームワークと、評価から改善へのサイクル

概要

ソフトウェアプロセス評価とは、組織の開発プロセスがどの程度成熟しているかを客観的に測定すること。評価結果をもとに改善活動を行い、プロセスの能力を継続的に高める。

「良いプロセスが良いソフトウェアを生む」という考え方が前提にある。

主要なフレームワーク

CMMI(Capability Maturity Model Integration)

プロセスの成熟度を5段階で評価するモデル。

レベル名称特徴
1初期(Initial)プロセスが場当たり的。個人の能力に依存
2管理された(Managed)プロジェクト単位でプロセスが計画・管理されている
3定義された(Defined)組織標準プロセスが定義され、全プロジェクトで使われている
4定量的に管理された(Quantitatively Managed)定量的なデータでプロセスを管理・制御できている
5最適化している(Optimizing)継続的にプロセスを改善・革新できている

多くの組織はレベル1〜2に留まる。レベル3以上を目指すには組織標準プロセスの整備が必要。

SPICE(ISO/IEC 15504)

プロセス能力を評価するための国際標準。CMMIと同様に能力レベル(0〜5)でプロセスを評価する。自動車業界(Automotive SPICE)など特定ドメインへの展開もある。

評価から改善へのサイクル

プロセス評価は一度行えば終わりではなく、PDCAサイクルで継続する。

Plan   → 改善目標とアクションプランを策定する
Do     → 改善施策を実施する
Check  → プロセス指標で効果を測定する
Act    → 次の改善サイクルに反映する

評価の落とし穴

  • 評価のための評価になるリスク:認証取得が目的化し、実態のプロセスが変わらない
  • スコアの高さ≠品質の高さ:プロセスが整備されていても、それが現場で実践されなければ意味がない
  • 改善の優先順位:全プロセスを一度に改善しようとせず、品質への影響が大きい箇所から着手する

関連概念