定量管理のススメ ~ エンタープライズシステムでの定量管理の実践 ~ 2016 年 7 月 8 日株式会社 NTT データ山中啓之 Copyright 2016 NTT DATA Corporation
2 自己紹介 氏名山中啓之 所属株式会社 NTT データ技術革新統括本部システム技術本部生産技術部 略歴 1998 年株式会社 NTT データ入社 法人分野のシステム開発 自社パッケージの企画 開発 データ分析コンサルティング業務に従事する 2012 年より全社共通部門にてシステム開発の見積もりと定量データを活用したプロジェクトマネジメントの高度化を推進する 高難度案件見積もりの第三者検証の仕組み整備 システム開発プロジェクトのベンチマークデータの提供を行った 現在はソフトウェア開発自動化の推進業務に従事
3 Q: 定量的プロジェクト管理の効果は? 定量的プロジェクト管理 を実施している 企業のプロジェクト成功率は 実施していない企業のプロジェクト成功率の約倍である 出典 : 日経コンピュータ 2008 年 12 月 1 日号 pp.36-49 http://itpro.nikkeibp.co.jp/article/column/20090128/323651/ A) 1.5 倍 B) 2 倍 C) 5 倍
A: 定量的プロジェクト管理の効果は? 定量的プロジェクト管理 を実施している 企業のプロジェクト成功率は 実施していない 企業のプロジェクト成功率の約 2 倍である 出典 : 日経コンピュータ 2008 年 12 月 1 日号 pp.36-49 http://itpro.nikkeibp.co.jp/article/column/20090128/323651/ A) 1.5 倍 B) 2 倍 C) 5 倍 Copyright 2016 NTT DATA Corporation 4
5 Q: 定量データ使ってますか? プロジェクトデータを収集している 76 % プロジェクトデータを活用している % 出典 :SEC セミナーアンケート A) 約 70% B) 約 50% C) 約 30%
6 A: 定量データ使ってますか? プロジェクトデータを収集している 76 % プロジェクトデータを活用している % 出典 :SEC セミナーアンケート 53 A) 約 70% B) 約 50% C) 約 30%
定量管理の目的 Copyright 2016 NTT DATA Corporation 7
8 なぜ定量管理をするのか システム開発プロジェクトを定量管理する目的は大きく分けると 2 つである 1 客観的な基準 ( ものさし ) に基づいて意思決定を行うことができるようにするため ( 例 ) 見積もり 品質評価 2 組織やプロジェクトのプロセス改善を行うため ( 例 ) 開発 管理プロセスの改善活動
9 なぜ 定量的 に行う必要があるのか? 1 定性的だと個人の主観やばらつきが生じてしまう ( 例 ) 品質は問題ありません 進捗は少し遅れていますが リカバリ可能です 2 プロジェクトマネージャ (PM) が全体を俯瞰するため ( 例 ) バグ票の 1 件 1 件を見ている時間はない
ソフトウェア開発プロセスと定量データ 組織とプロジェクトの視点がある 全社組織 収集 蓄積 全社プロジェクトデータ DWH 情報提供改善指示 支援 分析 監視 収集 蓄積 指標値 ツール ガイド チェック プロジェクト プロジェクトの測定値 プロジェクトの測定値 立上げ 計画 実行 監視 コントロール 終結 プロジェクトの測定値 収集 蓄積 プロジェクト管理ツール Copyright 2016 NTT DATA Corporation 10
11 プロジェクト計画策定に使う プロジェクト計画時に 主に QCD の見積り 目標設定するために定量データを使う 全社組織 社外指標値 (IPA/SE C データ白書等 ) 情報提供改善指示 支援 指標値 プロジェクト 立上げ 計画 ツール ガイド チェック 実行 分析 監視 監視 コントロール 収集 蓄積 過去実績値に基づく計画策定 目標設定プロジェクトの測定値 ベンチマークデータを使った妥当性確認 プロジェクトの測定値 終結
12 開発プロジェクトの計画作業 要件から見積る 規模見積り リソースヒストグラム 過去実績を踏まえた生産性を設定し見積る ( 規模 生産性 ) 工数見積り 期間見積り リソースヒストグラムや体制を考慮 要員見積り PM 共通グループリーダ 1 名メンバ 4 名 α 業務サフ ク ルーフ リーダ 1 名メンバ 4 名 β 業務サフ ク ルーフ リーダ 1 名メンバ 4 名 基盤グループリーダ 1 名メンバ 3 名 マニュアルグループリーダ 1 名 原価見積り 業務グループ オフショアチームリーダ 1 名メンバ 9 名 体制図
13 NTT データの取り組み 1 ミツメル 開発データ ( 過去実績値 ) のビューワ 品質 生産性に関するデータをグラフで表示する 規模や開発言語などを指定することで ユーザが自由にデータを検索できる 当社の過去プロジェクト実績データ
NTT データの取り組み 2ESTIMANCER R 規模, プロジェクト特性, 要求品質 非機能要求, リスクなどを入力することで 工数と工期を見積るツール AP/ 基盤の工数 工期を予測しリソース山積み表で比較 入力パラメータ 規模見積り結果 工数見積りツール ESTIMANCER 要員数 プロジェクト特性 要求品質 非機能要求 入力 統計分析 出力 工期 自プロジェクトの生産性計画値を類似案件と比較 リスク 当社の過去プロジェクト実績データ 工数 Copyright 2016 NTT DATA Corporation 規模 14
15 プロジェクト実行管理に使う プロジェクト実行中に プロジェクト実行管理 ( 主に QCD の評価 分析 ) のために定量データを使う 全社組織 情報提供改善指示 支援 指標値 ツール ガイド チェック 品質評価 分析 監視収集 蓄積 予実乖離分析に基づく問題要因 の特定や計画の見直し 問題の早期発見 プロジェクト プロジェクトの測定値 プロジェクトの測定値 立上げ 計画 実行 監視 コントロール 終結
16 ( 例 ) バグ密度を用いた品質評価 バグ全体 業務毎 機能毎の傾向を見る 特異な傾向があるものを定性的に分析することで 品質の弱点を見つけ その真の原因を見つけだし 対策を打つ 高い原因を分析 品質水準値 ( 指標値 ) A 業務 B 業務 管理上限 =10.6 目標値 = 7.3 管理下限 =3.9 定性的に分析 真の原因 を見つける 対策実施 X 業務 低い原因を分析
17 NTT データの取り組み 3PM ワークベンチ ( 社内呼称 ) NTT データの全社標準プロジェクト管理ツール PM/GL 進捗管理機能 ガントチャート 品質管理機能 T 型マトリックス 問題課題管理機能 問題課題管理台帳 各種進捗レポート MSProject で計画投入 リスケジュール 登録された作業実績からレポート生成 各種品質レポート Webで品質計画投入 問題記述票 故障処理票をもとに各種品質レポートを生成 問題課題のエスカレーションが可能 問題課題から各種レポート生成 GM 進捗実績登録機能 着手 進捗チケット 問題記述票 故障処理票回覧機能 着手 問題記述票故障処理票 問題課題登録機能 着手 問題課題票 状況投入 状況投入 状況投入 TODO により自分の作業を確認 Web から進捗チケットに実績登録 Web から問題記述票 故障処理票を起票 問題記述票 故障処理票の持回りが可能 Web から問題課題票を起票 問題課題票の持回りが可能 進捗管理 品質管理等のプロジェクト管理業務を総合的にサポート定量化した各種レポートでプロジェクトの状況を把握できる
18 プロジェクト振り返りに使う プロジェクト振り返り時に 自プロジェクトの評価や次回のプロジェクトに向けた改善案の立案 指標値見直しに使う 全社組織 情報提供改善指示 支援 指標値 プロジェクト プロジェクトの振り返り分析 監視 ( 自分たちの実力の評価 ) ツール 次回プロジェクトに向けたガイドチェックプロセス改善 プロジェクトの測定値 収集 蓄積 プロジェクトの測定値 立上げ 計画 実行 監視 コントロール 終結
19 組織改善に使う 組織横断で プロセス改善を行う 第三者がプロジェクト 組織のモニタリングを行うために使う 全社組織 情報提供改善指示 支援 分析 監視 収集 蓄積 指標値 立上げ 監視 実行計画プロジェクト 組織の状況を定量的に把コントロール ツール ガイド チェック プロジェクト プロジェクトの測定値 組織のプロセス改善 ( 例 : 開発標準の見直し ) 握し経営判断を行う ( 例 : 問題プロジェクトの早期発見など ) プロジェクトの測定値 終結
測定項目 メトリクスとデータ収集 Copyright 2016 NTT DATA Corporation 20
21 測定項目 予定 ( 計画 ) と実績を測定する 分類 規模 代表的な測定項目 ソースコード行数 (SLOC) ファンクションポイント (FP) 画面数 帳票数 バッチ本数 設計書ページ数 論理サーバ台数 工数 開発工数 ( 人月 人時 ) コスト 所要コスト 工期 開発期間 ( 日 ) 品質 バグ件数 テストケース数 測れないものはマネジメントできない トム デマルコ氏ピーター ドラッカー氏らの言で有名
22 メトリクス プロジェクト管理を行う際には 測定項目を組み合わせたメトリクスを利用し QCD の管理を行う メトリクス例 生産能率 (FP/ 人月 ) 生産コスト (FP/ 円 ) テスト密度 ( 件 /KS) 不具合密度 ( 件 /KS) 進捗率 定義ファンクションポイント (FP)/ 開発工数ファンクションポイント (FP)/ 所要コストテストケース数 / ソースコード行数 (SLOC) 不具合件数 / ソースコード行数 (SLOC) 実施済テストケース / 総テストケース数
23 プロセスメトリクス / プロダクトメトリクス 分類 プロセスメトリクス プロダクトメトリクス 特徴 アウトプットとプロセスの状態の量的関係開発プロセスの作業 手順や作業に関与した人 組織を評価するのに適する ( 例 ) 生産能率 アウトプットの量的関係製品を評価するのに適する ( 例 ) 不具合密度 プロセスメトリクス インプット 開発プロセス アウトプット 人 組織が関与 プロダクトメトリクス
24 ソフトウェア規模の尺度 代表的な規模尺度には FP と SLOC(STEP) がある 計測対象 FP 機能の量 ( 外部仕様 ) 開発言語への依存なしあり 国際 国内標準の有無あり (IFPUG 法など ) なし パッケージ 自動化を利用した開発への適用 開発形態によらず見積り 生産性を評価可能 処理ロジックの複雑さ表せない表せる SLOC(STEP) ソースコード行数 ( 内部仕様 ) コーディング無し案件の見積り 生産性の評価は難しい メトリクスには それぞれ特徴がある 目的 (Goal) を明確にして 何を測るかを定めることが重要
参考 日本ファンクションポイントユーザ会 ファンクションポイント (FP) については 日本ファンクションポイントユーザ会が普及展開 サービス提供を行っています ミッション ソフトウェア定量化の推進を通じてソフトウェア市場の発展に貢献する 目標 ソフトウェア計測技術におけるセンターオブエクセレンスとして 以下を目標とする 見積り精度の向上 開発期間の短縮と生産性の向上 受発注の適正化 品質の向上 リスクの低減 利用者の満足度の向上 活動領域 FP 法に関する IFPUG 法の日本国内における理解と普及展開 その利用法やソフトウェア計測の検討 評価 検証 改良 確立 会員相互の情報交換と親睦 ソフトウェアベンチマークデータの収集 提供 Copyright 2016 NTT DATA Corporation 25
26 参考 日本ファンクションポイントユーザ会 会費 4 月から 3 月までの会費です 対象者 法人会員 : 年会費 3 万円個人会員 : 年会費 1 万円 初年度は入会月により割引あり ファンクションポイント法 あるいはソフトウェアメトリクスに興味をお持ちであればどなたでも参加できます お問い合わせ ご興味のある方は以下のアドレスまで office@jfpug.gr.jp 現在 弊社の藤貫美佐が会長を務めております
A P ト K S ] 200 180 160 140 120 100 80 60 40 20 0 N = 122 N = 136 350 300 250 200 150 100 50 0 凡例 12100.0 最大値 第 3 四分位 ト 中央値 40 0 20 40 60 80 100 120 140 160 ト180 第 1 四分位 30 200 30.49 密プログラム開発規模度 [KS] 25.14 23.08 20 最小値 [ 20.10 件 Copyright 2012 NTT DATA CORPORATION 11.44 35 10 3.05 S 3.05 4.44 4.19 0 ] 1.11 0.01 0.01 新規更改機能追加全体 90 80 70 60 50 凡例 新規 更改 機能追加 0 500 1,000 1,500 2,000 2,500 3,000 3,500 82.82 49.89 76.82 82.82 新規更改機能追加全体 FY2011 FY2010 FY2011 FY2010 FY2011 FY2010 FY2011 FY2010 最大値 82.82 (91.00) 49.89 (56.82) 76.82 (111.50) 82.82 (111.50) 第 3 四分位点 30.49 (16.00) 25.14 (9.00) 20.10 (30.00) 23.08 (29.00) 中央値 22.12 (12.00) 4.87 (7.00) 11.88 (16.00) 12.55 (13.33) 第 1 四分位点 11.44 (3.82) 3.05 (2.21) 4.44 (4.00) 4.19 (4.00) 最小値 3.05 (1.14) 1.11 (0.00) 0.01 (0.00) 0.01 (0.00) 平均値 27.24 (18.89) 15.13 (12.23) 16.75 (23.33) 17.66 (22.30) 標準偏差 23.46 (28.17) 16.70 (17.75) 17.06 (25.25) 18.03 (25.03) データ件数 15 (9) 13 (9) 94 (117) 124 (135) Copyright 2012 NTT DATA CORPORATION 38 27 NTT データの取り組み 4 全社的なデータ活用の仕組み 計画時 完了時に計画値 実績値を報告することを義務化 ( 全社ルール ) している 全社標準の開発プロセスの整備測定項目の定義 データのばらつき抑制 開発データの収集 報告 データ収集システム プロジェクト計画 開発データ 開発データの分析 プロジェクト 5.4.2 (1/2)AP 結合テスト _ テスト密度 分析レポート ツール 全社組織 計画 実績振り返りの際に参照 結合 テス テスト密 度 [ 件 / 5.4.3 (2/2) システムテスト _ テスト密度 AP 結合テストテスト密度とプログラム開発規模 システム テス テス / K 22.12 4.87 11.88 12.55 開発区分別のシステムテストテスト密度の箱ひげ図 予測モデル 分析レポート, 予測モデルを作成
定量データを活用するからこそわかること Copyright 2016 NTT DATA Corporation 28
29 ビールと紙おむつ マーケティング データマイニングの世界で有名な ビールと紙おむつ 事実 ( データが語ったこと ) 米国の大手スーパーマーケット チェーンで販売データを分析した結果 顧客はおむつとビールを一緒に買う傾向があることがわかった 調査 分析 調査の結果 子供のいる家庭では母親はかさばる紙おむつを買う際には父親と一緒に来店し 店に来た父親はついでに缶ビールを購入していた アクション ビールと紙おむつを並べて陳列したところ 売り上げが上昇した
30 Q: 規模が大きくなると生産性は? システムの規模が大きくなると規模あたり の生産性は上がる? 下がる? A) 上がる B) 下がる C) 変わらない
31 A: 規模が大きくなると生産性は? システムの規模が大きくなると規模あたり の生産性は上がる? 下がる? A) 上がる B) 下がる C) 変わらない
32 NTT データの取り組み 4 生産性計画値チェックガイド システム規模と生産性の関係を明らかにした 計画時に無理な生産性を設定していないかチェックに活用 生産能率 ( K S t e p 人月 ) / 危険領域 開発規模 (KStep) 大規模になるほど 生産性が落ちることを定量的に示した