LEADING QUALITY(リーディングクオリティ)を読みました。2023年に読んで衝撃を受けた、ソフトウェア開発に関する3冊の本を紹介してみるでも紹介していたんですが、改めて本ブログにも感想を書いてみます。
まず本書がどんな本かというと、組織の品質文化をリードする人のためのガイドブックです。いかにソフトウェアの品質保証を行うか?ということを扱った書籍は多々ありますが、本書はそれらと異なります。高品質なソフトウェアを構築して事業の成長を支えることのできる、組織の品質文化をいかに醸成するか?ということに焦点を当てています。
ソフトウェア開発において、品質の重要性が年々高まっています。本書によれば、ソフトウェアが複雑化しているためテストの難易度が上がっている中で、今や品質(テスト)がビジネスの中心になっているとのこと。すなわち、品質が課題となって事業成長を阻害することがあるため、組織の「品質文化」を醸成していく必要があるということです。
この組織の品質文化を醸成していく役割を担うのが、本書で言うところの品質リーダーであり、品質リーダーのためのガイドとなるのが本書です。
品質は、時間と共に変化していくため、定義するのが難しいものです。ゴールポストが動き続ける中でシュートを決めなければいけないサッカーのようなものです。本書では、このような動き続ける目標を追い続けることで、高品質なソフトウェアを継続的に提供することが可能となると指摘しています。
品質が相対的なものであるという考え方は、ワインバーグの「品質は誰かにとっての価値である」とも通じるものがありますが、さらに時間軸や事業の成長によっても目指すべき品質が変わっていくということです。
ということは、時間軸や事業の成長に伴って、テスト戦略も成長させていく必要があるということです。本書でも、コンテキストに応じてテスト戦略を構築し、変わり続けるコンテキストにテスト戦略を適応させ続けることの重要性が指摘されています。
テストをスケールさせるために、自動テストは重要です。すべてを手動でテストしていたらテストがスケールしません。しかし、手動テストのすべてを自動テストに置き換えることはできないと本書は指摘します。
テストには、2つの側面があると言います。
自動化できるテストは後者の検証であり、人間が創造性を発揮して行うテストは無くすことができない、という主張です。これはリグレッションを防ぐためのテストではなく、品質を向上するためのテストは人間がしなければならない、という意味でしょうか。畢竟、自動テストはツールのひとつに過ぎず、コンテキストに応じて適切なテストツールを選ぶということに過ぎないのでしょう。
自動テストは銀の弾丸ではなく、コンテキストに応じてテスト戦略を変えていく中で選択可能な、ひとつの(強力な)ツールに過ぎないと言えます。
本書「LEADING QUALITY(リーディングクオリティ)」には他にも「品質ナラティブ」の話や「本番でのテスト」の話など、ソフトウェアの品質を向上していく上でとても興味深いことが書かれています。興味を持たれた方は是非読んでみて、感想を教えてください。待ってます。