
Capability Maturity Model (CMM) は、ビジネスの複数の機能を拡張する効果的で簡単な方法です。
会社を運営したり、システムを制御したり、グループを管理したりするには、機能を理解することが不可欠な側面です。
ビジネスのさまざまな機能を絞り込んだら、それらすべての機能のパフォーマンスを評価する必要があります。 それに応じて、ビジネスの基準と目標を設定します。
そのため、各機能と個人のパフォーマンスと作業の進捗を測定および管理するには、起業家とビジネス リーダーは確かなソリューションを持ち、それを把握する必要があります。
このようにして、企業は複雑さの負担を軽減し、スケーリングに必要な精度を提供できるシステムを開発できます。
ここで CMM の出番です。
この記事では、CMM と CMMI とは何か、それらのレベル、およびそれらの違いについて説明します。
はじめましょう!
能力成熟度モデルとは?
Capability Maturity Model (CMM) は、組織のアプリケーション開発プロセスを作成および改良するために使用される単純な方法論です。 これにより、開発者はソフトウェア開発プロセスを開発および強化できるため、一貫性と効率が向上します。
開発チームで割り当てられた役割に関係なく、CMM に慣れることでパフォーマンスを向上させることができます。 したがって、CMM は、ソフトウェア開発プロセスの評価、開発、および改善を支援する方法であると言えます。
CMM は、エンジニアリング、管理、および計画を実行するソフトウェア開発およびその他のプリンセスの主要な手順を概説しています。 定期的な改善プロセスは、大きなブレークスルーではなく小さな進歩の兆候によって達成可能であると想定しています。
さらに、ソフトウェア開発プロセスの継続的な改善のためのプラットフォームを提供するために、マイナーな兆候をさまざまな成熟度レベルに管理するためのフレームワークを提供します。 したがって、この方法論は、製品とサービスの開発品質とその提供を強化するために特別に設計された管理システムの中心として機能します。
CMM は、米国国防総省が後援する R&D センターである SEI (Software Engineering Institute) によって開発および推進されました。 現在はカーネギー メロン大学の一部となっています。 SEI は、さまざまなソフトウェアの問題に対処し、ソフトウェアの方法論を進めるために、1984 年に最初に設立されました。
SEI は、国防総省 (DOD) 向けのソフトウェア予約が多いシステムの開発、取得、および保守プロセスを最適化するために設立されました。 これは、進化する CMM、つまり CMM Integration (CMMI) の業界中心の採用を提唱しています。
なぜ CMM が必要なのですか?
CMM には多くの長所があり、この方法論を使用することの最も有益な利点は、時間とお金を節約できることです。 これは、システムが他のモデルよりも効率的に改善プロセスの欠陥を知るように完全に設計されているためです。
さらに、CMM はビジネス プロセスを強化し、生産スケジュールの突然の変更も減らします。 CMM は産業プロセスを改善するために設計された最初のモデルであるため、CMM の改良版 (つまり、CMMI)、ビジネス能力成熟度モデル (BCMM) など、他のモデル作成の基礎となる可能性があります。
CMM は、すべてのプロセスと市場に対して非常に柔軟なモデルです。 所属するセクターに関係なく、開発チームがあれば、メンバーはモデルを利用してプロセスのエラーを修正できます。
CMM の成熟度の 5 つのレベル
開発プロセスにおける能力成熟度モデル (CMM) の 5 つのレベルは次のとおりです。
#1。 初期レベル
このレベルでは、プロセスは適切な順序ではありません。 時にはカオスになることさえあります。 ここでは、成功は個々のメンバーの努力に依存し、反復可能なプロセスとは見なされません。 これは、プロセスが十分に文書化されておらず、複製できるほど十分に定義されていないためです。
従うプロセスは未熟でアドホックであり、ソフトウェア開発にとって不安定な環境です。 また、製品の品質や完成時期を予測する根拠はありません。
#2。 繰り返し可能
このレベルでは、必要なプロセスが十分に確立され、文書化され、定義されています。 その結果、プロジェクト管理手法が適切に確立され、一部の重要なプロセス領域では成功が再現されない可能性があります。
再現可能なレベルは、プロジェクト管理のいくつかの基本的なポリシーを確立することによって達成できます。 以前のプロジェクトでの経験は、同様の性質のプロジェクトを管理するために使用されます。 これには、プロジェクトに必要なリソース、目標、制約などの定義が含まれます。
このレベルでは、高品質のソフトウェアを正常に完成させるために適切に従う必要がある詳細な計画が提示されます。 主な目標は、ソフトウェアのライフサイクル全体を通じて、コンポーネントなどの製品のパフォーマンスを維持することです。
繰り返し可能なレベルには、顧客からのフィードバックとレビュー管理も含まれており、設定された要件にいくつかの変更が生じる可能性があります。 この要件管理は、変更された要件の調整から成ります。
さらに、下請け管理は、ソフトウェア開発のための資格のある請負業者の管理に焦点を当てています。 これは、サードパーティによって開発された一部のソフトウェア部品を管理することを意味します。 ソフトウェア品質保証は、開発プロセス中に特定のルールと標準ガイドラインを使用して、高品質のソフトウェア製品を保証します。
#3。 定義済み
ガイドラインと手順の文書化は、このレベルで行われます。 これは、明確に定義された一連のソフトウェア エンジニアリング プロセスと管理です。 これも:
- ピア レビュー: この方法では、検査、バディ チェック、ウォークスルーなどのさまざまなレビュー プロセスを使用して欠陥を取り除く必要があります。
- グループ間調整: この方法は、ニーズを適切かつ効率的に満たすために、複数の開発チーム間の相互作用で構成されます。
- 組織プロセスの定義: この方法は、ソフトウェア開発プロセスの開発と保守に焦点を当てています。
- 組織プロセスの焦点: これには、組織のプロセス能力を強化するために従う必要がある慣行と活動が含まれます。
- トレーニングプログラム: トレーニングプログラムは、チームメンバーの知識とスキルの向上に焦点を当て、作業効率の向上を確実にします。
#4。 マネージド
このレベルでは、組織のソフトウェア製品の品質とソフトウェア プロセスに対して定量的な目標が設定されます。 実施された測定により、組織は定量的に定義された制限内でプロセスと製品の品質を予測できます。
このレベルには、定量分析と製品品質を開発および理解するために確立された戦略と計画が含まれます。 また、プロジェクトのパフォーマンス管理にも重点を置いています。
#5。 最適化中
これは、CMM におけるプロセス成熟度の最終段階であり、定量的フィードバックによる組織内の開発プロセスの継続的な改善のみに焦点を当てています。 これは、ソフトウェア プロセスの手法、評価、およびツールを使用して、既知の欠陥の繰り返しを防止することによって行われます。
このレベルには以下が含まれます。
- プロセス変更管理: この管理プロセスは、ソフトウェア開発プロセスの継続的な強化に重点を置いています。 これにより、ソフトウェア製品の品質、サイクル タイム、および生産性が向上します。
- 技術変更管理: 製品の品質を向上させ、開発時間を最小限に抑えるための技術と識別技術の使用で構成されます。
- 欠陥防止: 欠陥の原因を特定し、次のプロジェクトでそれらの欠陥が再発しないようにすることで、欠陥の防止を行うことができます。 これにより、プロジェクト定義のプロセスが改善されます。
能力成熟度モデルの統合
Capability Maturity Model Integration (CMMI) は、製品、サービス、またはプロジェクトの開発中に、組織が開発プロセスを強化し、効率的な行動を促進し、ワークフローの生産性を向上させるために使用できる単純なプロセス モデルです。 これにより、プロセス全体のリスクが軽減されます。
CMMI は、カーネギー メロン大学によって開発および導入されました。 この開発の主な目的は、成熟度モデルの効率と使いやすさを向上させることです。成熟度モデルは、組織が特定の領域で継続的な機能強化を行う能力を測定できます。 これは、複数のモデルを単一のフレームワークに統合することによってのみ実現できます。
最初のバージョンは 2002 年にリリースされ、次のバージョンは 2006 年にリリースされました。2010 年にバージョン 1.3 が登場し、最新バージョンの 2.0 が 2018 年にリリースされました。 、企業向け。
CMMI は、COBIT フレームワークのような認証を所有する ISACA (旧称 Information Systems Audit and Control Association) によって買収されました。 CMMI は、製品またはサービスの開発プロセス全体を通じて組織を支援するプロセスおよび行動モデルです。
したがって、CMMI の目的は非常に明確です。 顧客の期待を満たし、市場での組織の価値を高めるモデルに従うことで、サービスまたは製品の品質を向上させるために使用されます。 また、ビジネスの評判と業界の利害関係者の価値も評価します。
CMMI は現在、以下の関心分野に取り組んでいます。
- CMMI for Development: 製品やサービスを開発するためのものです。
- サービスのための CMMI: サービスの確立、提供、および管理のためのものです。
- 取得のための CMMI: 製品およびサービスの取得を伴います。
CMMIの表現
CMMI 表現により、組織は一連の改善目標を追求できます。 次の 2 つの表現があります。
段階的な表現
- 定義された一連の開発プロセス領域を使用して、改善パスを記述します。
- それは一連の改善を提供し、一連のすべての部分が次の改善のための構造として機能します。
- 成熟度レベルの助けを借りて、改善されたパスを定義します。 また、成熟度レベルは、組織内のさまざまなプロセスの成熟度を表します。
- さまざまな成熟度レベルの異なる組織間で比較できます。
連続表現
- これにより、特定のプロセス領域を選択できます。
- 能力レベルを使用して、個々のプロセスの改善を測定します。
- また、工程領域ごとの組織比較も可能です。
- 継続的な代表により、組織はより良い改善のためにさまざまなプロセスから選択することもできます。
- この表現では、組織はさまざまなプロセスの改善順序を選択することで、目的をより適切に達成し、リスクを軽減できます。
CMMIの段階
CMMI には、段階的な表現を伴う 5 つの成熟段階があります。
#1.初期: このレベルでは、開発プロセスは十分に制御または管理されていません。 また、開発プロセスの予測不可能な結果も伴います。 さらに、無秩序でアドホックなアプローチが使用されます。 定義されたキー プロセス エリア (KPA) が見つかりません。 品質はそれほど良くなく、製品またはサービスは最高のリスクにさらされています.
#2。 管理: 成熟度のこの段階では、要件が適切に管理され、開発プロセスが制御および計画されます。 ここでは、プロジェクトは文書化された計画に従って適切に管理および実施されます。 ただし、リスクは依然として存在しますが、初期レベルよりは低くなります。
#3. 定義済み: 定義済みの成熟度レベルでは、適切な手順、標準、ツール、および方法を使用して、開発プロセスが十分に説明され、特徴付けられています。 あなたが見つける品質は中程度で、リスクも中程度です。
#4.定量的に管理: このモデルでは、品質およびパフォーマンス プロセスの定量的な目標が設定されます。 これは、組織のニーズ、顧客の要件などに基づいています。 プロセス性能測定値は定量的に分析されます。 ここでは、低リスクで高品質のプロセスを見つけることができます。
#5.最適化: これは、パフォーマンスとプロセスの継続的な改善を伴う成熟度モデルの最終段階です。 このレベルでの改善は革新的で漸進的です。 プロセスとパフォーマンスはより高品質で、リスクは最も低くなります。
CMMIの能力レベル
能力レベルは、プロセス領域に関連する組織のプロセスを強化するために、特定のプロセス領域に関連するプラクティスについて説明します。 CMMI モデルには 6 つの機能レベルがあります。
- 能力レベル 0 (不完全): 不完全、部分的、および実行されていないプロセスが含まれます。 このレベルでは、一般的な目標はありません。
- 能力レベル 1 (実行済み): このレベルでは、プロセスのパフォーマンスは安定していません。 コスト、スケジュール、および品質の目標が達成されていません。 レベル 1 のプロセスでは、特定のプラクティスを実行する必要があります。
- 能力レベル 2 (管理対象): このレベルでは、プロセスが監視、制御、および計画されます。 ここでの目的は、モデルと、品質、スケジュール、コストなどのその他の両方です。 組織は、メトリックを使用してプロセスを積極的に管理する必要があります。
- 能力レベル 3 (定義済み): プロセスが適切に管理され、一連の組織のガイドラインと基準を満たしている定義済みのレベルです。 プロセスの標準化に焦点を当てています。
- 能力レベル 4 (定量的に管理): ここでは、プロセスは定量的および統計的手法を使用して管理されます。 このレベルでは、プロセスのパフォーマンスはメトリックと統計用語で理解されます。
- 能力レベル 5 (最適化): このレベルは、プロセス パフォーマンスの継続的な改善に重点を置いています。 パフォーマンスは、革新的な方法と漸進的な方法の両方で改善されています。
CMM 対 CMMI: 違い
CMMI は、CMM の更新されたモデルまたは新しいモデルです。 SEI は、CMM を標準化および統合するために CMMI を開発しました。CMM は、カバーするすべての機能に対してさまざまなモデルを持っています。 これらのモデルは同期されません。 それらを統合することで、プロセスが柔軟かつ効率的になります。
主要なプロセス領域、実践、成熟度、および目標に関して、CMMI 構造は CMM 構造に似ています。 ただし、CMMI はプロセスの 2 つの異なる表現を提供します。
CMM と CMMI の違いをさらに見てみましょう。
CMMCMMICMM は Capability Maturity Model の略で、1984 年に開発されました。CMMI は Capability Maturity Model Integration の略で、2006 年に開発されました。組織内のソフトウェア開発プロセスを測定するために開発された行動モデルです。更新されたバージョンです。よりタスク指向で効果的な CMM モデルの主な目的は、ソフトウェア開発プロセスの成熟度を評価することです。 主な目的は、さまざまなソフトウェア モデルを 1 つのソフトウェアに結合し、CMM のいくつかの欠点を克服することです。CMM には、初期、反復、定義、管理、および最適化の 5 つの段階があります。CMMI には、初期、管理、定義、定量的管理、および最適化の 5 つの段階があります。 CMMはあまり効果的ではありません.CMMIはより効果的です.プロセス指向すぎます.目標指向です.
結論
Capability Maturity Model (CMM) は、業界におけるソフトウェア開発プロセスの問題解決システムです。 これにより、企業はプロセスの問題に対処する必要がなくなります。
一方、CMMI は CMM よりも高度な方法論を持っています。 これには、顧客の期待に応え、創造を重視し、マーケティングの成長、製品とサービスの品質の向上、評判の向上が含まれます。
また、スケジュールどおりに、予算内で、最高品質のソフトウェアを開発および提供するのに役立つアプリケーション ライフサイクル管理フレームワークを検討することもできます。