CoBRA法とはCoBRA研究会のホームページです。要求内容の変動や顧客の協力度合いなど、開発プロジェクトに介在する多種多様な要因(変動要因)に影響されます。それに近い値を推定する手法で開発コストの見積りが行われてきました。それを変動要因として定義・定量化することで、透明性と説明性が高い見積り(コストマネジメント)を実現する方法です。過去の類似プロジェクトの実績コストから類推する方法。要件定義の完了前に、ある程度根拠のあるコスト推定が可能。過去に類似案件のないプロジェクトへの適用は困難。コストを推し測れる粒度に実施項目を詳細化(作業単位と呼ぶ)し、作業単位ごとにコストを推定し、積み上げる方法。作業単位が明確になるため、プロジェクト開始後に、作業単位で進捗とコストの予実管理が可能。開発スタイルが固定化している組織では、高い見積り精度が見込まれる。見積り精度は、作業単位の網羅度、厳密度に依存する。よって要件がある程度固まった段階でないと適用不可。コストを目的変数、規模や環境要因などを説明変数とし、それらの関係を定式化する方法。CoBRA法はパラメトリック法に分類される。見積りに再現性がある。見積り条件を変えたコスト・シミュレーションが可能である。環境要因をリスクと捉えることで、プロジェクトのリスク把握につながる。妥当な数式モデルを得るためには、実績データの収集が必要となる。不確定な説明変数が多いと誤差が大きくなる。CoBRAモデルCoBRAモデル(CoBRA法で構築した見積りモデル)は、次の仮説に基づいてコストを算定します。変動要因の存在しない理想的な状態においては、開発コストは開発規模に比例する。現実のソフトウェア開発においては、開発コストを増加させる複数の変動要因が存在し、その影響度の総和だけ開発コストが増加する。以上の仮説をコスト算定式として表わすと次のようになります。(コスト)=α×(規模)×(1+�任Oi)規模の尺度には、ソースコード行数やファンクション・ポイント(ソフトウェアの機能量を表す尺度)などを用いることができます。COiはi番目の変動要因によるコスト増加率を表します。全ての変動要因をoverhead、すなわちコストを増加させる要因として定義する点に特徴があります。CoBRAモデルの変動要因として定義します。変動要因は、組織や開発対象となるシステムなど、様々な種類があります。熟練者の感覚を視覚的に確認するために要因の関係図を作成すると、下図のように描くことができます。次に、実際に見積りを行う現場の担当者が解釈や判断に迷わないよう、抽出した変動要因の各々について客観的、かつ分かりやすく定義します。変動要因の影響度を4段階(レベル0からレベル3)で設定します。レベル3はその変動要因が最も強くコストに影響を及ぼす状態を表し、レベル0はその変動要因の影響が全くない状態を表します。上図の開発期間の制約(CO6)については、以下のように定義することができます。その2:変動要因の影響度の定量化その1で抽出・定義したそれぞれの変動要因に対し、”全ての変動要因のレベルが0であるときのコスト”と、”当該変動要因のみがレベル3であるときのコスト”とを比較し、どれだけ増加するかの割合を、熟練者の経験を基に設定します。感覚を表現するものであるため、1つの割合だけではなく、以下に示す3ケースについて、幅のある値を設定します。コストへの影響が最小と考えられるときの割合(最小値)コストへの影響が最もありそうなときの割合(最頻値)コストへの影響が最大と考えられるときの割合(最大値)レベル3のみについて割合を設定すれば、レベル2からレベル0の影響度は、下図のように2/3倍、1/3倍、0倍することで、自動的に設定されます。(このコストへの影響度を感覚的に表現する3つの数値の組を「三角分布」と呼びます。過去に実施した複数のプロジェクトに対してコスト増加割合(ΣCOi)の算定を行い、コスト算定式中のαの値を算出するため、まずは過去のプロジェクトを複数(N件)集めます。それぞれのプロジェクトに対し、各変動要因のレベルが0〜3のどれにあたるかを、プロジェクト・マネージャ及びメンバへのアンケートにより定めます。次にそれぞれのプロジェクトに対して、モンテカルロ・シミュレーションでΣCOiを多数回計算することでΣCOiの安定した分布を作り、その分布の中央値を当該プロジェクトにおけるコスト増加割合とします。(補正規模と呼ぶ)と実際のコストの値の組が、N組得られます。対して直線回帰分析を行うと、その回帰係数としてαが算出され、CoBRAモデルの初期モデルが完成します。初期モデルでは望ましい見積り精度が得られない場合は、次に示すモデルの改善を行います。完成したCoBRAモデル(初期モデル)の見積り精度は、クロスバリデーション(交差検定法)により評価することができます。そのαを使って、除いた1組のコストを見積もる」ということを、除く対象を変えてN回行うことで、見積り誤差に関するデータをN個取得します。見積り誤差率の絶対値の平均からモデルの精度を評価し、標準偏差からモデルの安定度を評価することができます。評価結果が良好でない場合は、構築したモデルの見積り精度の改善を行います。一般的な改善ポイントは次のようになります。実績データ(コスト、規模)、変動要因のレベル値の見直し。変動要因の見落としの有無の確認。変動要因の定義の見直し(曖昧な定義は無いか)。三角分布の値の見直し(影響度の評価は妥当か)。プロジェクトの層別の可能性の確認。CoBRAモデルによるソフトウェア開発プロジェクトのコスト見積り構築したCoBRAモデルによる見積り結果は、次の手順で得ることができます。当該プロジェクトの開発規模を推定する。各変動要因のレベルを評価する。モンテカルロ・シミュレーションにより、コスト増加割合の分布を作成する。得られた分布の中央値をコスト算定式のΣCOiに当てはめ、開発コストの推定値を得る。