勘と経験と読経

略すとKKD。ソフトウェア開発やITプロジェクトマネジメントに関するあれこれ。

ソフトウェア要求 第3版は何が変わったのか

いつか読もうと思っていた名著「ソフトウェア要求 第3版」を読んでゐる。割といろんな人から「この本は良い本だ」という話を聞くのだけれども、皆が読んでいるのはだいたい第2版だ。10年を経て更新された第3版は何が変わったのかというのは実は明確ではない。残念ながら第2版は手元にないけれど、ウェブで詳細な目次が閲覧できる。というわけで目次を眺めながら、何が変わったのかについて考えてみた。第2版しか読んでいない人は第3版を購入するかどうかの判断の目安にできるかも。

大きく追加された点は何か

変更点が明確ではないと書いたけれども、大きな変更点は「はじめに」でざっくりと書いてある(本当にざっくり)。

要求の開発と管理のために第2版で示したプラクティスは、まだ有効であり、幅広いプロジェクトで使用できる。創造的なビジネスアナリスト、プロダクトマネジャー、またはプロダクトオーナーであれば、よく考えて、こうしたプラクティスを採用し、特定の状況のニーズに最もうまく合うように調整することだろう。この第3版では、アジャイル型プロジェクトにおける要求の取扱いに関する章を追加し、他の多くの章でも、その章に出てくるプラクティスをアジャイル型開発環境に合わせて調整して使用する方法を説明する節を加えた。
ソフトウェア要求 第3版 「はじめに」より

第1部 ソフトウェア要求:だれが、何を、何のためにするのか

大筋に変化ないが細々と変更されている。

  • 第1章 ソフトウェア要求の基礎
    • 「1.6 優れた要求の特性」という節が丸々削除された。この内容は加筆の上で独立し、第2部第11章に移っている。
  • 第2章 顧客の観点から見た要求
    • 「2.1 期待のギャップ」という節が挿入された。アジャイル開発の利点でもある頻繁な顧客との接触に関する考察。
    • 「サインオフについて」という旧版の記載が大幅に拡張され合意形成、ベースライン、アジャイル型の場合の合意方法についての考察として追記された(「2.4 要求を尊重する文化の確立」「2.5 意思決定者のの特定」「2.6 要求に関する合意の獲得」。
  • 第3章 要求工学の良いプラクティス
    • 「3.7 良いプラクティス:知識」という節が挿入された。アナリストや利害関係者をきちんと教育訓練すべしという内容。
  • 第4章 ビジネスアナリスト
    • 従来ビジネスアナリストへのキャリアパスとして「元ユーザー」や「元開発者、テスト担当者」「SME」が想定されていたが、ここに「元PM」と「新人」が加えられた。

第2部 要求開発

いろいろこまごまと変更(追記)されている印象。

  • 第5章 ビジネス要求の確立
    • 第2版ではスコープ表現手法はコンテキスト図のみだったが、「エコシステムマップ」「フィーチャーツリー」「イベントリスト」という手法が追加されている
  • 第6章 ユーザーの意見の掘り出し
    • 「ユーザーペルソナ」の手法が追加
  • 第7章 要求の引き出し
    • 要求の引き出し技法として従来の「ワークショップ」に加えて「インタビュー」「フォーカスグループ」「観察」「アンケート」「システムインターフェイス分析」「ユーザーインターフェイス分析」「文書分析」が追加された。
    • 「7.8 引き出しに関する注意点」「7.9 前提とする要求と暗黙の要求」「7.10 抜けている要求の発見」という節が挿入された。テクニックとTIPS。
  • 第8章 ユーザー要求の理解
    • 目だった変化なし
  • 第9章 ルールに従った行動
    • 「9.3 ビジネスルールの発見」「9.5 すべてのとりまとめ」という節が挿入された
  • 第10章 要求の文書化
    • 目だった変化なし
  • 第11章 優れた要求の記述
    • もともとは「第1部 ソフトウェア要求 第1章 ソフトウェア要求の基礎」の一節だったものが独立した章となっている。優れた要求の特性を定義するだけでなく「11.2 要求を書くためのガイドライン」「11.3 要求の例、改善前と改善後」などの言及あり。
  • 第12章 1枚の絵は1024の語に値する
    • モデルとして「12.5 スイムレーンダイアグラム」「12.9 イベント応答表」が追加された。また、「12.10 UMLダイアグラムに関して一言」というコラムも追加された。
  • 第13章 データ要求の仕様作成
    • 新規に追加された章である(第2版では「第12章 1枚の絵は1024の語に値する」の中でER図について触れられていたようだが、それが大幅拡張されたのかもしれまい)。
  • 第14章 機能の先にあるもの
    • 「14.7 制約条件」が追加されている。
  • 第15章 プロトタイプを使ったリスク低減
    • 目だった変化なし
  • 第16章 まずは重要なことから:要求の優先順位付け
    • 「16.2 優先順位付けの現実」というコラムが挿入された。
    • 「16.4 優先順位付けの技法」という節が追加され、MoSCowなどの技法が追加された。
  • 第17章 要求の妥当性確認
    • 「17.1 妥当性確認と検証」という節が挿入され、妥当性確認と検証の意味が細かく定義された。
    • 「17.3 要求プロトタイプの作成」という節が追加された。
  • 第18章 要求の再利用
    • 新規に追加された章である。
  • 第19章 要求開発に続くもの
    • 目だった変化なし

第3部 特定の種類のプロジェクト向けのの要求

第2版では第2部の一部として「特殊な要求開発の課題」という章があったのだが、これが大幅に拡張されて7つの章として追加されている。対象となるバリエーションは以下の通りである。

  • 第20章 アジャイル型プロジェクト
  • 第21章 機能拡張およびリプレース型プロジェクト
  • 第22章 パッケージソリューション型プロジェクト
  • 第23章 アウトソース型プロジェクト
  • 第24章 ビジネスプロセス自動化プロジェクト
  • 第25章 ビジネスアナリティクスプロジェクト
  • 第26章 組込みおよびその他のリアルタイムシステムのプロジェクト

第4部 要求管理

いろいろこまごまと変更(追記)されている印象。

  • 第27章 要求管理のプラクティス
    • 「27.6 要求に関する課題の解決」「27.9 要求管理が必要な理由」が追加されている
  • 第28章 変更発生
    • 「28.1 変更管理が必要な理由」が追加されている。また、プロセスの詳細について大幅に詳細化されているように見える。
  • 第29章 要求連鎖のつながり
    • 目だった変化なし
  • 第30章 要求工学のためのツール
    • 新設章。ツールカタログというわけではなく論点整理になっている。

第5部 要求工学の実行

ほとんど変化なし。

  • 第31章 要求プロセスの改善
    • 「31.8 まだここにいるのか?」という節が追加されている・・・。
  • 第32章 ソフトウェア要求とリスクマネジメント
    • 目だった変化なし

「ソフトウェア要求」の第2版が出てから10年になる。技術の世界で10年は長い。10年で、多くのものごとが変わった。しかし、変わっていないものもある。
ソフトウェア要求 第3版 「はじめに」より

現時点でまだ読んでいる途中なのだけれども、自分の知識のアップデートという観点でも刺激的である。知識やテクニックという観点ではBABOKとの重複間はあるのだけれども、本書のほうがコラムや実例も多く実践的な印象。読むの大変ですけれど。