このブログで知ったのだけども、フレデリック・ブルックスの銀の弾丸についてWikipediaにすごく詳細なページがある。知らなかった。というわけで、今回は(みんな大好き)銀の弾丸の話。
そういえば此処にも書かれていたけれども、この本をマネージャ屋で未読なのは罪だと思うよ。
鉛の弾丸
ブルックスもいいけれども、個人的にはアジャイルと規律にある「鉛の弾」の話もあわせて読みたい。
アジャイル手法も計画駆動型手法も、フレッド・ブルックスが言うところのソフトウェア工学の「狼男」を退治するための「銀の弾丸」の方法論とはなりえない。(中略)アジャイルや計画駆動型のアプローチはどちらも「鉛の弾丸」程度にはなれるかもしれない。(中略)スピードの一段の加速が、次のような仮説が誤りであったことを浮き彫りにしつつある。「今年やってきた狼(ソフトウェア)はこの鉛の弾丸(ソフトウェア技法)でやっつけることができました。来年奴らの進化した子孫が現れたとしてもまた同じ弾丸でやっつけることができます」
アジャイルと規律
永続的に問題を解決する手段などは無い。すべてのプロジェクトはユニークであり、われわれはポケットの中から目の前の「狼男」を退治出来るかもしれない弾丸をとっかえひっかえ探し出して撃ってみるしかないのだと思っている。
撃つ前に弾丸の名前を言う必要はあるか
冒頭で紹介したこのブログでは、アジャイルプロジェクトマネジメント手法であるスクラムを導入して失敗(?)した楽天での事例が紹介されている。
- 悩めるアジャイルに贈りたい『銀の弾などない』には続きがあるということ #devlove | 「世界」旅と子育てを愛するアジャイルコーチのブログ
- 私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
スライドは断片的なので実際がどうなのかはまったくの憶測なのだけれども、スクラムを導入する宣言などをして推進したけれども、うまくいかなかった話のように読み取った。
ここで疑問なのは、最初に「スクラムをやる」ことを宣言する必要があったのかという点だ(真実は違うかもしれないけれど)。
別にアジャイル関連に限らずなのだけれども、何かしらの手法や方法論を導入するときに「その名前」を高らかに宣言するのはあまりうまくない手だと思っている(強烈なトップダウン指示でやる場合を除き)。手法のメリットばかりが最初に強調されすぎて、実際にやってみるとガッカリな結果になることも多い。保守的な人は「新たな手法」というだけで批判的になってしまうこともある(ある種のエンジニアは非常に保守的だ。そして品質や生産性等に対して高いプライドと実績を持っていたりもする)。
そこで(状況が許すなら)「撃つ前に弾丸の名前を言う」ことをやめればいいと思う。
- 冒頭の例であれば、スクラムという単語は一切使わない。誰にも言わない。
- 実はスクラムなんだけれども、思いついたような素振りで提案する。
- 過去の失敗事例の改善などの体裁を取るともっと良い。
- 必要であれば組織の上層部にだけこっそり伝えて承認を取っておくとか。
- 成功したときだけ、「実はスクラムだった」ということを明かす(弾丸が当たったときだけ弾の話をする)。
- 成功事例として組織などで成果を披露する
- 「実は元ネタがあった」ということをこの段階で明かす
- 失敗したら、黙っておく(弾丸が外れても何も言わない)
上記はスクラムを想定した例を書いたけれども、いろいろなプラクティスをプロジェクトに導入する時も同じように出来ると思う。わたしは以前にあるお客様でアジャイル的なアプローチでプロジェクトをやっていたことがあるけれど、1年くらいは誰も気づかなかった。第2弾プロジェクトの半ばで顧客についうっかり教えてしまい、顧客が何かの取材に受け答えしてしまったので会社にバレた・・・というのはセピア色の思い出。