ソフトウェア品質保証ガイド チームで顧客満足を実現するためのアプローチ・手法・技術(井芹洋輝・著)を拝読しました。本書は品質保証を「顧客満足を支える品質を実現するための活動(p.13)」と定義し、品質を高く保つための考え方や方法を幅広く取り上げています。以下に目次を示します。
| まえがき | 3 | |
| 目次 | 5 | |
| 第1章 | 品質と品質保証 | 13 |
| 第2章 | 品質保証のアプローチ | 45 |
| 第3章 | 開発アプローチに合わせた品質保証 | 79 |
| 第4章 | 品質の評価 | 103 |
| 第5章 | 開発工程を支える | 133 |
| 第6章 | 開発活動を支える | 221 |
| 第7章 | 運用・保守を支える | 243 |
| 第8章 | マネジメントを支える | 259 |
| 第9章 | 品質保証を支える仕組みの構築 | 287 |
| 第10章 | 品質保証に関わる手法・技術・アプローチ | 335 |
| 参考文献 | 373 | |
| 索引 | 378 |
この本を手に取ってまず目を引くのは表紙の力強く飛翔するハヤブサの写真です。品質保証の活動はともすると「不良を減らす・ミスを防ぐといったマイナスをゼロにする守りの活動」だったり「開発スピードを鈍らせるブレーキ」と思われがちですが適切に行われる品質活動はむしろ「顧客満足の実現を加速する攻めの活動」であり、ハヤブサはその象徴のように思いました。
本書はシフトレフトを「ソフトウェア品質保証で推進すべき基本方針(p.45)」と位置づけており、それは次のような章立てからも伺えます1。
| 第1章~第3章 | さまざまなソフトウェア品質活動を知る |
| 第4章 | 品質の目標と基準を決める |
| 第5章~第6章 | 開発工程で品質を作りこみ、評価し、リリースを判断する |
| 第7章 | 運用・保守を継続し市場からのフィードバックを取り込む |
| 第8章~第9章 | 顧客満足実現の再現性を高める |
| 第10章 | 補足 |
「開発チームが身に付けるべきソフトウェア品質保証全体を扱います(p.3)」とあるように全体の1/3、126ページからなる「開発工程を支える(第5章)」「開発活動を支える(第6章)」「運用・保守を支える(第7章)」は要求分析・要件定義、設計・実装、アーキテクチャ設計、ソースコードを交えた解説、開発者テスト、リリース、変更管理、生成AI活用など登場します。品質の作りこみの中核を担う開発者の足掛かりになるのはもちろん、開発者の品質活動をQAエンジニアやテストエンジニアが理解する助けになるでしょう。
ソフトウェアの品質保証はテストしてバグを見つけて直す以外にも様々な取り組みがあると分かります。また、担当業務に関係するトピックスは自分たちの品質活動の強み・弱みの把握になり、そのほかのトピックスからは品質活動の改善のヒントがいろいろ見つかります。例えばソフトウェア安全クラスの分離(2.3.4)の話は医療機器は門外漢の自分には新鮮かつためになりました。
この本は開発者、QAエンジニア、テストエンジニアがお互いの品質活動を理解し開発チームの品質活動やその改善に役立つと思いました。QAエンジニアやテストエンジニアはもとより開発者や開発チームにもおススメです。
-
「設計→実装→評価」という開発ライフサイクルに合わせると品質の評価(第4章)は開発工程を支える(第5章)や開発活動を支える(第6章)の後になると思いますが、実装してから「何を以って合格とするか」「どうやって評価するか」「不具合を(予防するのではなく)検出して直す」などとやっていたらそれはシフトレフトとは真逆の「後付けの品質」です。 ↩