自分の発言に謝罪をしつつ、私がお勧めするソフトウェアテストの本の特徴を言語化する

はじめに 〜この記事を書くきっかけとなる発言と謝罪〜

先日、X上にてこのようなポストをしました。

これに対して、末村さんから次のような指摘をいただきました。

有用な指摘ありがとうございました!この指摘はごもっともです。この指摘から言える私の落ち度は次のようなものです。この場を借りて、謝罪させてください。

  • 「地雷な本」というパワーワードを使ってしまった
    • 特にこの表現は表現の自由を侵害していました。本当に申し訳ございませんでした。
  • 具体的にどのような本が「地雷な本」だと考えているのか分からない形で記載していた
    • それにより、ソフトウェアテストの本を執筆している人に不快感や不安を与えてしまったかもしれません。こちらも申し訳ございませんでした。
  • 「出版社通してフィードバックする」は既に行なっているが、それが見えない形でのポストになってしまっていた

その後、じゃここんぶさんから、地雷な本の公開についての議論をいくつか行いました。その中のポストの1つがこちらです。

せっかくこのようなご指摘をいただいたので、じゃここんぶさんの「お勧めできない理由の公開」とは若干異なる形にはなってしまうのですが、「お勧めできる本の特徴」として自分なりに考えてみたいと思います*1

なお最初に示した、表現の自由を侵害しているポストについては、本記事が出て皆さんの目にある程度触れてから、ポスト自体を消去したいと思います。本記事で謝罪したとはいえ、私が発言したという事実は変わりませんので、消去後はポストのスクショを本記事に載せ続けたいと思います。

お勧め度合いの違い

本記事におけるお勧め度合いの違いについて簡単にまとめたものが次のようなものになります。

  • 共通してお勧めできる本…共通して本当にお勧めできる本
  • 個人的にはお勧めできる本…人によっては考え方が違うかもしれないけど、この本で理解しても後々の苦労にはならないので、私だったらお勧めする本

今回の対象について

今回は「初学者に本をお勧めするとしたら…」という前提で書いています。

また、私の得意分野であるソフトウェアテストの本を想定して書いています。

共通してお勧めできる本の特徴1…参考文献が充実している/しっかりと明記してある

参考文献の充実度は重要な要素です。独自の考えを突き進んでいることが少なく、また考え方が違うと読者が感じても、すぐに原典に当たることができます。

ソフトウェアテストの本ならば、ISTQB(JSTQB)のシラバスISO/IEC/IEEE 29119IVECのシラバスなどが参考文献として載っていて良いはずです。これらの情報を避けて執筆する方が難しいです。

例外:古典書

今回の件で、以下のようなポストも貰いました。

古典書(昔に刊行された本)は例外(参考文献が多くなかったとしてもお勧めできる可能性が高い本)だと思っています。なぜならば、仮に参考文献の記載が少なかったとしても、そもそも執筆時に参考にできる情報がなく、自らの経験による部分が大きいからです。ISTQB(JSTQB)のシラバスでは、Myersの『ソフトウェア・テストの技法』を参考文献として挙げているぐらいです。Myersの『ソフトウェア・テストの技法』自体は「初学者にお勧めする本」としては難しいかもしれないですが、良い本だと個人的には思っています。

共通してお勧めできる本の特徴2…問い合わせをすると誠実な対応を貰える

本を書き上げる上で、ミスが発生するのは当然です。そのようなミスについて指摘があった場合に、誠実に対応していただける本はお勧めです。正誤表を載せる等の対応に繋がり、間違った内容が極力広まらなくなります。このように対応してくれる本はぜひお勧めしたいです。

「どうして共通してお勧めできる本の特徴なのか?」と思われるかもしれません。過去の経験上、問い合わせの対応によって劇的に変わった例を知っているので、「共通してお勧めできる本の特徴」に挙げさせてもらいました。

個人的にはお勧めできる本の特徴1…一般的に知られている考え方や呼び方での説明になっている

先ほど書いた「ISTQB(JSTQB)のシラバス」「ISO/IEC/IEEE 29119」「IVECのシラバス」で広く知られている考え方で説明している本はお勧めできます。

