最近のいくつかの記事で,アジャイル手法を他の産業に適用する取り組み,根本的問題に取り組むことでアジャイル採用の成果を改善するアイデアの提案,といったテーマが取り上げられていた。例えばAndy Hunt氏は,GROWS Method(tm)という,まったく新しいアプローチを提案している。またDan Greening氏は,アジャイルアプローチの中核となる概念を明確化するためにアジャイル基本パターンを提案し,その利用方法について説明している。これらコメンテータに共通するのは,組織や環境に特有の状況に適応することを忘れて規則の暗記と遵守に終始するという,精彩のないアプローチがもたらす不満足な結果に対処しようという考えだ。
アジャイルソフトウェア開発宣言(Agile Manifesto}原著者のひとりであるAndy Hunt氏は,自身の記事“The Failure of Agile”の中で,次のようなことを述べている。
“アジャイル”という言葉がスローガン化しています。よく言って無意味ですし,悪く言えば対外強硬論者です。多くの人たちは“軟弱アジャイル”,すなわち,一部のソフトウェア開発実践者の後を追って,惨めにも中途半端な試みをしているに過ぎません。アジャイルを声高に叫ぶ狂信者もたくさんいます。狂信者とはつまり,自らの目的を忘れてしまった後も,さらに努力を重ねていく人たちです。
さらに氏は,
アジャイルメソッドは実践者が自分自身で考えるように求めます。率直に言ってこれはかなり辛いことです。それよりも所与のルールに従っておいて,“本に書いてあることをしている”と主張する方がずっと楽です。簡単にできますし,嘲笑されたり非難されたりすることもありません。それを理由に解雇されることもありません。表向きは一連のルールによる範囲の狭さが問題にされるかも知れませんが,そこには安全性と快適性があります。当然ながらアジャイル – あるいは効率的 – であることと,楽であることは違います (私の記事”Uncomfortable with Agile”を参照)。
やってみたいと思う適当なルールだけ拾い上げて,難しそうなものは無視するのならば,新しい言語を作ったということになります! 問われて“アジャイルをしている”と答えることもできますし,ほとんど無駄な一部のルールを実践するために,自分のエネルギを集中することもできるでしょう。皆がそれで満足します。ただし,実際に成果を出す段階になるまで,ですが。
氏はただ不平を言っている訳ではなく,GROWSメソッド(tm)という新たなアプローチの提案もしている。
ここで言うGROWSは,“Growing Real-World Oriented Working System”という意味の頭字語で,Jared Richardsonと私(Andy Hunt)がずっと取り組んできたものです。
これらは重要なコンセプトだと思われます。ソフトウェアを設計したり構築するのではありません。そういったものは,あまりにも決定論的かつリニアなモデルであって,ここでは役に立たないのです。比喩としては“Growing/成長”の方が適切です。成長に変化は付き物ですから。“Real-world Oriented/実世界指向”というのは,すべての判断や方向付けは,現実の条件下でのフィードバックなど実際の証拠に基づいたものでなければならない,という考えを示したものです。そうでないものは,ファンタジーと希望的観測の不幸な組み合わせに過ぎません。そして当然,“Working System/実際に動作するソフトウェア”が,私たちの目指す最終的な成果物です。ただし,作業の費用や機能チーム,組織全体といった単位ではありません。ソフトウェア,チーム,ユーザ,スポンサ,すべてがひとつのシステムを形成するのです。すべての関係者のためにも,システム全体を確実に動作させなくてはなりません。
方法は似ているが,採用するアプローチの違うDan Greening氏が最初に取り上げるのはAgile Canonである。これは,アジャイルを適用するさまざまなパターンの説明を目的としたものだ。アジャイル手法導入の目的である価値を基準とした成果を達成する上で,何が必要なのかを科学的手法を使って調査し,選択の判断を支援する。
氏は言う。
狂信者はいますが,アジャイルは宗教ではありません。経済的混乱から利益を生み出すための科学的手法なのです。
ただし,
公平な立場で言えば,アジャイル支持者は宗教的に振る舞うことが間々あります。よく知られたアジャイルソフトウェア開発宣言は,”アジャイル”の定義として頻繁に引用されますが,その解釈には幅があります。この宣言は測定や実験,仕掛の制限などといった,アジャイル方法論の本質的な特性すべて(さらに科学面についても)について,明確には言及していません。つまり,テスト可能でないのです。さらに,この宣言はソフトウェアに焦点を当てているのですが,ソフトウェア以外の人たちにアジャイルの定義を問われた時も,私たちはこの宣言を引用します(すると彼らの関心は,あっという間に低下してしまいます)。私たちはアジャイル方法論を,生産や市場の問題に対する万能策であると喧伝していますが,そこで必要なコストやトレードオフ,スィートスポットなどについて説明していません。さらに悪いことに,私たちのほとんどは,それらに関する知識を持っていないのです。つまり,仮説を必死で守っているのであって,宗教なのです。
氏はこの問題に挑戦し,次のような説明を続ける。
批評家や友人が皆アジャイルを神格化したとしても,アジャイル方法論は,経済的混乱を解決すべく創造性を最適化する,科学的なフレームワークなのです。私たちはアジャイル方法論を学ぶことができます。 宗教ではなく,科学分野として認識されるためには,アジャイルのアクティビティを科学的に説明できなければなりません。科学的手法は私たちに,観察する,仮説を立てる,仮説を試すということを繰り返すように教えています。どういうことだと思いますか? 十分に管理されたスクラムのレトロスペクティブミーティングの参加者はプロセス仕様の効果を観察し,仮説を立てます(Doneの定義のように)。そしてスプリントで仮説を試します。これを繰り返すのです! 同じようなプラクティスは,どのアジャイル方法論にもあります。
氏は,アジャイル手法の効果的な適用の基礎となる“基本パターン”を特定し,商標登録された広範なアプローチを活用するための基本パターンとして公開を開始した。
アジャイル方法論は段階的に拡大して,経済的混乱を改善しつつあります。このフィールドを分析するに当って,アジリティを“ビッグテント”の視点で捉えることにしました。つまり,“アジャイル的”なメソッドならば,取り入れるようにしたのです。競合が発生すれば,アジャイルの境界を見出すことができます。スクラムとリーン/かんばんは一般的に創造的生産の経済性を,XP(Extreme Programming)は特にソフトウェア経済を,リーンスタートアップは顧客マーケティング経済を,GTD(Getting Things Done)とPomodoroは個人の生産性を,それぞれが最適化します。さらに,Toyota Production SystemとXM(Extreme Manufacturing)は複雑な製造を,Hoshin Kanriは実行戦略を,Rockefeller Habitは役員のリーダシップを改善するものです。
氏の挙げたアジャイル基本パターンとは,次のようなものだ。
- 経済的改善の計測
- 改善のための適応性試験
- 仕掛品の制限
氏は言う。
これら3つのアジャイル基本パターンはどのアジャイル方法論にも存在します。経済的混乱を,複雑系適応型の利益システムに転換するのです。