ニュージーランドのオークランドで昨晩,"アジャイル: 優れた実践,粗末な理論 (Agile: good practice, poor theory)" と銘打った Dave Snowden 氏の講演が,Agile Professional Network 総会による主催で行われた。
Snowden 氏の講演のテーマは,なぜ "ITアジャイルと企業戦略を連携させるためのよりよい方法を見つけなければならない" のか,というものだった。経営層にアジャイルになるよう求めても無理であろうし,"経営者はスカイリゾートで作られたマニフェストについて聞こうとは思っていない" のだ。
氏の意見によれば,要求収集に関する現在の私たちのアプローチ (アジャイルであってもなくても) は根本的に破綻をきたしている。認知バイアスによって汚染された結果が,要件確認プロセスで思い浮かんだ最初の,あるいは2つめのアイデアへの執着として表装化している,というのだ。それに代わるものとして氏が紹介したのが,分散認知 (Distributed Cognition) に基づくアプローチである。これは人々が既存システムをどのように使っているのかを監視し,彼らが好むものと好まないものに対するフィードバックや,彼らの持っているかも知れないアイデアを収集するためのメカニズムを提供する,というものだ。氏はこれがクラウドソーシングではないこと,人間の持つ知性を置き換えるのではなく,知性を増幅するためにコンピュータを使用する テクニックであることを特に強調した。
氏は参加者の観察力を確かめる簡単な実験を用意していたが,その異常に気付いたのは 80 人程の聴衆の中でわずか8人だった。この結果について氏は,西洋文化人の大半は実際に見ているものの3~5% 程度を認識するだけであって,残る95%以上の様子はパターンマッチングに基づいて脳に記憶されているのだと説明した。(興味深いのは,アジア文化の人々の観察率が10%程であることだ。恐らくは彼らが象形文字言語を使っていることに起因するのだろう。) このようなパターンマッチング行為が引き起こす問題のひとつは,"ベストフィット" パターンよりも "ファーストフィット" パターンを選択しがちである,ということである。つまり私たちには,誤りがあるかも知れないような,早急な判断をする傾向があるのだ。
次に氏は,人間システム (human systems) を話題として取り上げた。ただし生態学としてよりも,むしろ多数の相互作用を伴った複雑適応系 (complex adaptive system) としてである。人間システムが予測性を持った機械論とはいかに異なるものか,さらには予測・原因ドメインを対象として設計された管理/制御技術を複雑適応系に適用することがどれほど危険か,という点が議論の対象となった。
複雑適応系で作業する場合には,氏の言う3つのモード – "See", "Attend", "Act" – で行動する必要がある。各モードにはそれぞれ,独自のプロセスと行動方法が存在している。すべてを同じプロセスで対処しようとすれば,そこで得られるのは次善の結果に過ぎない。
これらの概念を説明するため,氏は過去数年間のテクノロジ市場における購入行動を引き合いに出した。彼らの選択を見る限り,大多数の人々はすべての事を単一で行おうとするモノシリックなツールよりも,それぞれ別の事を実行するさまざまなツールやアプリの方を選択しているようだ。その例として氏は Microsoft Word を取り上げ,数多くのアプリをデバイス上に所持して,シンプルなインターフェースで別々のタスクを簡単に実行する App スペースでの作業との対比を行った。さらに熱心なハイカーでもある氏は,自身がハイキングに利用できるアプリを 15 個も (GPS トラッキングからパブファインダ (pub finder) に至るまで) 持っている理由について説明した。そこで挙げられた理由は,1) 多数のアプリから選択できれば,それぞれのアプリを単一機能,あるいは少数の機能グループと関連付けられるので簡単である,2) どのアプリを使えばよいのかを,その時点で達成したいことを基準に選択できる,3) アプリの選択さえしてしまえば,希望するタスクの選択は単一ツールの複雑なメニューをたどるよりも認知的に容易である,という3つだ。
話題はイノベーションと EXAPTATION へと続いた。EXAPTATION (外対応) とは,ある機能のために開発されたツールを取り上げて,それを別の用途に再利用するアクティビティのことだ。外対応について氏は,根本的な変化を生み出すものであり, 今日の社会におけるイノベーションの最大の源である,という意見を持っている。氏は外対応のプロセスを "管理されたセレンディビティ (偶然に発見をする能力)" であると定義し,それを活用している組織としての Apple Computer に言及した。Apple のイノベーションの大半は新たなアイデアではなく,既存のアイデアの新たな利用法である,というのだ。
講演の締めくくりとして氏は,自身が開発した クネピン (Cynefin) フレームワーク を紹介した。ある組織のアクティビティは,その フレームワーク の4象限のいずれかで発生している,というものだ。
- Simple (単純) – 因果関係はすべて明白,「気付き - 分類 - 対応」アプローチ,最善のプラクティスの適用。
- Complicated (込み入った) – 因果関係の把握には分析あるいは何らかの調査,専門知識の適用が必要,「気付き - 分析 - 対応」 アプローチ, 適切なプラクティスの適用。
- Complex (複雑) – 因果関係の把握は振り返りによってのみ可能であり,事前には不可能,「調査 - 気付き - 対応」 アプローチ,突発的なプラクティスの気付き。
- Chaotic (カオス) – システムレベルでの因果関係が存在しない,「行動 - 気付き - 対応」アプローチ,新たなプラクティスの発見。
氏は多くの実践者たちが "Complicated" と "Complex" のドメインを混同しているという。前者の環境では適切なプラクティスの利用を図ることができるのに対して,後者では Complecated 空間での効果と Complex 空間での効果が異なる場合,場合によっては害を及ぼす可能性のあるような場合を想定した実験が必要なのだ。
氏はこの実験的アプローチの重要性を強調して,Complex 環境において最善のアプローチを見つけるためには実験を行うための条件が非常に大事である,と語った。
- 簡単かつ安価で,失敗時の安全性に確信の持てる実験を数多く実施すること。
- 実験のいくつかは失敗に終わる必要がある。そうでなければ何も学ぶことはできない。
- 実験のいくつかは間接的 – 問題を直接解決しようというのではなく,外適応の機会を求めるもの – でなければならない。
これらの条件を満足しない実験には,組織の問題に対して革新的なソリューションを実際に見いだす,あるいは機会を活用する,という意味での価値はない。
ソフトウェア開発は基本的に Complex 環境である。ニーズを前もって完全に理解することは不可能であり,実験は不可避だ。アジャイルプラクティスは,創発的性質を持つビジネスニーズのような Complex 環境に非常に適している。また段階的開発は,実験的アプローチにフィットする。
アジャイルメソッドの進む方向は正しいが,多くの実践者はその原理を理解できていない,と氏は考えている。そのような状況では,複雑な環境の発生時に必要な実験を認める代わりに規範的ルールを定義するという,教条主義に陥る可能性がある。アジャイルメソッドが,適用すべき一連のガイドラインではなく,準拠すべき一連の固定的ルールと化したならば,次善策のソリューションが結論になるかも知れないのだ。
複雑性理論を正しく理解しないアジャイル実践者 (氏によれば,特にアジャイルコーチ) は,実験や適応を必要とするような複雑な領域において,その環境の複雑さに見合うように複雑な教義や規則を押し付けようとするかも知れない。
組織のシステムは Complicated と Complex 間の継続的なサイクルに移行する。そこで重要になるのは,現在の作業が Complicated (実証済の適切なプラクティスが存在する) 状況であるのか,Complex (新たな作業方法につながるかも知れない実験と経験の場) なのかを認識できることである。
氏のアプローチは意図的に議論の余地を残しつつ,アジャイル運動の "聖域 (sacred cows)" を容赦なく攻撃している。唯一のプロセスを対象とするスクラム信仰や,スクラムマスタの役割に関しては特に批判的である。
アジャイル実践者とチームに対する氏のアドバイスは,複雑性理論を学ぶことでモードを切り替えるタイミングを知り,Complicated システムのルールを Complex 環境に適用しないようにする,というものだ。
Shane Hastie 氏はアジャイルコーチ,トレーナ,コンサルタンとして,オーストラリアおよびニュージーランドのソフトウェア教育に携わっている。