測ることからすべてが始まる ~ ファンクションポイント法によるソフトウェア定量化のススメ ~ 日本ファンクションポイントユーザ会 (JFPUG)
第 1 部ファンクションポイントとは
1. ファンクションポイントとは あらゆるものには規模の尺度がある あらゆるもの ( 製品や資源 ) にはその規模を把握するためのなんらかの尺度がある ものの規模尺度は価格とおおよその相関があり 取引の目安となっている場合が多い 製品や資源の規模尺度の例 住居 : 床面積 ( m2 ) 自動車 : エンジン排気量 (cc) テレビ : 画面サイズ ( インチ ) 船 : 積載量 (t) 食肉 : 重さ ( kg ) 石油 : 量 ( ガロン ) ソフトウェアの規模尺度って何だろう?
1. ファンクションポイントとは 規模 ( サイズ ) と価格相場の関係例 液晶テレビの画面サイズ毎の実勢価格 ( 千円 ) メーカ シリーズ 32インチ 37インチ 40インチ 42インチ 46インチ 47インチ 52インチ 付加機能 SH 社 AQ 44 198 269 330 4 原色 PA 社 VE1 59 76 94 VE2 104 115 3D 対応 SO 社 BR1 45 90 BR2 63 106 165 3D 対応 T0 社 RG1 47 59 116 RG2 100 188 258 3D 対応 HI 社 WO1 43 65 WO2 94 105 120 録画機能 MI 社 RL1 46 112 138 平均 65 99 113 117 172 258 330 1 全体的な傾向として画面サイズ ( 規模 ) が大きいほど価格が高い 2サイズの割りに高い機種には付加機能がついている サイズを軸に価格を見ると納得感がある
1. ファンクションポイントとは ソフトウェアの規模をどう捉えるか? ソフトウェアの規模を把握する場合 内部仕様 ( 実装 ) から捉えるアプローチと外部仕様から捉えるアプローチがある 内部仕様( 実装 ) から捉える規模の例 プログラム本数条件分岐数関数やAPIの数 SLOC(Source Lines Of Code, プログラムステップ数 ) etc 外部仕様から捉える規模の例 画面や帳票の数定義された要件の数ユースケースポイントファンクションポイント (FP) etc
1. ファンクションポイントとは ファンクションポイントとは ソフトウェアの機能規模を測る尺度 1979 年に米国の A. J. Albrecht 氏が考案したものが母体 IFPUG とその支部 ( 日本支部 JFPUG) が世界中で普及推進している ISO/IEC の国際標準規格となっている 日本国内では JIS 規格 ファンクションポイントは ソフトウェアの機能規模尺度
1. ファンクションポイントとは ISO/IEC 規格および JIS の発行 国際社会においても 機能規模計測の重要性を認識し 1993 年から ISO/IEC 規格発行の検討を開始 1998 年の ソフトウェア機能規模の概念定義 (ISO/IEC14143-1) を発行し 以後次々と各規格を発行 ソフトウェアの機能規模の概念 標準適合性 利用適合性 参照モデル 適用領域の規定の標準化が目的 国内でも並行して JIS( 翻訳 JIS) の発行が行われている ファンクションポイントは 国際標準の尺度
1. ファンクションポイントとは ファンクションポイントの有意性 様々な規模尺度の中からFPを選ぶ理由 外部仕様から計測する ユーザ ベンダー共に客観的に評価できる 上流工程から規模を推定しやすい 構築環境に依存しない 単位の大きさが均一 計測対象によるばらつきが比較的少ない 統計分析の対象に適している 計測ルールが普及している 他社と生産性 品質が比較できる 計測スキルを継承できる SLOC 法などに比べ 画面数 要求数などに比べ 独自に策定された計測法に比べ
第 2 部ファンクションポイントの計測
2. ファンクションポイントの計測 なにを機能と考えるか? アプリケーション B 情報 B A の検索 A の登録 2 情報の出し入れ トランザクションファンクション 外部入力 (EI) 外部出力 (EO) 外部照会 (EQ) 参照 アプリケーション A 情報 A 1 情報 データファンクション 内部論理ファイル (ILF) 外部インタフェースファイル (EIF) A の帳票出力 A のデータ渡し アプリケーション C
2. ファンクションポイントの計測 検証 : スマホアプリの機能を計測してみる 事例 : リマインダー (iphone や ipad に標準でついている 備忘録 アプリ ) GPS とも連動 タスクの詳細内容を登録する 指定された日時や場所でアラームを表示する 忘れてはいけないタスクを一覧にして チェックする
2. ファンクションポイントの計測 1 どんな情報があるか? 日付情報 (EIF) 5FP タスク情報 (ILF) 7FP 位置情報 (EIF) 5FP 情報 ( データ ) は 17FP
2. ファンクションポイントの計測 2 どんな情報の出し入れがあるか? タスク一覧の表示 (EQ) 日別タスク一覧の表示 (EQ) タスクの追加 (EI) タスクの完了 (EI) タスクの削除 (EI) 合計 15 FP 地図の参照 (EQ) 3 FP タスクの変更 (EI) 日付の参照 (EQ) 合計 6 FP リマインド (EQ) スヌーズ (EI) 合計 6 FP 情報の出し入れ ( トランザクション ) は 30FP 総ファンクション規模は 17+30=47FP
2. ファンクションポイントの計測 他のアプリと比べてみた 47 FP 106 FP 77 FP リマインダー シンプルな備忘録アプリ リフィル スケジュールを登録して 月 週 日毎に管理 リマインダー機能も付属 スリープサイクル 加速度 傾きセンサーを使って寝返りを検知 睡眠の深さをグラフ化する
2. ファンクションポイントの計測 やってみてわかったこと アプリ名称機能概要データ FP トラン FP 合計 FP リマインダーシンプルな備忘録アプリ 17 30 47 リフィル スケジュールを登録して 月 週 日毎に管理 リマインダー機能も付属 45 61 106 スリープサイクル加速度 傾きセンサーを使って寝返りを検知 睡眠の深さをグラフ化する 12 65 77 1. 利用者目線で計測できる 2. 演算ロジックの複雑さは反映されない 特にビジネス系アプリケーションの規模把握に有効
第 3 部ファンクションポイントの活用
3. ファンクションポイントの活用 ファンクションポイントの活用領域 主にベンダーの領域 スコープ管理 工数管理 品質管理 見積り 見積り評価 ソフトウェア機能規模 (FP) ベンダー評価 投資効果評価 ソフトウェア資産管理 主にユーザーの領域 フ ロシ ェクト評価 運用評価
3. ファンクションポイントの活用 ファンクションポイントの活用 (1) 開発工数の見積り ソフトウェア開発費用見積りまでの全体像 ユーザ要件 機能要件 <FP 計測可 > 機能要件 <FP 計測不適 > 非機能要件 品質要件 技術要件 FP を見積る FP 法の活用 IFPUG 法 NESMA 法等 作業内容から作業量を見積る ( 注 1) FP 作業量 LOC, ヘ ーシ 数等 工数と期間を見積る ( 注 2) 蓄積データの活用自社の蓄積データ ISBSG のデータ文献 書籍のデータ 見積りモデルの活用 COCOMOⅡ Putnum モデル等 作業ごとの WBS の活用 開発工数 開発期間 費用を見積る 費用科目ごとに見積もって積み上げる 人件費ソフトウェア費用ハードウェア費用リスク対応費瑕疵対応費その他諸経費等 ( 注 1) 直接 工数を見積る場合もある ( 注 2) 開発工数を見積るとき 通常 開発期間も併せて見積り 双方の妥当性検討と調整をおこなう 開発費用
3. ファンクションポイントの活用 ファンクションポイントの活用 (2) スコープマネジメント ソフトウェア開発の不確実性 開発の進行に伴いスコープが変動する 必要な開発リソース ( 工数など ) の量を決められない ユーザからベンダに要求が正しく伝わらない < ソフトウェア開発における不確実性のコーン ( 円錐 )> 類似システム 見積のばらつき 要求数 ユースケース数 ファンクションホ イント数 コート ライン数 テストケース数 システム化の方向性 わずかな情報 / 高いリスク システム化計画 SEC 発行小冊子 ソフトウェア開発見積りガイドブック より 情報の充実 / 低いリスク 要件定義設計製造時間
3. ファンクションポイントの活用 ファンクションポイントの活用 (3) 生産性 品質の評価 ベンチマークの作成 供給のイメージ 支援活動 組織活動 ベンチマーキングリボジトリ リポジトリ管理 道具立てを整える ベンチマーク作成 分析 精査 収集蓄積 ツール 手法 ガイド 内部ベンチマーク プロジェクト活動 外部ベンチマーク 経済調査会分析 SEC データ白書 JUAS SW メトリクス データ提供プロジェクトの測定値 見積 計画 実施 終了 データ活用 データ活用 データ活用 データ活用 ベンチマーク : 特定のITプロジェクトの性能が 組織内外のITプロジェクトと比較してどのレベルに位置するかを評価するため 比較対象として利用する組織内外の参照情報 ( 基準値 ) (ISO/IEC29155-1の定義を仮訳)
3. ファンクションポイントの活用 ファンクションポイントの活用 (4) 価格指標 供給側 合意形成 需要側 価格 工数期間 原価 リスクコスト構造 機能規模 価値利用者品質満足 投資効果 供給コスト ( 原価 ) と需要価値のバランスのもとに価格相場が形成される 機能規模は 原価と価値の双方と相関があるため 合意形成のベースとなる
3. ファンクションポイントの活用 ファンクションポイントの活用 (4) 価格指標 1 供給側は 価格と機能規模 ( ファンクションポイント ) を併記して見積りを提示する 2 発注側は 統計情報や自社のベンチマークより価格の妥当性を評価する 3 投資効果など ITサービスの価値を考慮する お見積書価格 123,456,000- 機能要件 1. 2. ~ 1,234 ファンクションポイント (IFPUG 法 ) 価格の合意形成 投資効果 性能要件 品質要件 1 開発体制 プロジェクト条件 統計情報ヘ ンチマーク
第 4 部ファンクションポイントの導入
4. ファンクションポイントの導入 ファンクションポイントの導入プロセス STEP1 STEP2 STEP3 STEP4 目標の設定 基準の策定 計測実施実績の蓄積 実績分析継続的改善 目的 効果 適用範囲 スケジュール 推進体制 ガイドラインの制定 基準の策定 ルールの周知 教育 モニタリング 計測結果の記録 定常的な計測 フィードバック プロファイリング 統計分析 特異プロジェクトの分析 改善策の提起
まとめ 測定すると生産性 品質が向上するか? No! 測定せずに生産性 品質を向上することができるか? No! 生産性 品質の向上には目標設定が第一 目標は社内外で客観的に比較できる尺度が良い 目標を達成するために打つ施策が 生産性や品質を向上させる 計測できないものは 管理できない
ありがとうございました