測ることからすべてが始まる

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