James Shore氏はAgile Australliaで,“Bringing Fluency to your Agile teams: Coaching for Best-Fit Agile”と題した,単日のワークショップを開催した。ワークショップの中心は,氏がDiana Larsen氏と共同で開発したAgile Fluencyモデルである。これはアジャイルコーチがさまざまなチームと活動する上で,アジャイルの価値や原則,プラクティスに関する流暢性(fluency)のレベルに基づいたアプローチ選択のために利用するツールだ。
ワークショップに関する説明は,次のようなものだ。
チームや企業のニーズに合った,アジャイルコーチとしての最善の取り組み方を決める方法を学びましょう。チームのアジャイルに対する理解が深まれば,アジャイル移行に対する視点も,克服すべき課題も変わります。それはチームの結束力か,技術的スキルか,あるいは企業政治なのか。チームにとって適切な投資が何なのかは,チームの置かれた立場や望むもの,組織が何を提供しようとしているのかによって決まります。
氏のワークショップは,流暢性と熟練度(proficiency)の重要性を比較説明することから始められた。氏とDianaは,短期間に言語を学習する技術を確立したLanguage Hunters氏の業績に影響を受けている。言語を話す熟練度には,個別の単語や簡単な文章を理解できるレベルから,ネイティブスピーカと区別のつかないバイリンガルまで,4つのレベルがある。
氏はこれをアジャイルプラクティスのコンテキストに当てはめて,チームの熟練度レベルを,プレッシャ影響下の行動様式によって定義する。納期が迫った場合でも規律あるTDDアプローチを維持できるか,あるいは“コード・アンド・ハック”に戻ってしまうのか。常に自己組織化を維持できるか,あるいは管理手法的に制約された目標を設定する能力レベルなのか。
ここで氏は4段階のモデルを示して,その経路上の各停止点において現れる行動とメリット,その課題についてそれぞれ説明した。氏がここで指摘しようとしたのは,チームの選択する停止位置が,彼らの状況および環境において最も合理的な場所である,という点だ。
図中の星の数が,その位置で必要とされるプラクティスとチーム特性のレベルを表現している。
星1つ
このレベルのチームは,アジャイルのセレモニやプロセスに精通している。彼らは本当の意味でチームとして共に行動し,プラクティスの積極的な学習と適用のためにレトロスペクティブを活用する。チームがビジネス価値について明確に理解することを支援する,権限を備えたプロダクトオーナあるいはビジネス側の代表者が存在している。チームは(制度としてのイテレーションの有無とは別に)一定のリズムで作業し,自らの作業がビジネス目標に整合したものであることを示す能力を備えている。
このレベルにおいては,透明性の向上とハンドオフ遅延の低減を通じて,生産性の向上やリスク削減を期待することができる。
チームが星1つを獲得するためには,一度にひとつのことに集中できることと,プロダクトバックログに対する明確な価値の視点を備えていることが必要だ。一般的には,アジャイルプラクティスを適用して2~6ヶ月程度で,星1つの流暢性に到達することができる。
非公式な調査によれば,およそ45%のチームは,自らを星1つのチームであると評価している。
星2つ
星2つのチームには,星1つのチームの社会的能力とプロセス能力の上に,技術面での習熟度が加わっている。ここで必要となるのは,力強い技術的実践だ。チームには,自分たちの製品から市場に向けた,絶対的な視線が必要である。
星2つのチームが得られるメリットは,技術的側面や予測可能性の改善など限らない。デリバリの迅速さや周期,モラルの高さ,動作可能な製品を必要な時に提供できる能力といった観点から見た,技術的負債の削減や品質構築といった面が重要なのだ。星2つのチームの大きな差別化要因は,開発中の製品を市場に合った一定のペースで提供できる能力であり,いつでも製品を提供できることである。
星1つから星2つの熟練度になるには,技術的な指導と規範,組織的な権限が必要になる。テスト駆動開発(TDD)や容赦ないリファクタリング(ruthless refactoring),継続的インテグレーション,ペアプログラミングといった開発プラクティス導入を中心とした,難易度の高いシフトだ。
前述の調査によれば,およそ30%のチームは自らを星2つのチームと評価している。氏はチームが星2つの流暢性に到達するまでの期間を,3~24ヶ月と推定している。
星3つ
アジャイルにおいて,実現できる可能性のあるチームの星は3つだ。このレベルに到達するには,組織の承認だけではなく,組織構造の変革を必要とする。このレベルのチームは自らの市場を持っている。すなわち,“ビジネス”と“チーム”の間に差異がないのだ。製品管理はチームに内包されていて,メンバ全員が顧客価値と直接的な繋がりを持っている。星3つのチームには製品ビジョンがあり,そのビジョンに基づいて行動する権限が与えられていると共に,受け取ったフィードバックに基づいて製品を適合させる能力を備えている。チームは安定していて,チームメンバは幅広いスキルを持ち,どのような役割が求められる場合であっても,お互いをサポートする能力と意思を備えている。
チームの報告は,ROIや顧客満足度,社員当たりの総純益などといった,具体的なビジネスメトリックスに準拠する。価値の低いイニシアティブの即時キャンセル,ユーザニーズに基づいた製品提供とそれらニーズへの迅速な適応により,リスクは低く抑えられる。
このレベルの流暢性に達するためには,安定したチームを構成してサイロ化を打破し,開発者と製品ユーザの間にあるバリアを取り除き,適切な決定を行う権限をチームに与える必要がある。
自らを星3つのレベルと自己評価するチームは,全体のおよそ5%である。このレベルに達するために必要な期間を,Shore氏は1~5年と見積もっている。
星4つ
星4つの組織はアジャイルの未来だ。真にレスポンシブな組織の構築に必要とされる,本質的な文化シフトを達成した組織は,現時点ではごく限られている。それがどのようなものになるか,今はまだ分からないが,ZapposやSemcoといった企業には,その兆しが見て取れる。
4つのレベルがどのようなものか,それぞれに到達するにはどのような変化が必要なのか。氏はワークショップ参加者に対して,チームをそれぞれのレベルに到達させるにはどのような投資やスキル,その他の変革が必要なのか,そのガイドラインを提示した。例えばチームが星2つの流暢性への到達を支援するには,テクニカルコーチかメンタ,あるいはチームが作業している技術スタックやプラットフォーム構造と同じような技術的プラクティスを駆使する講師が必要になる。
チームと協同で作業するコーチにとって,彼らの持つ技量や流暢性,目指すべきレベルを理解することは重要だ。大部分のチームは星2つの流暢性を目指すべきだと,氏は考えている。それ以上のレベルを望むのは,一部の組織にとっては非現実的である上に,望ましいことでもないかも知れない。組織にとって,そこまでの変革を認めるのは,極端に過ぎるかも知れないからだ。
氏とDianaは,チームが熟練度と流暢性のレベルを自己診断し,目指すべき現実的な目標を決めるための診断ツールを開発中である。
全面開示: 本記事の筆者は,Agile Australiaの主催者とJamesから招待されて,ワークショップに参加している。