Always All Ways

Apologies, Glances and Messed Up Chances

プラクティスのCherry Pickingは善か悪か?

昨日、Agile Japan 2012が開催されました。私自身は今年は参加していなかったのですが、twitterなどで情報を追う限りでは今年も熱く有意義なイベントだったようです。それらを見ながら感じたことと今まで考えてきたことを合わせて、全体の文脈や空気を読まないまま、思いをまとめてみたいだらだらと書いてみたいと思います。

プラクティスのCherry Picking

"Cherry Picking"とは、Wikipediaからその説明を引用すると以下の通りです。

チェリー・ピッキング(英語:cherry picking)とは、数多くの事例の中から自らの論証に有利な事例のみをならべたてることで、普遍的な真理や政治的な妥当性を導こうとする論理上の誤謬、あるいは詭弁術。cherry-pickingの語義はサクランボの熟した果実を熟していないものから選別することであり、転じて「いい所取り」「(特売品専門の)購買者」「つまみ食い」の意味で使用される。
チェリー・ピッキング - Wikipedia

この通り、"Cherry Picking"にはネガティブな意味がつきまとっており、アジャイル開発の文脈においても「個別プラクティスのつまみ食い的な採用」として悪い意味で用いられます。実際、前職で組織へのScrumの導入・展開を進める上で、メンバーからよく聞かれた質問に次のようなものがあります。

この資料には、「Scrumを導入するなら最初からフルセットでやるべきで、Cherry Pickingはダメ」って書いてあるし、こっちの本には「できるプラクティスから順次導入していけばよい」って書いてある。どっちやねん?

現実にはどうか?

実際にアジャイル開発で成果を出している現場ではどうなのでしょう?
例えば、昨日のAgile Japan 2012での"DEEP AGILE PEOPLE"というセッションで解説をされた森崎修司氏はそこでの議論を受けて以下のような所感を述べられています。



ここでのキーは、「コンテキストに合わせたり、相手に合わせたり」と「一体となってあるべき方向に」でしょう。逆に言えば、成果を出している現場では、この2つのポイントをしっかり守った上で現場に合ったやり方をしているのであり、それは単に興味や取っ付きやすさなどに基づく「つまみ食い」としてのCherry Pickingではないということでしょう。

フレームワークとプラクティス

また、フレームワークとプラクティスについても、本当は分けて考えなければいけないとも思います。フレームワークとはまさに「枠組み」であり、本来はそれ全体として意味をなすものであり、一部を取り出してみたらもはやそれは「枠組み」としては崩れていることになります。一方で、プラクティスは(相互に依存するものもあるでしょうが)どちらかというと独立したものであり、個別に導入可能なもの、と私は理解しています。
そう考えると、プラクティスを取捨選択して現場のコンテキストに合わせて導入するというのは比較的やりやすいけれども、フレームワークを現実のコンテキストに合わせるというのは、それを総体としてテーラリングするということで、かなりの注意が必要な気がします。(フレームワークとしてのScrumの導入に関してよく言われる話はこのあたりと密接に関連しています。)

全体をイメージするためのミーム複合体としてのアジャイル

ここで思い出すのは1週間ほど前に、以下のエントリで書いたミームミーム複合体の話です。
アジャイル開発へのミーム学的アプローチ - Always All Ways
ここでは、アジャイル導入・展開をする上では個別の要素の導入よりもミーム複合体としてのアジャイルのブランド(ScrumとかXPとかKanbanとか)として導入をする方が現場に伝わりやすいと述べる一方で、それ自体は必ずしもトップダウンでのビッグバン的導入を意味するものではないと述べています。
ここら辺の使い分けというか手綱捌きが、成果を出している現場の特徴であり。また最初に紹介したセッションでの登壇者の「達人」の皆様に共通する「強み」なのではないかという気がしています。

アジャイルも進化している

もう一つ意識しておかなければいけないのは、アジャイルマニフェストManifesto for Agile Software Development)から10年を経過し、アジャイル開発自体も日々進化しているということです。
ちょうど、昨日Bob Marshall氏が以下のような挑発的(?)なブログ・エントリを書いています。(一節だけを引用しますが、短いエントリですので是非全文を読まれることをおすすめします。)

"The young Turks meanwhile have uncovered deeper, more fundamental blockers to effective software (and product) development. And they continue to push the envelope with fresh insights and novel combinations of knowledge from other fields. And thus, new solutions, too."
Time For the Agile Old Guard to Retire « Think Different

まとめ

ここでは述べませんでしたが、この辺の話は「守・破・離」の話だとかドレイファス・モデルの話、あるいは組織の成熟度などとも関連してくるのだろうな、と思います。つまり、フレームワークのテーラリングやプラクティスの取捨選択などが「善か悪か」と単純に考えることはできないということです。それこそ、コンテキストによっては善にもなれば悪にもなります。
結局、一番大切なのはやはり「自分たちの頭でちゃんと考える」ということですかね。そして自分たちの頭で考えることとそれを実践する勇気と覚悟を再確認する場が、毎年のAgile Japanという「場」なのだと思います。