最近、周りで銀の弾丸を提供しようとしている人が散見されたので、思ったことをつらつらと。
「銀の弾丸を求めるな」というのは、「どんな場合でも活用できる万能なプラクティスなんて無いんだよ」という話だけではないと思ってます。
普段から同じプラクティスを使っている場合に、「本当にそのプラクティスが適切か常に見つめ直す必要があるんだよ」ということを伝えてるような気もしてます。つまり、「昔も今も未来も同じプラクティスを当てはめている=銀の弾丸」となっていないかと見つめ直すことも大事なのでは?という主張です。
『人月の神話』より
書籍『人月の神話』の第16章「銀の弾などない——ソフトウェアエンジニアリングの本質と偶有的事項」の一節
現代のソフトウェアシステムでこれ以上還元することができない基本的要素に含まれる固有の性質
の1つとして、可変性が挙げられています。
ソフトウェア実体は、つねに変更という圧力にさらされている。
(中略)
大当たりしたソフトウェアはまずたいてい、すべて変更される。行われる作業は2つの工程である。あるソフトウェア製品が役立つと分かると、人々はもともと処理対象としていた領域ぎりぎりもしくはその領域を超えるような新しい使い方を試してみようとする。主として、拡張機能のために変更してほしいという圧力は、基本機能が気に入っていて新しい使い方を考え出す利用者から出される
次に、大当たりしたソフトウェアは最初に書かれた対象である機械機器(媒体)の通常の寿命よりも長く使用され続ける。新しいコンピュータが出てこないとしても、新しいディスクや新しいディスプレイ、新しいプリンタが出てくれば、ソフトウェアは成功する見込みのある新しい機器(媒体)に順応しなければならない。
要するに、ソフトウェア製品はアプリケーションや利用者、慣習および機械機器(媒体)といった文化的マトリックスにすっかりはめ込まれているのだ。そしてそれらは絶えず変化し続けるものであり、その変化がソフトウェア製品に容赦なく変更を強制するのである。
ソフトウェア以外のプラクティスでも同様のことが言える
『人月の神話』ではソフトウェアについて話していますが、それだけでなく常日頃行なっている様々なプラクティスに対しても同様のことが言えると思ってます。
例えば、Daily Scrum。
「前回のデイリースクラムから行ったこと・次回のデイリースクラムまでに行うこと・問題点を15分以内で話し合う」という風に言われてるけど、それって本当に適切なのかな?と疑問を持って良いはずです。*1
例えば、レトロスペクティブ。
「今までKPTでやってました。KPTを導入してみたら我々のチームではうまく行きそうだったのでKPTでやり続けてます。」と言ってたりするけど、それって本当に今でも適切なのかな?と疑問を持って良いはずです。
やっているScrumイベントや、構成しているチームメンバーが変わっていないとしても、適切なプラクティスは日々刻々と変わるはずです。
それを無視して「それだったらこのプラクティスを使えば良いよ」と案にプラクティスを薦めるようなAgileコーチがいるとしたら、それはどうなのかなと思ってます。
病院での検診の例
例えば、病院での検診で考えてみましょう。
「どんな人が来ても、腹痛を訴えてきたら痛み止めを処方して終了」という医者は信用できないですよね?
ただそれだけでなく、「Aさんが来たら、腹痛を訴えた時には痛み止めを処方して終了」という医者も信用できないはずです。
同じ人が訴えているいつも通りの腹痛とは思ってたけど、ちゃんと調べたら実はガンだった、かもしれません。
「いつも通り」という思考停止
変化を見極めず、いつも通りというプラクティス*2を提供するような人は、医者でもアドバイザーでも信用できないと思ってます。 ただし、プラクティスではなく本質的な考え方はあまり変化せずに当てはまることが多いので、その部分は引き続き大切に持ち続けたいものです。(自戒を込めて)