「バグを憎んで人を憎まず」を探して

:::note info
この記事はLITALICO Engineers Advent Calendar 2023 カレンダー1の17日目の記事です。
:::

QAエンジニアの鈴木です。
みなさん、バグ、憎んでますか？
Yesの方、何か温かいものでも飲んで今日くらいは早く休んではいかがでしょうか。

不穏なスタートになってしまいましたが、この記事は「バグを憎んで人を憎まず」という言葉がいつごろから世に出たのかを自分なりに調べてみたものです。

# 結論から
ネタ記事なので先にオチを書いてしまうと、
「バグを憎んで人を憎まず」が最初に世に出たのは、雑誌『Trigger』の1984年11月号（の可能性が高そう）です。
調べてみた範囲でこんなことがわかりました／わかりませんでしたという記事です。あらかじめご了承ください。
では、この後は調べるにあたってどんなことをしたかを書いていきます。

# はじめに
『ソフトウェアテスト293の鉄則』という本があります。
そのなかの鉄則154が「バグを憎んで人を憎まず」で、"Focus on the Work, Not the Person"の訳として出てきます。
なお、鉄則というのはゆるぎのない、きびしい規則という意味だそうです。VUCAの時代においてもソフトウェアテストには293ものゆるぎのないことがあるのです。身が引き締まります。
ところでこの言葉はいつごろから、だれが言い出したのでしょうか。
元は「罪を憎んで人を憎まず」でしょうが、バグについてうまいこと言ったのはこの本が最初なのでしょうか。

# 調べてみた
## Google検索
『ソフトウェアテスト293の鉄則』は2003年4月初版とのことだったので、Google検索の検索期間指定を使って2003年3月31日より前を対象に「バグを憎んで人を憎まず」を検索してみます。
キーワードそのものにヒットするのは1件だけで、1999年2月発売の雑誌『DesignWave』付録のコラムをWebページに載せているもののようです。
https://www.cqpub.co.jp/dwm/column/ito/dwm0020itom5.htm
ソフトウェア・コンサルタントの伊藤昌夫氏が書籍『ソフトウェアの構造化ウォークスルー』を紹介するなかで出てきます。
> さらに，もう一つの原則を忘れてはいけない．いわく「バグを憎んで，人を憎まず」．

「いわく」とあるので『ソフトウェアの構造化ウォークスルー』のなかでこの言葉が使われているのでしょうか。

## 書籍『ソフトウェアの構造化ウォークスルー』
原書は『Structured Walkthroughs』で日本語版には初版、第2版があります。
初版が1981年10月、第2版が1991年11月に出版されています。
Google検索でヒットしたコラムは第2版を取り上げたものでした。

