使えるメトリクス! 「予測に基づく定量的管理の実現」 内容 1. データ解析と測定プロセスモデル 2. VBの生産性は高いか? 3. ワークミックス問題 4. 層別とバラツキの関係 5. ソフトウェアの規模と生産性の関係は? 6. 生産性要因とモデル化 7. プロセス実績モデル(PPM) 8. 作業効率評価モデル Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 1 自己紹介 氏名: 梶山昌之 略歴: 1981年 日本IBMの製品保証部門に配属。ATMなどの製品保証を担当。また、ソフトウ ェア信頼性の研究を行い習熟S字モデルを発表。 1988年 光磁気ディスクドライブの開発製造部門に配属。品質管理および生産管理に 従事。マレーシアにおいてドライブの製造、テストラインを構築。品質と生産性の向上 に取り組む。 2002年 サービス部門に異動しメトリクス共通化のため多くの企業のデータを分析。FP による計測データの分析のため、某大手運輸系企業に出向し、IT の可視化によるお 客様満足度の向上に取り組む。 2007年 サービス部門にてIT 計数管理のフレームワークを展開。またCMMI L5の取得 に向けて各種のプロジェクト実績モデル(PPM)を開発。 2010年 某大手電力系企業にて、システム開発プロジェクトの可視化・効率化・品質向 上を支援。 2011年 某大手銀行にてFPおよびSLOCベースの見積りシステムを構築 2012年 株式会社DSR取締役副社長。プロフェッショナルコスト評価士(PCEA)の資 格を取得しプロジェクトの定量的管理およびコスト見積りを支援。 2014年 JFPUG役員およびメトリクス活用セミナー講師として活動中。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 2 衛星の打ち上げコスト予測 従って、200kgの衛星 の打ち上げコストは70 億円です。 * 数値は概念の説明用であり実際の値ではありません。 この判断で よいのだろうか? Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 3 データ解析と統計解析 データ解析は術である データ 正しいデータ 解析技術 数理統計学 適切な変数 固有技術 ITメトリクスの場合、 プロジェクトの特性、 FP、工数、欠陥数などの性質 統計解析は学である Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 4 ソフトウェア開発プロセス改善の枠組みと関連規格 1993 1998 2000 SPICE CMM ISO/IEC 15504 (SPA) CMMI/MA PSM CMMI 2002 ISO/IEC 15939 2005 2014 ISO/IEC 15504 CMMI PSM ISO/IEC 15939 CMMI/MA (JIS X 0141) SPICE: Software Process Improvement and Capability dEtermination ISO/IEC 15504: Software engineering - Process assessment CMMI: Capability Maturity Model Integration SPA: Software Process Assessment PSM: Practical Software Measurement ISO/IEC 15939: Software Measurement Process Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 5 JIS X 0141 測定プロセスモデル 測定に対する要求事項 技術プロセス及び 管理プロセス 情報ニーズ 測定利用者のフィードバック 情報成果物 測定プロセスの中核 測定に対する コミットメント (確約)の確立 及び保持 コミットメント 測定プロセス の計画 計画内容 測定プロセス の遂行 測定経験データベース JIS X 0141の適用範囲 測定の評価 情報成果物と 効果を測定する ための測定量 情報成果物と 評価結果 改善活動 (JIS X 0141から引用) Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 6 生産性の定義 一般に生産性は仕事の効率を表す量である。 生産性で投入量を予測する 成果量 生産性 = 投入量 (予測) 成果量 投入量 = 生産性 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. 【例】 燃費(リッター当たりの走行距離) 【例】 目的地までの距離と燃費から必要 なガソリンの量を予測する。 Page 7 VBの生産性は高いか? VBはCOBOLやJava に比べて生産性が 高い言語です。 本当? Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 8 FP生産性と SLOC生産性 FP生産性とSLOC生産性(新規開発) 言語 COBOL(*1) Java VB(*2) (*2)÷(*1) FP生産性 [FP/人月] 7.7 13.4 15.8 2.1 SLOC生産性 [SLOC/人時] 5.6 5.9 5.8 1.0 FP生産性とSLOC生産性の 特性は異なる。 従って、FPとSLOCを組み 合わせて予測する方法も 考えられる。 (IPA/SEC ソフトウェア開発データ白書 2012-2013 より引用) FP生産性 = FP 工数 SLOC SLOC生産性 = 工数 【要点】 1. SLOC生産性は言語による生産性の差がないのに対し、FP生産性は言語による差が大きい。 2. FP生産性はプロジェクトの機能的な面のみを表す生産性である。 3. SLOC生産性は、機能的な面のみではなく、品質要件、技術要件も反映した生産性である。 4. FP生産性とSLOC生産性は特性の異なる量である。そのため工数を予測する方法も異なる。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 9 生産性が下がっている! 生産性年次推移 30,000 8.0 25,000 7.5 20,000 15,000 7.0 10,000 FP 生産性 2006年に生産性向上施 策を実施しました。 その後、生産性は年々低 下しています。施策は誤り であったと考えれられます。 6.5 5,000 0 6.0 2005 2006 2007 2008 本当? 10 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 10 生産性が下がっている! A部門生産性年次推移 20,000 15,000 10,000 5,000 0 2005 2006 8,000 2007 4.8 4.6 4.4 FP 4.2 生産性 4.0 3.8 3.6 B部門生産性年次推移 2008 11.5 11.0 6,000 10.5 4,000 10.0 2,000 C部門生産性年次推移 0 8,000 7,000 6,000 5,000 4,000 3,000 2,000 1,000 0 すべての部門で生産性が 向上しています。 生産性向上施策の効果が 現れているといえます。 2005 2006 25.0 2007 FP 生産性 9.5 9.0 2008 20.0 15.0 10.0 FP 生産性 5.0 0.0 2005 2006 2007 2008 11 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 11 生産性が下がっている! 各部門の生産性 は向上している。 従って、全社の 生産性も向上し ているはず。 生産性向上施策は正 しかったのか!? 12 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 12 生産性は規模が大きいほど低下する! 生産性は規模が大きい ほど低下します。規模 の増加に伴い、コミュ ニケーションのオー バーヘッドが増大する ためです。 規模別生産性 25.0 20.0 生 15.0 産 性 10.0 5.0 0.0 小規模 規模 小規模 中規模 大規模 区分(MM) 工数<3.0 3.0≦工数<12.0 工数≧12.0 合 計 中規模 件数 378 685 358 1,421 FP 16,702 69,175 140,340 226,217 大規模 工数 802 4,183 13,144 18,129 生産性 20.8 16.5 10.7 12.5 * 注: 実データを元にして作成していますが、数値は変えています。 13 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 13 生産性は規模が大きいほど低下する! 規模別生産性 16.0 14.0 生産性は規模が大きいほど、 向上します。大規模ソフト ウェアでは、多くの機能を効 率的に開発できるためです。 12.0 生 10.0 産 8.0 性 6.0 4.0 2.0 0.0 小規模 規模 小規模 中規模 大規模 区分 FP<30 30≦FP<155 FP≧155 合 計 中規模 件数 338 722 361 1,421 FP 5,506 53,401 167,310 226,217 大規模 工数 1,187 5,647 11,295 18,129 生産性 4.6 9.5 14.8 12.5 * 注: 実データを元にして作成していますが、数値は変えています。 14 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 14 ソフトウェアの規模と生産性の関係は? 開発する機能が多 いほど工数が大き くなるのは当然。 従って、大規模 になるほど生産 性も低いはず。 どちらを信じれ ばよいのか! 15 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 15 生産性分布 100 90 80 70 度数 60 50 40 30 20 10 0 生産性 1. 生産性裾長い分布 になっている。そのため低生産性または高生産性の基準を明確にすることができない. 2. 生産性の異常値を検出するための基準を決定することができない. Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 16 貯蓄現在高階級別世帯分布 (総務省統計局HPより引用) 貯蓄現在高は右裾が長い歪んだ分布となる。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 17 生産性の分布と性質 生産性の対数は正規分布に従う性質がある。 正規分布として扱うことにより、統計解析の知見を活用できる。 生産性分布 LN(生産性)分布 正規分布 45 100 40 90 80 LN(10)=2.3 35 10 70 30 度数 度数 60 50 25 20 40 15 30 10 20 5 10 0 0 生産性 FP生産性分布 (左: 直値、右: 対数) 【計算例】 【分析結果】 FP生産性10 [FP/人月] の自然対数は LN(10)=2.3 である。生産性の自然対数 LN(生産性) はどのような 分布となるだろうか? 1. 生産性(FP)は右裾が長い歪んだ分布である。 2. 生産性(FP)の対数はベル型の分布となり、正規分 布に従うことが確認されている。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 18 層別とバラツキの関係 言語 COBOL C VB Java 全体 FP生産性 [FP/人月] 7.7 10.4 15.8 13.4 12.8 言語を区分しない全体の平均生産性 COBOL生産性 COBOL生産性は 平均より低い。 言語で区分しないと 生産性は大きくばらつく 7.7 7.7 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. 12.815.0 Page 19 層別とバラツキの関係 言語 COBOL C VB Java 全体 FP生産性 [FP/人月] 7.7 10.4 15.8 13.4 12.8 言語を区分しない全体の平均生産性 VB生産性 COBOL生産性 VB生産性は 平均より高い。 COBOL生産性は 平均より低い。 言語で区分しないと 生産性は大きくばらつく 7.7 7.7 12.815.0 15.8 特性で層別するとバラツキが低減し予測の精度が向上する。 特性による生産性の差は中央値の差として捉えることができる。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 20 回帰の意味は? 子供は親と同じくらいの 身長になるのだろうか 直線 Y=X 子 の 身 長 Y 親の身長 X Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 21 回帰の意味は? 子は親と同じくらいの 身長になるのだろうか 直線 Y=X あてはめた直線 子 の 身 長 Y 背の高い親から生まれる子供 は親よりも背が低く、背の低 い親から生まれる子供は親よ り背が高くなる傾向がある。 親の身長 X ゴールトンは親と子の身長を調べ、生まれる子供の身長は平均に近づくことを示し、 このことを「平均への回帰現象」と呼んだ。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 22 FPと工数の散布図 ~A社事例~ 工数 FP vs 工数 FP 全体を表示すると小規模プロジェクトの部分はプロットが集中し分布状況を把握できない。 また、外れ値に見える大規模プロジェクトを排除しても同じ形が現れる。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 23 FPと工数の散布図 ~両対数散布図~ 両対数散布図 FP vs 工数 工数 工数 散布図 FP vs 工数 FP FP 両対数散布図にプロジェクトデータをプロットすると分布状況を把握できる。 対数を取った値に意味はない。変数変換は関係性を理解するための手段であると心得ること。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 24 両対数散布図 工数 生産性区分図 FP FPおよび工数は対数を取ることで統計的規則性を確認することができる。 この例では、ある規模以上の工数を持つプロジェクトのみをFP測定対象としている。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 25 生産性区分図 生産性区分図 -3σ -2σ -σ 低生産性 +σ +2σ 工数 +3σ 高生産性 FP 両対数散布図に生産性を区分する線をプロットすると生産性の分布パターンを識別しやすくなる。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 26 生産性区分図と回帰直線 生産性区分図 -3σ -2σ -σ 低生産性 +σ +2σ 工数 +3σ 高生産性 FP 大規模ほど生産性が高くなると結論するかもしれない。(平均への回帰のパラドックス) Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 27 ソフトウェアの規模と生産性の関係は? 生産性区分図 FPの工数に対する回帰 工数 工数のFPに対する回帰 FP 28 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 28 それでも、生産性は規模が大きいほど低下する! 工数 生産性区分図 FP 29 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 29 ハイパーキューブ プラットフォームの次元 メインフレーム M1 M 2 M3 Web C/S W1 W2 C1 C2 期間の次元 2Q 2Q 1Q 3月 2月 1月 1 2 3 4 5 6 MF Web C/S 領域A 領域B 業務領域の次元 領域C 領域A A1 A2 A3 領域B 領域C B1 C1 B2 C2 任意の次元の任意の階層の組み合わせでデータを集計 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 30 2要因カテゴリー別両対数散布図の活用 言語: Java 言語: その他 言語: C 工数 言語: 言語:ASM COBOL 2要因カテゴリー別散布図 0 1 2 領域:A1 3 4 0 1 2 領域:A2 3 4 0 1 2 3 4 領域:A3 FP 1. データは多次元であるため、単純な層別では正しく実態を説明できない。 2. 要因を組み合わせて散布図を作成することにより密(または過疎)となる要素を発見する。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 31 生産性要因とモデル化 1/2 機能規模 (FP) および様々な 手段や環境 (要因) が工数に 影響する。 交絡 言語 OS 業務 特性 開発 環境 案件 特性 FP 工数 未知 領域 スキル 1. 要因間の関係を把握し FP と工数の関係を最もよく説明するモデルを作成する。 2. 要因間に交絡がある場合は要因の効果が分離できない場合がある。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 32 生産性要因とモデル化 2/2 アプリケーション 開発 環境 交絡 OS 言語 案件 特性 FP 業務 特性 工数 領域 未知 スキル 1. この図ではアプリケーションが、領域・言語・OS、業務特性、その他の特性に対応している場合を示している。 2. アプリケーションを中心としたグループ化を行うことにより相互作用の影響を分離せずに分析を進めることができる。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 33 アプリケーション別散布図と回帰分析 アプリケーション別散布図 No. No.2 No.3 No.4 No.5 No.6 No.7 No.8 No.9 工数 No.1 1 2 3 4 5 6 7 8 9 決定 係数 14% 69% 75% 86% 84% 84% 69% 20% 71% 回帰式 a 0.833 0.216 0.165 0.395 0.177 0.183 0.150 0.577 0.238 b 0.379 0.807 0.982 0.645 0.724 0.926 0.845 0.475 0.824 FP 1. アプリケーションによる層別は非機能要件も反映し、FPと工数の相関が高くなる場合が多い。 2. 分布パターンを観察し回帰式が適用可能かどうかを検討する。 3. 自由度調整済決定係数 50%以上を回帰式採用の基準とする。 (決定係数: FP で工数を説明できる割合) Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 34 分布パターンの検討と回帰分析適用 生産性区分図と回帰直線 工数 回帰式による推定 幾何平均による推定 FP パターン認識による検討の結果、小規模(60FP未満)では幾何平均による推定を行い、 中大規模(60FP以上)では回帰分析による推定を行う方式が考えられる。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 35 FP氷山モデル 海面上に浮かぶ氷山の大きさから海面下の氷 全体の大きさを推定できることに価値がある。 プロジェクトが小さい場合、 機能量の大きさはばらつく 計測容易なFPで 全体を推定できる FPで説明できる部分 は氷山の一部 大きくなれば一定 の割合になる 機能要件 品質要件 技術要件 客観的 測定容易 FP 測定対象 主観的 測定困難 FP氷山モデル Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 36 ITプロジェクト実績ベンチマーキング 外部 リポジトリ 凡例: 外部 べンチマーク データ ユーティリティ データを 提供する リポジトリを 管理する プロジェクト を測定する 支援活動 道具 中核活動 ベンチマーキング リポジトリ (蓄積データ) ベンチマーク (参照値)を 作成する 内部 べンチマーク (参照値) ツール 道具立てを 整える プロジェクトの 測定量 ベンチマー キングを 実施する ベンチマーキ ングの結果を 活用する 手法 ガイド ベンチマークは目標とし て参照する基準値です。 例えば、健康のために体 重を管理するには過去の 計測値を元に基準値 (ベースライン)を設定し、 測定した体重と比較しま すが、標準体重(ベンチ マーク)と比較し評価する ことも必要です。 * SO/IEC 29155 FCD (ITプロジェクト実績ベンチマー キング)を参照 37 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 37 プロセス実績モデル 外部 リポジトリ 予測の精度の向上を実績データ の蓄積と分析で達成 外部 べンチマーク データを 提供する リポジトリを 管理する ベンチマーキング プロジェクト リポジトリ 実績DB (蓄積データ) プロジェクト を測定する プロジェクトの 測定量 FPまたはFP近似値 を計測 FP、プロジェクト特性、 実績値を収集、記録 ベンチマーク ベースライン分析内部 (参照値)を * 層別分析 べンチマーク 作成する (参照値) * 予測モデルの係数算出 ツール 道具立てを 整える パーフォーマ ンスを予測 する 予測の結果を 活用する 手法 ガイド Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. 工数、コスト、欠陥数、 工期を予測し、プロ ジェクトの定量的管 理に活用 注: この図はISO/IEC 29155 FCD (ITプロジェクト実績 ベンチマーキング) を参照し、定量的管理への適用を表 現した図です。 Page 38 プロセス実績モデル(PPM) プロジェクト 計画時 進捗の モ ニタ リ ング PPM-1 PPM-1 工数見積り PPM-3 PPM-3 品 質 の モ ニタ リ ング 予測欠陥数を 計画時の見積 りに活用 ソリューション・アウトライン ~ マイクロ設計 構築 展開 (開発/統合テスト/システム・テスト) (システム統合テスト) 保守 PPM-2 PPM-2 EAC EAC ≦ ≦ BAC内の完了可能性を予測 BAC内の完了可能性を予測 (月次にてトラッキング) (月次にてトラッキング) PPM-3 PPM-3 各テスト局面の欠陥検出数予測、及びライフサイクルを通じた欠陥検出数を予測 各テスト局面の欠陥検出数予測、及びライフサイクルを通じた欠陥検出数を予測 PPM-4 PPM-4 次局面以降の混入欠陥数を予測 次局面以降の混入欠陥数を予測 (各局面終了時に実施) (各局面終了時に実施) PPM-7 PPM-7 統合テストからシステム統合テスト局面の 統合テストからシステム統合テスト局面の 各テストの欠陥密度を予測 各テストの欠陥密度を予測 完了時の累積欠陥数を予測 完了時の累積欠陥数を予測 PPM-5&6 PPM-5&6 テスト完了時の テスト完了時の 推定欠陥除去率を 推定欠陥除去率を 予測 予測 PPM-M1 PPM-M1 問題発生数 問題発生数 を予測 を予測 PPM-M2 PPM-M2 障害発生率 障害発生率 MTTF/信頼度を MTTF/信頼度を 予測 予測 (注) PPM: Process Performance Model プロジェクトの実績データをもとに工数、品質、工期、リスクの予測モデルを構築 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 39 FP生産性は仕事の効率を表すか? FP生産性は直ちに仕事の効率であるとは言えない。 FP生産性のみでは工数を予測できない。 FP FP生産性 = 工数 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 40 作業効率評価モデル 工数モデルによれば、ベンチマークおよび自社実績によるベースラインに基づ き、そのプロジェクトの特性を反映した「あるべき工数」を算出できる。この工数 は過去の実績を反映した標準的工数であるため「標準工数」と呼ぶこともできる。 実績または効率はこの標準工数と比較して評価されるべきである。 作業効率 標準工数 実績工数 標準工数 =A 作業効率による生産性の管理は、工数モデルの精緻化に伴い、柔軟に工数の説 明要因を追加できるため、FP生産性による管理より柔軟性がある。 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 41 まとめ 役立つ情報成果物を提供することが成功のポイント ワークミックス問題に配慮すること 回帰分析には平均へ回帰があることを知ること 両対数散布図で関係式(CER)を作成 生産性区分図を用いて生産性を明確化 2要因カテゴリー別散布図は、多変量の層別に有効 アプリケーションよるグループ化で交絡の問題を回避 定性的要因も反映し予測モデルを構築 生産性は作業効率で計測 ©DSR Inc, 2013 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 42 参考資料 (発表年度順) [1] Capers Jones著 鶴保征城 富野 壽 監訳,ソフトウェア開発の定量化手法第2版,共立出版,ISBN4-320-09722-X、P206-207, 1998 [2] John McGarry et Al. 著, 古川恒夫, 富野壽 監訳: “実践的ソフトウェア測定,”共立出版, ISBN4-320-09741-6, pp. 120-135, 2004. [3] 金子英一, 梶山昌之: “アプリケーション・マネジメント・サービス(AMS)における開発生産性評価プロセスの確立,” IBM ProVISION Winter 2006 No. 48, pp. 100-107, 2006. https://www-304.ibm.com/connections/blogs/ProVISION46_50/resource/no48/48_ppr4.pdf?lang=ja [4] 金子英一, 梶山昌之: “プロジェクト初期段階のFPによる効果的見積りモデル構築手法の提案,” 2007年度PM学会春季研究発表大 会予稿集, pp. 116-121, 2007. http://ci.nii.ac.jp/els/110007602625.pdf?id=ART0009420557&type=pdf&lang=jp&host=cinii&order_no=&ppv_type=0&lang_sw=&no=141247 1269&cp= [5] JIS X 0141-2009 システム及びソフトウェア技術−測定プロセス http://kikakurui.com/x0/X0141-2009-01.html [6] 梶山昌之, 合田英二, 千野智子: “ソフトウェア開発プロジェクトの計数管理フレームワークによる定量的管理,” プロジェクトマネジメ ント学会誌 Vol.13 No.5, pp. 3-8, 2011. http://ci.nii.ac.jp/els/110008897387.pdf?id=ART0009854808&type=pdf&lang=jp&host=cinii&order_no=&ppv_type=0&lang_sw=&no=141247 1411&cp= [7] 佐藤浩明: “201306_定量的マネジメントを目指したメトリクス分析の実践” ユニシス研究会 BITS 2013 U-5 発表資料, 2013. https://evesys.unisys.co.jp/public/file/document/download/70 Copyright (C) DSR Inc. 2012-2014 All Rights Reserved. Page 43
© Copyright 2024 ExpyDoc