第4部 ソフトウェアについての計測

Similar documents
第7章 ソフトウェアの品質保証

第39章 ISO 15504

第16部 ソフトウェア・プロセスの改善

再利用アセスメント 計画 実行及び制御 レビュー及び評価ソフトウェアの再利用を行う組織では 再利用施策管理者 という人が位置づけされることになっており このプロセスはその人が組織の中で再利用を実施するために行うべき作業を定義したものである 再利用資産管理プロセス の目的は 構想から廃止までの再利用資

第49章 プロジェクト管理のポイント

スキル領域 職種 : マーケティング スキル領域と MK 経済産業省, 独立行政法人情報処理推進機構

<4D F736F F F696E74202D2091E63389F15F8FEE95F1835A834C A CC B5A8F FD E835A835890A78CE C CC835A834C A A2E >

第2部 ソフトウェアの品質について

目次 取組み概要 取組みの背景 取組みの成果物 適用事例の特徴 適用分析の特徴 適用事例の分析結果から見えたこと JISAによる調査結果 どうやって 実践のヒント をみつけるか 書籍発行について紹介 今後に向けて 2

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

ISO 9001:2015 改定セミナー (JIS Q 9001:2015 準拠 ) 第 4.2 版 株式会社 TBC ソリューションズ プログラム 年版改定の概要 年版の6 大重点ポイントと対策 年版と2008 年版の相違 年版への移行の実務

プロジェクトマネジメント知識体系ガイド (PMBOK ガイド ) 第 6 版 訂正表 - 第 3 刷り 注 : 次の正誤表は PMBOK ガイド第 6 版 の第 1 刷りと第 2 刷りに関するものです 本 ( または PDF) の印刷部数を確認するには 著作権ページ ( 通知ページおよび目次の前 )

ISO9001:2015規格要求事項解説テキスト(サンプル) 株式会社ハピネックス提供資料

ISO9001:2015内部監査チェックリスト

Copyright Compita Japan ISO33k シリーズとは? これまで使用されてきたプロセスアセスメント標準 (ISO/IEC 本稿では以降 ISO15504 と略称する ) は 2006 年に基本セットが完成し 既に 8 年以上が経過しています ISO

目次 1. はじめに 2. 利用目的別メトリクス一覧表の仕組み 3. 検索機能の使い方 4. 利用シナリオ ( 事例 ) 5. おわりに Center 2

16年度第一回JACB品質技術委員会

パラダイムシフトブック.indb

目次 1. 一般 目的 適用範囲 参照文書 用語及び定義 内部監査 一般 内部監査における観点 内部監査の機会 監査室

第10章 ファンクション・ポイント

