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