「間違いだらけの設計レビュー」の紹介と改訂版での追記内容
2015年9月に「なぜ重大な問題を見逃すのか - 間違いだらけの設計レビュー」の改訂版を上梓しました。日経ITproストアのページはこちら。Amazonのページはこちら。初版からいくつか変更した部分があります。本ブログエントリでは、まず本書がどのような内容かを簡単に紹介した上で、改訂版で追記した部分を紹介します。改訂版に沿った内容の初回のセミナーを2015年10月16日に名古屋で開催します。詳細はこちら。
本書の内容
本書は、規模の大きくなったソフトウェアにおいて、網羅的、全方位的なレビューには限界があるという前提をおいています。その上でレビューに濃淡をつけることを勧めています。濃淡は欠陥検出の重点化により実現し、重点化のための方針としてシナリオを用いたレビューを解説しています。重点化する部分がどこであるか、欠陥があるかどうかをどうやって確認するかを方針として書いたものがシナリオです。レビューにシナリオを用いること自体はNASAをはじめとして1980年代ごろから一定の効果があるという結果が示されています。ただし、欠陥検出の濃淡をつけるためのものではなく、あくまで網羅性を高めるためのものでした。
本書では、形骸化したレビューにありがちな大量のチェックリストと区別するためにシナリオと呼んでいます。レビューのチェックリストといえば、多くの方が本当に必要かどうかを吟味することなく、再発防止という名目でどんどん追加され膨大な数となったものをイメージするのではないでしょうか。数件に限定されていること、ドキュメントのどの場所をどのように調べるかが書いてあることを前提として、チェックリストをシナリオとして活用できます。
また、本書では、700件程度のアンケートの結果や共同研究の中で得られた典型的なレビューの課題をアンチパターンとして示しています。課題を解決するための手順やレビューの実施にあたって見過ごされやすい心構え(マインド)に関しても解説しています。レビューを改善していきたい若手~中堅を前提に基礎的な内容としています。レビュー会議のビデオを複数社からお借りして、分析した結果をふまえる等してなるべく私の経験だけに閉じない客観的な話になるよう気をつけて書きました。
改訂版で追記した内容
シナリオの作成方法である2つのアプローチを紹介し、事例を通じて解説しています。事例は、実際に濃淡をつけてレビューをされている企業にインタビューしたものです。アプローチの一つめはボトムアップです。過去の欠陥や類似のアーキテクチャで起こりがちな欠陥から作り上げます。もう一つはトップダウンのアプローチによるものです。これはソフトウェアのもっとも基本的な価値を特定してそこが期待通り実現されているかを確認します。
改訂版では、トップダウンのアプローチをより詳細に解説しています。トップダウンのアプローチで特定するシナリオには(1) 既に課題が明確になっておりソフトウェア更改やシステム改善のきっかけになっているもの、(2) 要求に明示的に示されておりすぐにわかるもの、(3) 要求の中に含まれているものの多数の要求の中の一つとして示されておりすぐには特定できないものを含めています。
これに加えて、スケジュールが切迫すると優先順位が下がりやすい保守性を維持するためのシナリオを事例を通じて解説しています。保守性を維持するためのシナリオは、大きな改変をしないことを前提としたパッケージ導入でのシナリオ作成にも参考になります。
改訂版の60-81ページが追加した部分になります。
この改訂版に沿った内容としては初回となるセミナーを2015年10月16日に名古屋で開催します。会場は名古屋駅から歩けますので、名古屋以外の場所から新幹線でお越しの方にも便利です。詳細はこちら。