説明項目 1. 審査で注目すべき要求事項の変化点 2. 変化点に対応した審査はどうあるべきか 文書化した情報 外部 内部の課題の特定 リスク 機会 関連する利害関係者の特定 プロセスの計画 実施 3. ISO 14001:2015への移行 EMS 適用範囲 リーダーシップ パフォーマンス その他 (

ISO 9001:2015 から ISO 9001:2008 の相関表 JIS Q 9001:2015 JIS Q 9001: 適用範囲 1 適用範囲 1.1 一般 4 組織の状況 4 品質マネジメントシステム 4.1 組織及びその状況の理解 4 品質マネジメントシステム 5.6 マネジ

ISO19011の概要について

i コンピテンシ ディクショナリ を 活用した品質エンジニアの育成 その 2 独立行政法人情報処理推進機構 HRD イニシアティブセンター 奥村有紀子

どのような便益があり得るか? より重要な ( ハイリスクの ) プロセス及びそれらのアウトプットに焦点が当たる 相互に依存するプロセスについての理解 定義及び統合が改善される プロセス及びマネジメントシステム全体の計画策定 実施 確認及び改善の体系的なマネジメント 資源の有効利用及び説明責任の強化

品質マニュアル(サンプル)|株式会社ハピネックス

Microsoft Word - IRCA250g APG EffectivenessJP.doc

セミナータイトル    ~サブタイトル~

1 BCM BCM BCM BCM BCM BCMS

説明項目 1. 審査で注目すべき要求事項の変化点 2. 変化点に対応した審査はどうあるべきか 文書化した情報 外部 内部の課題の特定 リスク 機会 利害関係者の特定 QMS 適用範囲 3. ISO 9001:2015への移行 リーダーシップ パフォーマンス 組織の知識 その他 ( 考慮する 必要に応

Microsoft Word - JSQC-Std 目次.doc

JIS Q 27001:2014への移行に関する説明会 資料1

15288解説_D.pptx

<4D F736F F D F193B994AD955C D9E82DD835C EC091D492B28DB8816A2E646F63>

はじめに 本ドキュメントは Redmine を使用して稼働する定量的プロジェクト管理ツール ( 以下 IPF と略します ) のヘルプです IPF の操作に関わる機能を解説しており Redmine 及び構成管理ツール (Subversion Git) の標準機能については 本ヘルプの記載対象外として

FSMS ISO FSMS FSMS 18

5. 文書類に関する要求事項はどのように変わりましたか? 文書化された手順に関する特定の記述はなくなりました プロセスの運用を支援するための文書化した情報を維持し これらのプロセスが計画通りに実行されたと確信するために必要な文書化した情報を保持することは 組織の責任です 必要な文書類の程度は 事業の

リスクテンプレート仕様書

Microsoft PowerPoint - A3② JaSST_MISRA2004ソースコード品質診断.ppt

Microsoft Word - jis_c_5750_3_6_....ed1.doc

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

構成管理記録テンプレート仕様書

5005-toku3.indd



課題研究の進め方 これは,10 年経験者研修講座の各教科の課題研究の研修で使っている資料をまとめたものです 課題研究の進め方 と 課題研究報告書の書き方 について, 教科を限定せずに一般的に紹介してありますので, 校内研修などにご活用ください

Exploring the Art of Vocabulary Learning Strategies: A Closer Look at Japanese EFL University Students A Dissertation Submitted t

Agenda 1. プロセス評価 改善の動向 2. IPA/ プロセス改善部会の活動紹介 3. SPEAK-IPA の概要 Center 2

作成履歴 バージョン日時作成者 変更者変更箇所と変更理由 年 4 月 17 日平成太郎新規作成 プロジェクト計画の全体概要 本書に記載するプロジェクト作業の概要を簡単に記述します 本書の内容の概要がこの部分で大まかに理解できます ] 本計画書の位置づけ プロジェクトにおいて本書

プロダクトオーナー研修についてのご紹介

JICA 事業評価ガイドライン ( 第 2 版 ) 独立行政法人国際協力機構 評価部 2014 年 5 月 1

授業計画書

<4D F736F F F696E74202D A B837D836C CA48F435F >

<4D F736F F F696E74202D2091E6368FCD5F95F18D908B7982D D815B >

監査に関する品質管理基準の設定に係る意見書

第18部 ソフトウェア技術者の資格

JISQ 原案(本体)

と 測定を繰り返した時のばらつき の和が 全体のばらつき () に対して どれくらいの割合となるかがわかり 測定システムを評価することができる MSA 第 4 版スタディガイド ジャパン プレクサス (010)p.104 では % GRR の値が10% 未満であれば 一般に受容れられる測定システムと

AAプロセスアフローチについて_ テクノファーnews

日本機械学会 生産システム部門研究発表講演会 2015 資料

(Microsoft Word - \221\262\213\306\230_\225\266_\213\321\220D_\215\305\217I.doc)

変更要求管理テンプレート仕様書

目次 4. 組織 4.1 組織及びその状況の理解 利害関係者のニーズ 適用範囲 環境活動の仕組み 3 5. リーダーシップ 5.1 経営者の責務 環境方針 役割 責任及び権限 5 6. 計画 6.1 リスクへの取り組み 環境目標

表 3 厚生労働省新旧ガイドライン目次比較 は新ガイドラインで追加された項目 コンピュータ使用医薬品等製造所適正管理ガイドライン 第 1 目的 1. 総則 1.1 目的 第 2 適用の範囲 2. 適用の範囲 第 3 開発業務 1. 開発検討段階 (1) 開発段階の責任体制の確立 (2) 開発マニュア

4.7.4 プロセスのインプットおよびアウトプット (1) プロセスへのインプット情報 インプット情報 作成者 承認者 備 考 1 開発に関するお客様から お客様 - の提示資料 2 開発に関する当社収集資 リーダ - 料 3 プロジェクト計画 完了報 リーダ マネージャ 告書 ( 暫定計画 ) 4

Transcription:

第 9 章ソフトウェア メトリクス ソフトウェア メトリクスの目的ソフトウェア工学の領域での重鎮の一人であるトム デマルコ (Tom Demarco) は その著書の中で 測定できないものは制御できない と言った [DEM82] 我々はソフトウェア開発のプロジェクトを成功に導きたいし ソフトウェアの品質を良くしたい さらにソフトウェア開発の生産性を 一層向上させたい つまり我々はソフトウェア開発の過程などを制御して より良いソフトウェアと そのソフトウェアを開発するより良い方法を手に入れたい だからデマルコのこの言葉が正しいとすれば 我々はソフトウェアそのものと ソフトウェア開発に関わるいろんな側面についての計測を行わなければならない 端的に言えば これがソフトウェアに関するいろんな項目を測定すること つまりソフトウェア メトリクスの目的である すぐ後で述べるが ソフトウェアの測定について JIS X 0141:2009( 元の国際規格は ISO /IEC 15939:2007) という規格がある この規格の解説の部分に次のような記述がある [JIS09a] ソフトウェアの測定は ソフトウェアプロセスとソフトウェア製品の管理と改善を支援する 測定は ソフトウェアライフサイクル活動を管理し プロジェクト計画の実行可能性を評価し プロジェクト活動がそれらの計画に準拠しているかどうかを監視するための最も重要な道具である ソフトウェアの測定は ソフトウェア製品の品質及び組織のソフトウェアプロセス能力を評価するための鍵となるものである ( 中略 ) 継続的に改善を進めるためには組織内が変化していかなければならない 変化を評価するためには測定が必要である この文章は この JIS 規格の元になっている ISO/IEC 15939:2007 の冒頭の部分との断りがある つまりこの部分は 当初の ISO 規格から JIS 規格を作成する際に 割愛されたものらしい それはともかくとして この文章はデマルコが端的に言ったことをもっと丁寧に述べている つまりソフトウェアに関わる事項を測定することの必要性と重要性が ここで明確に述べられている ソフトウェア メトリクスに関わる国際規格前述のソフトウェアの測定に関わる規格 (JIS X 0141:2009 元の国際規格は ISO/IEC 15939:2007) には ソフトウェア測定プロセス という標題が付いている ソフトウェア ライフサイクル プロセスを規定した JIS X 0160:2012( 元の国際規格は ISO/IEC 12207: 2008) には 測定 というプロセスが定義されている JIS X 0141:2009 には何も書かれていないけれど この規格は JIS X 0160:2007 の測定に関わる部分だけを抽出し もっと詳細に記述したものと考えることができる 1 ソフトウェア メトリクスの枠組み 1 このような位置づけにある他の規格に ソフトウェアの保守についての規格 (JIS X 0161: 2008( 元の規格は ISO/IEC 14764:2006)) がある 87

その JIS X 0141:2009 に ソフトウェア メトリクスの全体の枠組みを記した図が掲載さ れている それを 図表 9-1 として示す [JIS09a] 図表 9-1 ソフトウェア メトリクスの枠組み ([JIS09a] より ) 直接何らかの方法によって測定できるものを 図表 9-1 では 基本測定量 と呼んでいる 例えば テスト期間中に発見されたある特定のソフトウェアの累積の欠陥件数 と そのソフトウェアの規模 は ともに基本測定量である この最初の基本測定量を 2 つ目の基本測定量で割ると 欠陥密度 という 導出測定量 が得られる この欠陥密度の数字 1 つだけでは まだ何らかの判断をするとか行動を起こすということはできない しかしこの導出測定量 88

( 欠陥密度 ) を 目標としていた数値と比較するとか 他のプロジェクトの数値と比較する 2 とかの形で加工 / 操作して このプロジェクトの欠陥密度 という 指標 を作成すると 何らかの判断や行動を起こす基になるデータが得られる つまりソフトウェア メトリクスでは この 指標 が重要な位置を占める それでは 指標として何が重要なのだろうか そのために 何を測定すれば良いのだろうか それを 次に考えてみたい 何を測定するのかソフトウェア メトリクスで 測定の対象になるものを 実体 と呼んでいる この測定の対象になりうるものには プロセス 製品 プロジェクトと資源の 4 つがある [JIS09a] この 4 つにはそれぞれ多くの属性があり それらは全て測定可能である しかしこれらを闇雲に測定し 組み合わせてみたところで 費用と手間がかかるばかりでたいした成果は得られそうにはない それでは何を測定し それらをどう組み合わせて どういう 指標 を得ればよいのだろうか 米国メリーランド大学のヴィクター バシリ (Victor Vasili) 教授は ソフトウェア メトリクスで測定する対象を決める手順について 次のような方法を提案している [BAS92] まず 組織として実現したい 目標 (Goal) を明確にする 次に その目標を実現するためにこれからも努力を続けるとして 将来のある時点でその目標実現の状況を把握するために つまりその目標がすでに達成されたのか あるいは達成に向かって順調に進んでいる過程にあるのか 逆に足踏みをしたり 場合によれば後退していたりしていないのか といったことを明確に認識するための 質問 (Question) を考える 最後に この質問に答えるためのデータを前記の 指標 として明らかにし その指標を得るために何を 測定値 (Metrics) として得ればよいかを考える このアプローチを バシリ教授 GQM パラダイム と名付けた ここでバシリ教授は ソフトウェア メトリクスの測定項目を決めるためのアプローチは ボトム アップではなく トップ ダウンでなければならないと述べている 測定の手順 ISO/IEC 12207:2008 に準拠して作成された 共通フレーム 2013 の管理プロセスの一部である 測定 のアクティビティには ソフトウェアの測定のためのタスク ( 手順 ) として 以下の 3 つの作業が挙げられている 3 [IPA13a] 1. 測定の計画 2. 測定の実施 3. 測定値の評価ここでは すでに測定のための組織作りは終わっているという前提に立っている 組織 / 体制が確立された後は 個別に測定に関わる計画を立て その計画に基づいて準備も含めて測定を実施し その測定結果を分析し 評価し 報告 / 伝達し さらに得られた結果を蓄積することになる 当然これらの活動は全て 適切に管理されていなければならない 2 他のプロジェクトのデータと比較することなどを ソフトウェア ベンチマーキングという ソフトウェア ベンチマーキングについては 第 11 章で述べる 3 共通フレーム 2013 などをベースにしたソフトウェア開発の作業については その概略を第 12 章で述べる 89

ここで データ / 情報の蓄積が重要であることを強調しておきたい プロジェクトの活動は重要な測定対象の 1 つであるが 過去のプロジェクトの活動の結果は将来のプロジェクトの見積もりで たいへん重要な役割を果たす 4 ガーネギー メロン大学ソフトウェア工学研究所が策定した 開発のための CMMI (Capability Maturity Model Integration-DEV 能力成熟度モデル統合) のバージョン 1.3 では 後述するようにレベル 2( 管理されている レベル ) のプロセス領域の 1 つに 測定と分析 がある ここではこの作業のゴールと そのゴールを達成するための作業 ( プラクティス ) として 次のものが挙げられている [CMM10a] SG1 測定と分析 活動を整合させる SP1.1 測定目標を確立する SP1.2 尺度を明記する SP1.3 データ収集手順と格納手順を明記する SP1.4 分析手順を明記する SG2 測定結果を提供する SP2.1 測定データを獲得する SP2.2 測定データを分析する SP2.3 データと結果を格納する SP2.4 結果を伝達する共通フレーム 2013 と CMMI-DEV v1.3 の間には 作業について齟齬はない なお ここに 尺度 という言葉がある この言葉についての JIS X 0141:2009 での定義は 以下の通りである [JIS09a] 尺度 (scale) 連続的若しくは離散的な値の順序集合または分類の集合で それに属性を 対応付けるもの いささか分かりにくい定義だが 広辞苑第六版にはこの言葉は以下のように記載されている 1 物の寸法を正確に測定するのに用いる具 木 金属などに目盛を刻んで製し メートル尺 曲尺 ( かねじゃく ) 鯨尺などがある ものさし をあてる 2 広く 計量の標準 物事を評価するときの規準 社会進歩の ここでの 尺度 は この広辞苑の 2 つ目の定義であると考えればよい 測定に当たっての留意事項ソフトウェアの測定を行うに当たって 注意しなければならないことが 3 つある その 1 つ目は 正確なデータを集めなければならないということである 測定には 測定誤差は避けられない 当然それを極力回避するべく測定の手順などを考えなければならないが その測定誤差は仕方がないとして 不正確なデータが集まらないように注意することが重要である 例えばソフトウェア技術者の活動についてのデータをそのソフトウェア技術者から直接収集し さらにその結果を人事考課に使用したりすると 正確なデータが集まらないと考えなければならない ソフトウェアの測定の結果はソフトウェア プロセスの改善や将来のプロジ 4 プロジェクトの見積もりについては 第 52 章のソフトウェアのコストモデルについての話の中で述べる 90

ェクト計画の立案などだけで使用し 人事考課などに使用することはどのようにして集めたデータであっても避けるべきである 特に 個人から集めたデータを個人の評価に使用するといったことは絶対に避けなければならない 2 つ目は 可能な限りデータは自動的に集めることに心がけるべきである 人間は 間違いを犯す 自動化によって その人間が犯す間違いを避けることができる そのために適切なツールが必要になるが それを入手するための手間と費用を惜しまない方が良い 3 つ目は 測定のための費用も考慮して その結果を有効に使用することである 前述の通り測定には 手間も費用もかかる だから測定の結果はうまく活用できて その手間と費用に見合ったものでなければならない 単なる記録のために測定を行う というようなことは避けなければならない つまり測定の結果は 我々のソフトウェアそのものとソフトウェアを開発する過程を改善するために有効に使われなければならない かけることになる手間や費用と比較して結果があまり有効でないと思われる場合には その測定は見合わせた方が良い ソフトウェア メトリクスの位置づけ前述の通りカーネギー メロン大学のソフトウェア工学研究所が策定した 開発のための CMMI のバージョン 1.3 には レベル 2( 管理されている レベル ) のプロセス領域の 1 つに 測定と分析 があることはすでに述べた 5 このことは ソフトウェアの測定を行うこととその測定結果を分析することが ソフトウェア開発におけるごく基本的な活動であることを示している [CMM10a] しかし この CMMI バージョン 1.3 のレベル 4( 定量的に管理されている レベル ) のプロセス領域の 1 つに 定量的プロジェクト管理 があり そこでは計測の結果を基にしてソフトウェアの品質とプロジェクトの実績が統計的に管理され 監視され 適切な是正処理が講じられる このことから ソフトウェア測定の奥行きは非常に深い ということができる この CMMI の前身である SW-CMM(Software Capability Maturity Model ソフトウェアに関わる能力成熟度モデル ) の 1993 年に策定されたバージョン 1.1 には このような形でソフトウェアの測定が定義されていなかった また ソフトウェアの測定は JIS X 0160:2007 の管理プロセスの中に規定されていると述べたが その元になる JIS X 0160:1996 の管理プロセスの中には これは規定されていない つまりこの部分は 2002 年に発行されたこの基になる ISO の規格の修正票で追加された これらのことは ソフトウェアの測定についての重要性の認識が 1995 年以降に急速に高まってきたことを意味している 何を測定するのか その 2 ソフトウェア メトリクスで測定するべきものを GQM パラダイム の考え方で決めるのが良いと すでに述べた ケーパース ジョンズ (Capers Jones) はその著書の中で もっと明確に次の 9 項目を測定の対象として挙げている JON08 1 運用環境 2 開発中のプロジェクト 3 ソフトウェア資産とバックログ 5 開発のための CMMI については 第 40 章で述べる 91

4 顧客満足度 5 完了プロジェクト 6 6 ソフト要因 7 ソフトウェアの欠陥 8 企業内従業員統計 9 企業内の意識調査この中の 6 ソフト要因 には 補足が必要かもしれない ソフト要因とは 次のようなものを指す言葉として ここでは使われている ソフトウェアの開発と保守の手法 ツール スキル 組織 環境 キィワード ソフトウェア メトリクス 基本測定量 導出測定量 指標 GQM パラダイム 尺度 略語 CMMI:Capability Maturity Model Integration SW-CMM:Software Capability Maturity Model 規格 JIS X 0141:2009 ISO/IEC 15939:2007 ISO/IEC 12207:2008 JIS X 0160:2012 共通フレーム 2013 CMMI-DEV v1.3 人名トム デマルコ (Tom Demarco) ヴィクター バシリ(Victor Vasili) ケーパース ジョンズ (Capers Jones) 参考文献とリンク先 [BAS92] V. Basili, Software Modeling and Measurement: The Goal/Question/Metric Paradigm, University of Maryland, CS-TR-2956, UMIACS-TR-92-96, September 1992. なお この論文は次の URL からダウンロードできる ( 確認日 :2017 年 ( 平成 29 年 )1 月 6 日 ) http://www.cs.umd.edu/~basili/publications/technical/t75.pdf [CMM10a] CMMI 成果物チーム 開発のためのCMMI 1.3 版 CMMI-DEV, V1.23 CMU/SEI-2010-TR-033 ESC-TR-2010-033 より良い成果物のためのプロセス改善 カーネギー メロン大学ソフトウェア工学研究所 2010 年この資料は 次の URL からダウンロードできる ( 確認日 :2017 年 ( 平成 29 年 )1 月 25 6 開発の生産性や開発費用などについては 2 開発中のプロジェクト /5 完了プロジェクトの中で取り上げられる 92

日 ) http://cmmiinstitute.com/resource/japanese-language-translation-of-cmmi-fordevelopment-v1-3/ [DEM82] Tom DeMarco 著 渡辺純一訳 品質と生産性を重視したソフトウェア開発プロジェクト技法見積り 設計 テストの効果的な構造化 近代科学社 1987 年. この本の原書は 以下のものである Tom DeMarco, Controlling Software Projects Management, Measurement & Estimation, Yourdon Inc., 1982. [IPA13a] 独立行政法人情報処理推進機構ソフトウェア エンジニアリング センター編 共通フレーム 2013~ 経営者 業務部門が参画するシステム開発および取引のために~ ソフトウェアライフサイクルプロセス共通フレーム 2013 ( 株 ) オーム社 平成 25 年. [JIS09a] 日本工業標準調査会審議 ソフトウェア測定プロセス JIS X 0141:2009 (ISO/IEC 15939:2007) 日本規格協会 平成 21 年. [JON08] Capers Jones 著 富野壽 小坂恭一監訳 ソフトウェア開発の定量化手法生産性と品質の向上を目指して第 3 版 構造計画研究所 2010 年. この本の原書は 以下の通りである Capers Jones, Applied Software Measurement: Global Analysis of Productivity and Quality Third Edition, McGraw-Hill, 2008. (2008 年 ( 平成 20 年 )9 月 14 日初版作成 ) (2014 年 ( 平成 26 年 )3 月 10 日一部修正 ) 93

94 第 9 章ソフトウェア メトリクス