ソフトウェア開発の見積りプロセス(PDF

ソフトウェア開発の見積りプロセス
(ムービングターゲットを捕捉する見積りプロセス)
目次
はじめに
1.予算/見積りの意義
2.予算化/見積り行為と経費確定の論点
3.経費の構成と特徴
4.経費予実推の推移
5.不可視経費を捕捉する重要成功要因
6.見積りとリスク制御に関する教訓
参考文献
ソフトプロセス設計所 http://www.k3.dion.ne.jp/~softopro/ 2010年8月
2010/8/28 1 はじめに
ソフトウェア開発は環境条件や成果物の機能範囲が開発過程で変化する「ムービング・
ターゲット」である。従って、開発に要する作業工数はプロジェクトの進展過程で変化する。
この変化量を事前に読み、工数(経費)等を見積もる事は理論的に難しく、結果とし
て稀に的中する事はあるが、確率的に大半のプロジェクトでは的中する事がない。
プロジェクト管理で注力するのがリスク管理(制御)であるが、危険を危惧していた事が
現実化し、つまりリスクが現実となり色々な難問が生じている。この環境条件や成果物
への期待要件の激的な変化に対し、的確に対応するとプロジェクトは成功するが、期間
制約や要員の補充遅延等で対処が不十分となり失敗する事が多い。
ソフトウェア開発の見積りとは、事前に全てを予測し約束する事と捉えず、確定している
事や仮定条件を前提に覚悟を決めて約束し、その後変化する事象には事後に双方
が納得して、対価を合意する事であると考える。
本資料では、プロジェクトのライフサイクルを鳥瞰し、見積り(主に経費)の推移をモデル化し、
プロジェクトの成功例と失敗例の相違を明確にしている。又発注側と受注側の折衝論点
や論点に関するエビデンス(根拠)情報を取得するための成功要因を提案している。
2010/8/28 2 1.予算/見積りの意義
(1)見積書は発注社と受注者の約束(契約書)事項の詳細文書である。
参照する他の文書を前提に、プロジェクトの要件とプロダクトの要件を満たすために必要
な条件と経費を明示する文書である。
プロジェクトサイクルにおける見積りと契約書の位置
プレ・プロジェクト
プロジェクト
側注発
システム化方針・計画&要件定義
システム化
企画書
審議
提案
依頼書
調達管理
システム化
計画書
審議
審議
要件
定義書
側注受
提案書
審議
提案見積
受入
受入
確認
確認
審議
審議
審議
受注
事業化
計画書
不具合
変更依頼
審議
事故調査
依頼書
契約書
(変更)
追加見積
商談&見積・事業化
2010/8/28 運用サポート
要件&計画
要件&計画
変更依頼
変更依頼
契約書
見積&
条件書
アフター・プロジェクト
審議 プロジェクト
開発 審議
計画書
進捗状況&懸案
進捗状況&懸案
報告書
報告書
審議
審議
システム開発
変更
報告書
審議
事故対策
報告書
瑕疵対応
3 (2)発注側のシステム化予算行為と受注側の見積り行為の意義は異なる。
システム調達経費とシステム開発見積り額は同値であるが、その算出メカニズムは全く異なる。
受注側はソフト開発事業の実行が主業務であり、見積り行為は受注のための手段である。
発注側は本来事業を支援する道具を整備するために、見積もりを介して経費や企業を決
定する。
発注側における予算行為と &受注側における見積り行為の意味
受注側
発注側
投資予算
事業計画思考
見積り&事業計画
システム化計画
の条件(目標)
企業内の
事業予算(約束) 経理的業績思考
受注事業
業績計画
システム化
経費予算
システム調
達経費
システム開発
見積り額
プロジェクト
業績計画
プロジェクト計画の
最上流設計(目標)
設計技術思考
プロジェクト管理の
前提条件(鑑)
社外調達
の条件(約束)
システム調達思考
2010/8/28 企業間の
法的約束
契約思考
開発管理思考
4 2.予算化/見積り行為と経費確定の論点
(1)受注側における見積り行為のメカニズム
①受注側組織でシステム開発見積り額を決定するまでに①、②、③のプロセスを経る。
②「見積り額」と「プロジェクト計画(経費)」とは同値でない。「見積り額」提示は1回だけで
は無い。
③受注側組織では、職務毎に守るべき金額と施策&役割は異なる。
発注側
折衝見積り
受注側の見積り額設定プロセス
受注事業
業績計画
プロジェクト内
でループする
見積り
条件&根拠
の合意
システム開発
見積り額
合い見積り
提案依頼
(RFP)
2010/8/28 ②プロジェクト計画と事業計画に基づく
受注案件の方針策定
③受注戦略に
基づく
指定値設定
プロジェクト
業績計画
①提案依頼内容/見積り条件
&想定リスクに基づく経費予想
5 (2)発注側におけるシステム化予算の枠組み
システム化関連事業予算
事業推進リスク経費
企画&運用関連経費
≦
システム化に伴う想定効果額
=(1+事業規模の伸張率)
×システム化による年間回収額
×回収期間(年)
等
システム化予算
システム構築関連経費
ソフト開発関連経費
変化対応追加経費
2010/8/28 ①システム化予算規模は事業の想定効果額から制約を受ける。
②事業は人の活動とシステム機能の有機的働きで成り立ち、
人(組織や制度)の活動に応じて、システム化範囲が既定される。
③人の活動は絶え間なく向上し変化する。従ってシステムの機
能も追随して変化する。
④システム開発過程で発生した追加・変更要件に伴う変化対応
経費が一般には発生する。
6 (3)発注側によるシステム化予算設定のメカニズム
事業の想定効果
システム化関連事業予算
システム化範囲&プロジェクト要件
(機能/非機能要件&作業要件)
経費の制約
要件の実現
ソフト開発関連経費
変化対応追加経費
ので態状定確/定確不
システム構築関連経費
定決針方ので囲範な当妥
システム化予算
機器&基盤ソフトによるIT基盤の実現
・機器&ソフト等の資材調達
・構成/機能選択設計&実装作業
・業務データ等のシステム移行作業
システム化範囲の機能/非機能要件の実現&
プロジェクト要件によるQCDの実現
・プロダクト要件、特性による変動作業
・プロジェクト前提条件下での作業
・QCD関連プロセス統制に基づく作業
リスクの現実化に伴う、要件や条件等変更による追加作
業の実施
・確定済みSCDの変更に伴う追加作業
・プロジェクト前提や作業条件の変更に伴う作業
非機能要件:システムの社会的使命を達成するために具備すべき要件。
例:処理能力(性能、容量)、セキュリティ保全(情報安全性)、障害局所化(信頼性)等
QCD:品質゚(レビュー&テスト関連)、コスト(作業法、効率)、デリバリー(スケジュール、期限)
2010/8/28 SCD:スコープ(機能&作業範囲)、コスト(経費)、デリバリー(期限、納期)
7 (4)プロジェクト状態推移に対応するシステム化経費の種類
プロジェクトの時間と状態の推移
プロジェクト要件 不確定状態
プロダクト要件
システム化計画策定
要件定義
不確定/確定
状態での見積り
ソフト開発
関連経費
プロジェクト要件(前提条件)
確定状態
プロダクト要件
状況変化
リスクの現実化
リスク制御成功
変化対応
追加経費
無効,無駄作業
関連経費
不健全
消耗経費
リスク制御失敗
健全なプロジェクト
不健全なプロジェクト
妥当な
プロダクト品質
不満足な
プロダクト品質
2010/8/28 リスク現実化に伴う
追加作業経費
8 (5)ソフト開発規模策定の論点
アプリケーションソフトのサービス機能関連
システム化範囲
の限定
と囲範化ムテスシ
ソフト開発
関連経費
(規模関連)
意合の拠根出算模規
①プロダクトの規模を関係者で合意
するための論点とメカニズム
プロダクト(機能要件)
パッケージ/現行流
用時の追加・変更
分の仕分け
DFD図
a
開発量(規模)の想定
b
機能階層図
非機能要件の実装法
と規模の想定
データ関連図
b
非機能要件実装
模規トクダロプ
)数プッテス(
高位水準
機能の実装
2010/8/28 論理的機
能単位まで
分解
a
分野標準値
アーキテキチャ製品で実装
プロダクト(非機能要件)
非機能要件
(性能/処理量、信頼性水準、操作性、
安全性、移行性)
機能規模
アーキテクチャ
(システム構成、基盤ソフト、パッケージ)
9 (6)ソフト開発工数&経費策定の論点
①作業工数を関係者で合意するための論点とメカニズム
②作業量はプロジェクト特性(主要要件と
開発作業の前提条件(変動要素)
その要求水準)に多大な影響を受ける。
プロジェクト要件
と関相の数工業作・模規
ソフト開発
関連経費
(工数と経費)
作業プロセスの
適性化
工数単価の
妥当性
意合の拠根算積費経
プロジェクト前提条件
前提条件に基づく
作業量(工数)&経
費の想定
量業作
プロセス要件(発注側関連) (顧客の参加度、顧客との役割分
担、レビュー&合意の手続き、成果
納入物の形式、進捗報告指標等)
WBS階層図
レビュー、品質
確認&保証
等プロセス
変動要素の
影響度設定
変動要素の影響度
2010/8/28 (開発期間制約、作業環境制約、
適用開発支援ツール、流用プログラム&
品質、開発場所分散、関係者/企業
等)
分野標準値
規模
a
x
組織・要員要件
(所要要員数&投入時期制約、所
要要員スキル、PM,Pl,キーマン、外注要
員、経費クラス等)
10 (7)変化対応追加経費策定の論点
①プロジェクト特性の変質やプロダクト規模の
変化に伴う、追加経費の折衝事項
変化対応
予備経費
量業作
変動要素
の変質
(S)スコープ関連
・IT基盤インフラの変更・追加
(例)
・信頼性・安全性水準の高度化
・業界水準監査による証跡機能の強化
・要件(スコープ)の逐次的追加
手戻り工数の想定 ・システム化範囲の拡大、変更
(C)作業経費関連
・新操作法に伴う誤操作の頻発と技量の育成・指導
・本来業務に伴う事務制度の例外処理頻発
発生確率と影
(D)期限/納期関連
響度(範囲含
・要件の不安定化又は要件確定の遅延
む)を評価
・構築、改造作業期間の短縮
・段階的導入・稼動の要請
・IT利用部門の組織変更に伴う訓練期間の確保
前提や作業条件の変動
・IT化組織の機構改革、人事異動の発生
リスク現実化時
・IT利用部門との要件合意形成困難
・要件開発担当の力量不足
・選定開発支援/稼動インフラ・ソフトの品質不安定
見積り時
・手作業とシステム化範囲が未確定又は流動的
悟覚の費経と策応対クスリ
リスクの
回避&低減
リスクの現実化に伴う作業量の変化
(前提条件(変動要素)の変質やスコープ(規模)の変化)
スコープ
の変化
2010/8/28 規模
11 (8)不健全消耗経費負担時の論点
①不健全消耗経費の発生メカニズムと
経費の分担折衝の論点
②分担調整はプロジェクトの実態と経費の
実績を関係者が理解し合って行われる。
不健全
消耗経費
2010/8/28 起因元と
影響経費の
仕分け
整調担分とけ分仕の費経
双方の
プロジェクト管理・
監視体制の不備
無効&無駄
作業工数の実績
開発条件の激変や管理能力不足による
無効、無駄作業の発生
発注側、受注側双方に起因する不備
不測の事態関連
(例)
・仕様確定遅延/仕様変更の頻発
・母体/パッケージ製品の品質劣悪
・工期の部分前倒し(スケジュールや優先度の変更)
・顧客の要件開発担当の途中異動/退任
管理&要員不備関連
(例)
■PM関連
・PMの管理、指導、調整、コミュニケーション能力不足
・不測の事態に対する対応力の不足
■キーマン関連
・母体&類似ソフト経験者の投入不可
・要件&非機能要件の提案&実装案設計力不足(適
任者不在)
・不足の事態に対するキーマンの不足、支援体制崩壊
■メンバー関連
・未経験者の大量投入に伴う開発力の低下
・作業量増加や工期短縮に伴う要員補充の不足
12 3.経費の構成と特徴
(1)予算&見積り及び実績経費の構成
発注側:
仮定に基づいて設定
予算(想定額)
=
当初所要経費
(見積り額)
+
リスク対応費
?
不健全消耗費
≠
受注側: 実績に基づいて仕分け
実績(総経費)
=
(計画時分の実績)
+
(追加経費)
+
(クレーム&自己不調経費)
上記各要素の意味は下図の色分けにて示す。
システム化企画・運用
関連作業/資材費
システム化
関連付帯作業/資材費
開発作業/資材費
2010/8/28 プロダクト&
プロジェクト特
性による
変動作業費
プロジェクト前提の
変質による手戻
り作業費
規模/範囲の
変化による
増加作業費
開発混乱による
待ち、重複作業費
管理不備によ
る無駄作業等
増加費
13 (2)各経費の特性
)量業作(費経
当初所要経費
プロダクト&プロジェクト
&プロセスの特性(条
件)に基づく影響幅
規模&作業項目
不健全消耗経費
)量業作(費経
想定幅
(悲観&楽観域)
関係者合意線
(妥協&覚悟線)
リスク発生確率×影響度(&範囲)
2010/8/28 )量業作(費経
リスク対応経費
現実線
(制御失敗域)
想定線
(制御目標線)
混乱発生確率×影響度(&範囲)
14 4.経費予実推の推移
(1)ソフト開発プロジェクトの特徴
①ソフト開発プロジェクトは、「プロジェクト要件の変質」や「リスクの現実化」が絶えず発生する
「ムービングターゲット」である。
②プロジェクト計画(想い)と実態の乖離を監視し、リスク現実化の影響を的確に対処する活
動が成功要因となる。
③リスク現実化に伴う「変化対応経費」等を素早く合意し、プロジェクト計画を修正する。
ソフト開発プロジェクトの経費予測推移
推実予費経
要件変動、リスク現実化
に伴う追加経費
リスク制御により
影響を低減する
出典:IPA/SEC「見積り時期と見積もり誤差とリスク」
変化対応費
リスク現実化
要件確定化
2010/8/28 開発経過
ソフト開発費
IPA/SEC資料では、リスクの現実化について言及が無い。
15 (2)開発経費の推移例
■リスク制御が失敗した場合(例3)
リスク制御により
影響を低減する
変化対応費
リスク現実化に伴う
追加経費
ソフト開発費
リスク制御を失敗し
制御不能に至る
推実予費経
推実予費経
■リスク制御が成功した場合(極端な例1) 不健全消耗費
瑕疵担保
期間
開発経過
開発経過
推実予費経
■リスク制御が成功した場合(極端な例2) ①プロジェクト前提を逸脱し、プロジェクト活動軌道
を修正出来なくなった場合、各所で作業の重
複や待ち及び手戻りが頻発する。
②経費は保有人数に比例し発生する。
③納入後も、品質向上作業が発生する。
開発経過
2010/8/28 16 ■プレ・プロジェクト段階で異常な場合
■左記でリスク制御が成功している場合(例4)
プロジェクトの計画性を欠き
実績ベースの経費管理となる
プロジェクト要件 不確定状態
リスクの現実化
システム化計画策定
要件定義
要件確定失敗
受発注中断
不健全なプロジェクト
不明確な
プロジェクト要件
不明確な
プロダクト要件
リスクの現実化
開発事例:現行機能踏襲開発、新規未経
験分野開発、未経験母体の改良開発、
受注側のパッケジ化併用開発、等
2010/8/28 推実予費経
プロダクト要件
変化対応費
リスク現実化
要件確定化
開発経過
①段階的順次開発のためプロジェクト計画が不
安定で計画性に欠けるため、本来的な事前
合意見積りは難しい。
②対処案として、適時に確定した機能要素毎
又は1ケ月毎に所要経費を明確にする。
③小規模の場合は、プロジェクトメンバーの開発力
量に依存し、想定の範囲で収束出来る。
17 5.不可視経費を捕捉する重要成功要因
不確定で条件変化の予測困難なソフト開発に関する見積りを、客観的で的確に実施
するためには、見積りプロセスに動態管理の考え方を導入し、不可視経費を積極的に
把握する事が必要である。
以下に見積りプロセスの重要成功要因を列挙する。
①ソフト開発プロジェクトは「ムービングターゲット」と言われ、プロジェクト内で多様な変化が生じ
捉え難いため、「不可視モデル」として扱う。
→事前に主要リスクを想定し、重点監視体制を整える事が大切である。
(動態管理の徹底)
②リスクの現実化確率が高い事柄に対し、現実化後に対処するだけでなく、リスク現実
化の影響を受けない本質安全なプロジェクト計画(開発プロセス)を採用する事が重要で
ある。
→本質安全なプロジェクト計画を策定し、その実現を前提に見積る事が大切である。
(リスク回避策の計画反映)
③発注側、受注側は影響する所要経費等を素早く合意し、プロジェクトの計画を修正
する。
→会社組織間の契約(約束)に基づいて共通の計画を持つ事が大切である。
(敏感な変更管理の実行)
2010/8/28 18 6.見積りとリスク制御に関する教訓
(1)見積り関連
出典:IPA/SEC「ソフトウェア開発見積りガイドブック」
(1)「システム化計画」「要件定義」「システムテスト」プロセスを一括請負契約から分離する(多段契約の採用)
(2)開発過程での変動に対する「変更/追加見積り」を明文化する(契約文書に変更管理の明示)
(3)経費の予実推(積)に関する数値データの取得と反省事項の蓄積に基づき見積りプロセスを改善する
(見積り経験&ノウハウの蓄積)
(4)プロジェクト支援の一環としてPMO(プロジェクト・マネジメントオフィス)組織を設置し、各種点検を行い、
プロジェクト失敗を食い止める(組織によるプロジェクト監視、失敗抑止活動の充実)
(5)生産物量(規模)の算出において、非機能水準等の変動要素の分析法を確立し訓練する。 (分野別規模算出法の確立)
(6)作業工数の算出において、分野毎のベースライン(基準線)を定め、ベースラインからの変動要因による
影響工数を反映する式を確立する。 (相関式: 工数=α×規模(1+変動分) )
出典:IPA/SEC「ソフトウェア改良開発見積りガイドブック」
(7)母体に対する改良開発の場合「母体理解のための調査・分析」「母体を含むテスト」作業が新規
開発作業と比べて追加となる。(改良開発の特徴)
(8)要件機能実現において、改良開発に特有の変動要因がある。 (改良開発の特徴)
規模に関しては、変更箇所の結合度、追加&変更規模水準、母体規模水準等
作業工数に関しては、母体の習熟度、変更箇所の分散度、母体の理解容易性(ドキュメント整備度)
母体システムの品質水準、等
2010/8/28 19 (2)リスク制御関連
出典:IPA/SEC「ITプロジェクトの「見える化」上流編」
(1)リスクである潜在的な問題を「見える化」するために、各種鳥瞰図や計画図表を作成し、実態と乖離
すれば即時に修正し、変化を明確にする。(鳥瞰図、計画図表によるリスク現実化の認識)
鳥瞰図の例:関係者関連図、プロジェクト推進体制図、周辺関連システム構成図、システム(ハード、ソフト)構成図、
概略スケジュール図表、要員遷移計画図、等
計画図表の例:WBS対応スケジュール表、成果量と経費の推移図、要員山積計画図、成果物量の推移図、
成果物の各種品質指標推移表(グラフ)、
(2)ITシステム化プロジェクトの対象は、「曖昧性」と「不確実性」を内包しており、システム化計画段階、要件定義
段階でその一端が顕在化するが、この時点での対処策がプロジェクトの成否を二分する。
(リスク回避策や低減策を重視したプロジェクト計画策定)
出典:IPA/SEC「 ITプロジェクトの「見える化」総集編」
(3)発注側、受注側を含めた「広義のPMO」を設置し、共同でプロジェクトの課題を協議、意志決定す
る。又システム稼動後もビジネス環境の変化に素早く対応するための情報共有を行う。
(広義PMOの設置)
ー以上ー
2010/8/28 20 参考文献
IPA/SEC(見積り手法部会):「ソフトウェア開発見積りガイドブック」シリーズ
(定量的見積りの実現)(既存システムがある場合)(品質要件に応じた見積りとは)、
オーム社、2006年4月~2008年9月
IPA/SEC(プロジェクト見える化部会):ITプロジェクトの「見える化」シリーズ
(上流工程編)(中流工程編)(下流工程編)(総集編)、日経コンピュータ、2006年5月~2008年10月
IPA/SEC(開発プロセス共有化部会):共通フレーム2007、オーム社、2007年10月1日
経済産業省(商務情報政策局情報処理振興課):産業構造・市場取引の可視化 、HP、2007年4月
経済産業省(経済産業政策局産業資金課):先進企業から学ぶ事業リスクマネジメント実践テキスト、HP、2005年3月
畑村 洋太郎:危険不可視社会、講談社、2010年4月5日
ソフトプロセス設計所:危険不可視モデルでの共存、HP、2010年7月
ー以上ー
2010/8/28 21