能力成熟度モデル (CMM) とソフトウェア エンジニアリングにおけるそのレベル

CMMとは?

能力成熟度モデルは、組織のソフトウェア プロセスの成熟度を測定するためのベンチマークとして使用されます。

CMM は 80 年代後半にソフトウェア工学研究所で開発されました。これは、下請け業者の仕事を評価する方法として米空軍の資金提供を受けた研究の結果として開発されました。 Later ソフトウェア開発の成熟度を評価するために 1991 年に作成された CMM-SW モデルに基づいて、他の複数のモデルが CMM-I と統合されています。

能力成熟度モデル

能力成熟度モデル (CMM) レベルとは?

  1. 初期
  2. 反復可能/管理
  3. 定義済みの
  4. 定量的に管理
  5. 最適化

能力成熟度モデル (CMM) レベル

CMM のさまざまなレベルで何が起こるか?

レベル アクティビティ 福利厚生
レベル 1 初期
  • レベル 1 では、プロセスは通常、無秩序でアドホックです。
  • 能力は、組織ではなく個人に基づいて特徴付けられる
  • 進行状況は測定されていません
  • 開発された製品は、多くの場合、スケジュールと予算を超えています
  • スケジュール、コスト、機能、品質の目標のばらつきが大きい
なし。 プロジェクトはTotal Chaos
レベル 2 マネージド
  • 要件管理
  • コスト、スケジュール、機能などのプロジェクト パラメータを見積もる
  • 実際の進捗状況を測定する
  • 計画とプロセスの開発
  • ソフトウェア プロジェクトの標準が定義されている
  • 製品、問題レポートの変更などを特定して管理します。
  • プロセスはプロジェクトによって異なる場合があります
  • プロセスが理解しやすくなる
  • マネージャーとチーム メンバーは、物事がどのように行われているかを説明するのに費やす時間を減らし、それを実行することに多くの時間を費やします
  • プロジェクトはより適切に見積もられ、より適切に計画され、より柔軟になります
  • 品質はプロジェクトに統合されます
  • コストは最初は高いかもしれませんが、時間の経過とともに下がります
  • より多くの事務処理とドキュメントを求める
レベル 3 の定義
  • 顧客の要件を明確にする
  • 設計要件を解決し、実装プロセスを開発する
  • 製品が要件と使用目的を満たしていることを確認する
  • 意思決定を体系的に分析する
  • 潜在的な問題を修正および制御する
  • プロセス改善が標準になる
  • ソリューションは、「コーディング」から「エンジニアリング」へと進みます
  • 品質ゲートは、チーム全体がプロセスに関与するプロジェクトの取り組み全体に表示されます
  • リスクが軽減され、チームを驚かせることはありません
レベル 4 定量管理
  • プロジェクトのプロセスとサブプロセスを統計的に管理します
  • プロセスのパフォーマンスを理解し、組織のプロジェクトを定量的に管理する
  • 組織全体でプロセスのパフォーマンスを最適化
  • 組織内の定量的プロジェクト管理を促進します。
レベル 5 の最適化
  • 不良原因の早期発見・除去
  • ニーズとビジネス目標を満たすための新しいツールとプロセスの改善を特定して展​​開する
  • 組織力を育むnovaションと展開
  • 原因分析と解決に弾みをつける

Following 図は、さまざまな CMM レベルで何が起こるかを図で表現します。

さまざまなレベルの CMM

CMM の実装にはどのくらいの時間がかかりますか?

CMM は、ソフトウェア開発会社にとって製品の品質を維持するための最も望ましいプロセスですが、その実装には予想よりも少し時間がかかります。

  • CMM の実装は一夜にして実現するものではありません
  • ただの「書類」ではありません。
  • 実装の一般的な時間は次のとおりです。
  • 3-6ヶ月 -> 準備のため
  • 6-12ヶ月 -> 実装用
  • 3か月間 -> 評価準備のため
  • 12か月間 ->新しいレベルごとに

三次元測定機の内部構造

CMM の各レベルは、 キープロセスエリアまたはKPA、レベル 1 を除く。 各 KPA は、関連するアクティビティのクラスターを定義します。これらのアクティビティをまとめて実行すると、ソフトウェア機能の改善に不可欠と見なされる一連の目標を達成できます。

異なる CMM レベルには、一連の KPA があります。たとえば、CMM モデル 2 の場合、KPA は次のとおりです。

  • REQM - 要件管理
  • PP - プロジェクト計画
  • PMC - プロジェクトの監視と管理
  • SAM - サプライヤー契約管理
  • PPQA - プロセスと品質保証
  • CM-構成管理

いいねwise、他の CMM モデルの場合は、特定の KPA があります。 KPA の実装が効果的で、永続的で、反復可能であるかどうかを知るために、次のようにマッピングされます。wing 基礎

  1. 実行へのコミットメント
  2. 実行する能力
  3. 活動内容
  4. 測定と分析
  5. 実装の検証

CMM モデルの制限

  • CMM は、プロセスがどのように実装されるべきかではなく、何に対処すべきかを決定します
  • ソフトウェアプロセスの改善の可能性をすべて説明しているわけではありません
  • ソフトウェアの問題に集中しますが、戦略的な事業計画、テクノロジーの採用、製品ラインの確立、および人的資源の管理については考慮しません。
  • 組織がどのような事業を行うべきかを示すものではありません
  • 今危機に瀕しているプロジェクトではCMMは役に立たない

CMM を使用する理由

今日、CMM はソフトウェア業界における「承認の印」として機能しています。 ソフトウェアの品質を向上させるためにさまざまな方法で役立ちます。

  • 反復可能な標準プロセスに向けてガイドし、物事を成し遂げる方法の学習時間を短縮します
  • CMM を実践するということは、開発のための標準プロトコルを実践することを意味します。これは、チームが時間を節約するのに役立つだけでなく、何をすべきか、何を期待すべきかを明確に把握できることを意味します。
  • 品質活動は、別のイベントとして考えるのではなく、プロジェクトとうまく融合します
  • プロジェクトとチームの間のコミューターとして機能します
  • CMM の取り組みは、常にプロセスの改善に向けられています

まとめ

CMM は、下請け業者の作業を評価するために 80 年代後半に米国空軍で初めて導入されました。 Later 改良版では、ソフトウェア開発システムの品質を追跡するために実装されました。

CMM レベル全体は XNUMX つのレベルに分かれています。

  • Level1 (初期): 通常、システムの要件が不確実で、誤解され、制御されていない場合。 このプロセスは通常、無秩序でアドホックです。
  • Level2 (マネージド): プロジェクトのコスト、スケジュール、および機能を見積もります。 ソフトウェア標準が定義されている
  • Level3 (定義): 製品が要件と使用目的を満たしていることを確認する
  • Level4 (定量的に管理): プロジェクトのプロセスとサブプロセスを統計的に管理します。
  • Level5 (成熟度): ニーズとビジネス目標を満たすために、新しいツールとプロセスの改善を特定して展​​開します。