どちらも絶版となっているので図書館で借りるか古本を買うしかなさそうです。
図書館の蔵書を調べたところ、行けそうな範囲では国会図書館にあることがわかりました。
ちなみに図書館の横断蔵書検索は[カーリル](https://calil.jp/)を利用しました。

古本はあるようでしたがなかなか高騰しているようです。
初版に載っていれば最古が確定ですが、載っていなければ第2版も買うことになります。
どうしたものか…。

## 図書館のレファレンスサービス
ここでやや時間がさかのぼるのですが、Google検索と並行して近所の図書館の司書の方にも相談していました。
レファレンスサービスの過去事例で言葉の出典を調べたものがあったことを思い出したためです[^1]。
相談から数日後に電話があり、新情報を教えていただきました。
雑誌『Trigger』の1984年11月号で水野幸男さんのインタビューにキーワードが出てくる。ただし、本人の話した言葉として載っているのではなく、記事の見出しのひとつとして使われているとのことでした。

1984年となると『ソフトウェアの構造化ウォークスルー』第2版（1991/11）よりも前です。
『ソフトウェアの構造化ウォークスルー』初版（1981/10）にキーワードが載っているかどうかで最古が決まりそうだということがわかりました。

次の土曜日、ひとまず国会図書館に向かうことにしました。
普段はこどもの習い事に付きそう役目があるのですがこの日は妻にお願いしました。
夫の謎の行動に対して、とても理解があったか、まったく関心がなかったかのどちらかだと思いますが、いずれにしてもありがとう。

## ここまでの時系列まとめ
| 年月 | 種類 | 名前 | 備考 | キーワード有無 |
|:-:|:-:|:-|:-|:-:|
| 2003/04  | 書籍  | ソフトウェアテスト293の鉄則  | 鉄則154として  | あり  |
| 1999/02  | 雑誌  | DesignWave  | 伊藤昌夫氏のコラム  | あり  |
| 1991/11  | 書籍  | ソフトウェアの構造化ウォークスルー第2版  |   | ？  |
| 1984/11  | 雑誌  | Trigger  | 水野幸男氏のインタビュー見出しとして  | あり  |
| 1981/10  | 書籍  | ソフトウェアの構造化ウォークスルー初版  |   | ？  |

## 国会図書館
11時すぎ、秋の色が残る永田町駅に到着しました。
新館で利用者登録を行い、入館します。
前に来たのは絶版になった楽譜を閲覧するためだった気がします。いまだに耳コピができません。
館内のパソコンでデジタル化された書籍を閲覧します。
ここでわかったことが2つあります。
- 『ソフトウェアの構造化ウォークスルー』初版はデジタル閲覧ができるが、第2版は関西館にしかない。[^2]
- デジタル化された書籍は全文テキストがあるものとないものがあり、初版は全文テキストがない。

全文テキストがあればキーワード検索ですぐに結果がわかるのですが、それができません。
この本に「バグを憎んで人を憎まず」と書かれているかどうかは全部見てみるしかないようです。
なお、こどもの習い事2つ目は私が送っていくことになっていて、15時から始まります。
しかも国会図書館の食堂で何か食べてみたいという別ミッションもあり、あまり時間がありません。
170ページほどの書籍からキーワードを探します。目grepです。
> いつも、いちばん大きい魚をつかまえようとする私の息子

出だしの献辞でこんな文に出会い、休みの日にこどもと過ごさず役にも立たないことを調べている私はいったい…といきなりつまづきましたがなんとか2周しました。
結果、ウォークスルーで気をつけるべき点として人身攻撃に巻き込まれてしまい、ねらいがぼやけてしまうといった記述はあるものの、「バグを憎んで人を憎まず」とは書かれていなさそうでした。

『ソフトウェアの構造化ウォークスルー』初版（1981/10）には載っていなかったので、『Trigger』（1984/11）が「バグを憎んで人を憎まず」を取り上げた最も古い媒体のようだということがわかりました。

## 時系列まとめ
| 年月 | 種類 | 名前 | 備考 | キーワード有無 |
|:-:|:-:|:-|:-|:-:|
| 2003/04  | 書籍  | ソフトウェアテスト293の鉄則  | 鉄則154として  | あり  |
| 1999/02  | 雑誌  | DesignWave  | 伊藤昌夫氏のコラム  | あり  |
| 1991/11  | 書籍  | ソフトウェアの構造化ウォークスルー第2版  |   | 未  |
| 1984/11  | 雑誌  | Trigger  | 水野幸男氏のインタビュー見出しとして  | あり  |
| 1981/10  | 書籍  | ソフトウェアの構造化ウォークスルー初版  | 国会図書館でデジタル閲覧  | なし  |

## 雑誌『Trigger』
『Trigger』もデジタル閲覧できたので内容を確認してみます。
コンピュータソフトの世界にQCを持ち込んだ男と題したインタビューで、記事を書いたのは野口恒（ひさし）氏のようです。
水野氏の大学時代の話から米軍キャンプでのコンピュータとの出会い、ソフトウェア技術者不足の現実、生産性・品質向上への取り組みなどが紹介されていました。
司書の方がおっしゃっていたように水野氏が直接発した言葉ではなく見出しとして「■バグを憎んで、人を憎まず」が登場します。
40年近く前のものですが、ソフトウェアの品質を高めるための地道な取り組みが紹介されていて大変参考になりました。本文のなかで特に印象的だったのは以下の箇所です。
> みんなで原因究明をやれば、ひとつの失敗はみんなの教訓となり、結果的に品質の高い仕事をみんなができるようにする

## 気になる
調べられた範囲では世に出たのが1984年のようだということがわかりましたが、まだ気になることが残っています。
- 記事を書いた野口氏がここで生み出した言葉なのか、以前からソフトウェア開発の現場では使われていたのか。
- 『ソフトウェアの構造化ウォークスルー』第2版には載っているのか。（結局、買いました。）
- もし載っていた場合、なんという英文を訳したのか。

可能な範囲で引き続き調べてみたいと思いますが、もしご存知の方がいれば教えていただけると幸いです。

# おわりに
書籍のデジタル化、図書館のレファレンスサービスなしには辿り着けませんでした。
とても価値のある取り組み、仕組みだとあらためて実感しました。ありがとうございました。

国会図書館の食堂ではカツカレーを食べました。
目の前で盛り付けてくれるのですが、係の方の白米を投入する手が止まりません。
食べきれないかも…と怯んでいましたが、あまりのおいしさに完食でした。ごちそうさまでした。

# 参考
- 『ソフトウェアテスト293の鉄則』（Cem Kaner、James Bach、Bret Pettichord著　テスト技術者交流会訳、日経BP）
- 『ソフトウェアの構造化ウォークスルー』（E. ヨードン著　國友義久、千田正彦共訳、近代科学社）
- 『Trigger』（日刊工業新聞社）
- [「ウォークスルー」を成功させるコツ――ソフトウェア工学のテクニックがHDL設計を支援 partII](https://www.cqpub.co.jp/dwm/column/ito/dwm0020itom5.htm)
- [国立国会図書館デジタルコレクション](https://dl.ndl.go.jp/)

[^1]:[レファレンス協同データベース](https://crd.ndl.go.jp/jp/library/user_general.html#enjoy)で問い合わせ事例を見るの楽しいですよね。
[^2]:カーリル検索時に第2版が関西館にしかないことは示されていたようだったのですが、理解できていませんでした。