本によっては、広く知られた考え方とは違う、独自の考え方や呼び方で書かれている本もあります。それらが「初学者が1冊目に読む本」としては読みやすく感じるかもしれません。しかし、そこからさらに別の本で勉強しようとすると、「他のどの本も考え方や呼び方が異なっているため、1冊目の本だけが頼りになる」もしくは「2冊目以降の本を読むために結局学び直す」ということになります。呼び方が異なっている場合は、「1冊目の本ではXXXと書いてあったこの用語は、2冊目以降の本ではYYYと書いているから…」とマッピング表を作ることになります。

そのため、一般的に広く知られている考え方・呼び方で説明している本をお勧めしています。

独自の考え方や呼び方を否定するつもりはない

もちろん、独自の考え方や呼び方自体を否定するつもりはありません。ある程度学習して、広く知られた考え方を学んだ人が読む分には有益だと思っています。しかし、今回は「初学者に本をお勧めするとしたら…」という前提で書いているため、そのような初学者に対してだと独自の考え方や呼び方ではなく、一般的に知られている考え方や呼び方での説明になっている本をお勧めするかなと思います。

個人的にはお勧めできる本の特徴2…一般的に知られている用語を用いて、独自の解釈をしているが、どこからが独自の解釈なのか分かりやすくなっている

よく知られている用語を用いていても、途中で独自の解釈が入ってくる場合があります。その際に、独自の解釈であると分かるような記述がある本は丁寧で、お勧めできる本だと思っています。

もちろん、著者が独自の解釈として捉えていない可能性があります。その場合は、「共通してお勧めできる本の特徴2…問い合わせをすると誠実な対応を貰える」と重なることで、後々修正が入ることができます。

個人的にはお勧めできる本の特徴3…レビュアーが多い/多様である

レビュアーが多いと、無意識に独自の解釈を進めたり、考え方が間違っている場合にストップがかかります。

レビュアーについては著者名に記載されないため、謝辞があるか確認すると良いでしょう。

また、複数の会社の人からレビュアーが入っているか確認すると良いと思います。ソフトウェアテストという分野においては、コンテキストが違うことがかなり多いため、レビュアーが全員同じ会社の人の場合、その時点で偏ったコンテキストで本が書かれている可能性があります。

私もお勧めできない本の執筆者になる可能性がある

途中でも書いたように、著者本人は無意識に書いているが実は参考文献があったり独自の解釈をしている可能性は大いにあります。私自身も何冊かの本を翻訳したり執筆したりしていますが、既にそのような事態になっているかもしれません。

そんな時に助けになるのが、周りの方からのレビューだったり、出版後の読者からの指摘だったりします。

例えば、「シフトレフトなテスト活動」については、最初はうまく区別せずに発表していた自覚があります。井芹さんは、その部分を整理して『Software Design 2024年2月号』に記事を寄稿してくださりました。

本当にありがたかったですし、これをもとに、以前の私の記載内容や発表資料を訂正できています。

また今回の件についても、末村さんが声を挙げてくれたからこそ私自身も落ち度に気付くことができました。こういった指摘をくださる方が身近にいてくれて本当に良かったなと思っています*2。改めてありがとうございました。

私も翻訳本を書いたり、発表資料を作成する立場です。こういった周りの人の助けを借りつつ、今後も「お勧めしたい」と思ってもらえるように、私自身、これからも精進していきたいです。

おわりに 〜お勧めする本は具体的には何なのか?〜

ここまでは、お勧めする本の特徴を記載してきました。

「それじゃあ、具体的には何がお勧めの本なの?」という質問ですが、これは冒頭のXのポストにも挙げたように、kazuさんの資料の中でうまくまとめてくれています!

デブサミ2023 / テストを学びたい開発者のためのソフトウェアテスト読書マップ / Software Testing Reading Map for Developersより

こちらに載っている本は、私個人としてもお勧めの本が多いので、ぜひ参考にしてください!

*1:じゃここんぶさんからは、「お勧めできない本の特徴について公開してほしい」と質問が入ったのですが、表現の自由を守りつつ、かつポジティブな形で残したいと考えたため、お勧めできる本の特徴の記載にしています

*2:末村さんとは以前から親交があり、私が末村さんの執筆本のレビュアーになったりしています。それぐらいの間柄でありながら、このような指摘を貰えて本当にありがたかったですし、それによって裸の王様状態だった私を救ってくれたと思っています