3 見積りモデルの構築・導入
3.3 個別ケーススタディ概要
3.3.8 情報システム部門熟練者
(1) 熟練者における目的
本熟練者が対象としているモデル構築組織は、出版・サービスを営むユーザ企業の情報 システム部門である。
今回構築する見積りモデルでは、見積り段階としてどこで利用するかは想定しておらず、
プロジェクト自体がうまくいきそうか、頓挫しそうかを判断するひとつの材料として利用 することを目的としている。開発リスクを洗い出し、そのリスクが数字的に提示できるこ とを主要な目的としたものである。
(2) 今回の実証プロジェクトの観点
CoBRA モデルの構築は、対象組織のプロジェクト情報が必要となることから、通常、
熟練者のほかに開発者など、プロジェクト遂行の実態を良く知る者を構築メンバとするこ とが望ましい。しかしながら、組織によっては最初から複数名の構築メンバを選出し、モ デル構築することが困難であるケースも考えられる。
そこで本事例では、熟練者1名でのCoBRAモデルの構築を試み、その際の注意点など の検討を行い、少人数(今回は最少の1名)による早期CoBRA法導入の有効性について 探る。
(3) 結果概要
熟練者のキャリア情報を下記に示す。
表 21 熟練者情報
項目 熟練者からの情報
ポジション QA担当(プロジェクト評価)
経験年数 現ポジションに4 年従事、現事業部内での参加プロジ ェクトは約20件、これまで関わったプロジェクトは約 100件
システム業種 情報サービス
開発規模 小規模10万SLOC(1000FP未満)~
大規模100万SLOC(10000FP以上)
開発期間 小規模(半年未満)~大規模(1年以上)
開発種別 新規開発、改修・保守、機能拡張、再構築(リプレー ス)
規模データ
(調査可能規模)
FP、画面数、ファイル数、バッチ数、帳票数
工数データ
(調査可能範囲)
要求定義~結合テスト、設計~結合テスト
当該熟練者は、社内の情報システム開発の見積りに係る事情、開発現場の事情、リスク
対策費に係る事情を熟知しており、各要因の背景を迅速に述べることができた。よって、
要因定義で自身の想定している意味と用語の違いの修正や、レベル設定を比較的円滑に定 める事が可能であった。
また、要件定義、システム設計、ソフトウェア設計、同製造、同試験、システム試験、
プロジェクト管理、移行他、などの各工程の実績データを取得しているほか、パッケージ ソフトウェアのFP流用分など、プロジェクトの詳細事項をカバーしている状態であった。
このため、初期モデル報告時に詳細な実績データの見直しを行うことができ、モデル精度 が改善した。
モデル構築で利用する過去プロジェクトの状況の違いをより表すことのできる変動要 因の設定、レベル定義の設定を行うことで、さらに改善が見込める結果となった。
45
表 22 熟練者によるモデル構築結果まとめ 変動要因モデル
コミュニケー ション能力
工数 プロジェクト
目標の明確 さ・一致度合
い チームの経
験・知識
要求変更の度 合い 見積り時の要 求内容の曖昧
さ
システムの複 雑性
事業部門の参 画度合い
統制の取れた 変更要求管理
統制の取れた 要求管理
開発期間の 制約 関係者の数 チーム内の役
割分担や責任 の明確さ 人的要因
プロセス要因 プロジェクト要因
プロダクト要因
α 3.5786
モデル式 見積り工数=3.5786×規模×(1+∑COi)
モデルによる シミュレーション結果
y = 3.5786x R2 = 0.9123
0.0 10000.0 20000.0 30000.0 40000.0 50000.0
0 5000 10000 15000
Size (Est)
Cost
誤差率ヒストグラム
Absolute Relative Error(%)
0.0%
20.0%
40.0%
60.0%
80.0%
100.0%
1 2 3 4 5
誤差平均 33.1%
誤差標準偏差 9.0%
誤差+1σ 42.1%
Pred. 25 20.0%
総Effort誤差率 33.4%
47 (4) 得られた知見等
本事例では、熟練者1名でのCoBRAモデルの構築を試み、その際の注意点などの検討 を行い、早期導入の可能性について探ることを目的とした。
この結果、次のような結果が得られた。
・ 下記の情報・状況について情報を得ていれば、1 名でも短時間での構築が可能であ る。
¾ 組織内の見積りに係る事情(実施時期、内容、リスク対策費等の内訳を含む)
¾ 発注先を含む開発現場の状況(強み、弱み、スキル等。発注先を含む)
¾ 過去プロジェクトの詳細な規模・工数情報
¾ コストに影響をもたらしていると思われる過去プロジェクト間の比較情報
・ レベル定義時には、モデル構築に用いる過去プロジェクトの状況を思い返し、状況 の違いを加味してレベル設定することが望ましい。