Facebook x

ジャンル

書評「品質指向ソフトウェアマネジメント - 高品質ソフトウェア開発のためのプロジェクトマネジメント」

山田茂・福島俊彦(著),森北出版

設計・開発

概要

ソフトウェア開発を行うにあたり,どうすればQCDを満たしつつ、プロジェクトを成功させることができるのか。ソフトウェア品質管理技術、プロジェクトマネジメント技術の考え方、使い方、その効果の評価・検証方法までを、わかりやすくまとめた一冊。定量分析の解説も、最小限の数式でわかりやすい。ソフトウェア開発マネジメント、プロセス改善実務者の「教科書」と言える。各論を体系的に復習する際にも好適。各章末の演習問題も良問。

本書の使い方

第1章
ソフトウェア開発におけるプロジェクトマネジメント、品質マネジメントの概論を新たに学びたい人。もしくは復習として総まとめしたい人に。

第2章
プロジェクトマネジメント技術、品質マネジメント技術の具体的活用法を学びたい人に。
EVMによる進捗管理、ソフトウェア信頼性モデルを使った信頼性予測は、類書に比してもシンプルでわかりやすく解説している。

第3章
プロセス改善の基本的な考え方と、導入方法を学びたいに人に。CMM入門としても好適。

第4章
すでにプロセス改善を行っていて、その効果を定量的に分析したいと考えている人に。

何を学べるか

第1章 品質指向ソフトウェアマネジメント序論
近年、ソフトウェアは高度化、複雑化し、開発管理を効率的に進めることが求められている。本章ではソフトウェアソフトウェアの開発技術の概要と、プロジェクトマネジメントの考え方の概要を述べる。また、見積り手法、進捗予測法についても述べる

1.1 開発プロセスと開発技術
ソフトウェア開発技術の歴史を概観した上で、ウォーターフォールモデル型開発の各工程プロセスを説明する。またソフトウェア開発技術は、固有技術と、管理技術の二つからなることを説明する。

1.2 プロジェクトマネジメント
ソフトウェア開発では、品質管理、コスト管理、納期管理、要員管理などを行う。こうした生産管理活動=プロジェクトマネジメントについて説明する。PMBOKに代表的されるプロジェクトマネジメントの考え方や、管理を4つのステップで考えるPDCAサイクルを紹介する。

1.3 ソフトウェア品質と実現過程
ソフトウェア品質の定義、定量的尺度、計測法を紹介する。プロダクト品質とプロセス品質、動的品質と静的品質、ユーザ要求と品質特性、などを解説する。また、設計・レビュー・テストといったプロセスを経て品質がどのように作られていくのかを説明する。

1.4 品質マネジメント
ソフトウェアの品質管理について述べる。JISやISOによる品質の定義を紹介したうえで、総合的品質管理(TQM:Total Quality Management)の考え方、下流工程におけるテスト技術、そしてソフトウェアの信頼性を数理的に導き出す手法である、ソフトウェア信頼性モデルについて解説する。

1.5 ソフトウェアプロジェクトの見積もり
開発プロジェクトの見積もり手法として、LOC法、ファンクションポイント法、COCOMOを紹介する。また、進捗管理の技法としてWBS、ガントチャート、PERT/CPM、EVMを紹介する。

1.6 まとめ

第2章 効果的プロジェクトマネジメント技術
本章では、具体的なプロジェクトマネジメントの技術として、リスク管理、EVMによる進捗管理、品質保証、信頼性評価の4つの技術を、掘り下げて解説する。

2.1 品質指向型プロジェクトマネジメント技術の重要性
QCDを達成するためにはプロジェクトマネジメント技術が必要であることを述べ、8つの技術を紹介する。8つの技術とは①要件管理技術、②見積もり技術、③リスク管理技術、④プロジェクト計画技術、⑤進捗管理技術、⑥品質保証技術、⑦テスト技術およびレビュー技術、⑧信頼性評価技術である

2.2 リスク管理
リスク管理の考え方、リスクの定義、リスク管理の方法、リスクの識別と定量化、リスク軽減策、リスクの追跡と監視、事例データをもとにしたリスク分析の紹介などを解説する。

2.3 EVMによる進捗管理
コスト管理とスケジュール管理を、同時に行える有効な手法としてEVMを紹介する。計画と実績を照らし合わせて、進捗を把握、分析、予測する方法を解説する。事例データのグラフを豊富に使い、イメージしやすく説明する。また、EVMによるマネジメントの有効性を考察する。

2.4 品質保証
顧客にソフトウェア製品の品質を保証するための、品質保証活動とレビューの進捗管理について述べる。

2.5 ソフトウェア品質の定量的評価
ソフトウェア品質を左右するのはテスト品質である。短時間で効率的なテストを行うためには、品質を定量的に評価する品質指標が必要になる。目に見えないソフトウェアの品質を指標化するうえで有用なソフトウェア品質特性(ISOI/IEC9126、JIS X 0129)について解説する。また、ソフトウェアの信頼性を計測する方法として、ソフトウェア信頼度成長モデルによる品質評価法を解説する。

第3章 ソフトウェアプロセス改善技術
高品質なソフトウェアを効率的に開発するためには、自組織にとって効果的なソフトウェアプロセスを構築し、改善する必要がある。本章ではソフトウェアプロセスの考え方と改善方法、さらにCMMの導入法とその有効性を解説する。

3.1 ソフトウェアプロセス
ソフトウェアの作り方である、ソフトウェアプロセスの定義と考え方、開発プロセスの改善事例、ならびにプロジェクト管理者が実施するプロセスである、マネジメントプロセスの改善事例を紹介する。

3.2 プロセスモデル
プロセスモデルの紹介としてCMMの考え方、CMM導入の流れを解説する。

3.3 標準ソフトウェアプロセス
CMMレベル3の成熟度を持つ組織とは「標準ソフトウェアプロセス」を定義し、運用できる組織である。本節では、その「標準ソフトウェアプロセス」の定義と考え方、使い方を解説する。

第4章 プロジェクトの定量的評価法
実際のプロジェクトにおいて、測定データを用いて、プロジェクトの定量的評価を行い、プロセスを改善する事例を紹介する。

4.1 マネジメント要因によるQCD予測法
リスク管理活動、プロジェクト管理活動、品質保証活動が、顧客納品後の製品品質と、開発コストにどのように影響を及ぼすかを、データをもとに定量的に分析する。

4.2 品質保証要因による品質予測法
レビューマネジメント、レビュー評価技術、テスト項目抽出技術が顧客納品後の製品品質に、どのように影響を及ぼすかを分析し、より効果的なマネジメント技術を考察する。