優秀なスクラムマスタやコーチは、チームベースのアンチパターンに対処することができる。例えば、理想的でない結果になる原因は何か、アンチパターンに対処しない場合にはどうなるのか、といったことを説明してくれる。
NeuedaのスクラムマスタであるPatric Martin氏は、Agile Tour London 2020で、アジャイルアンチパターンへの対処について講演した。
アジャイル作業プラクティスは、無視できないような極めてシビアな方法で、問題を突き付けてくる。そのような問題の中には、表面化しないまま、チームの文化に深く根ざしているものがあるのだ、とMartin氏は言う。実際にそれらの問題は、その秘匿性の高さから、長く続いたウォーターフォール時代には隠蔽されていた可能性もあるのだ。
以前のInfoQとのインタビューで、Martin氏は、組織レベルのアジャイルアンチパターンについて語ってくれた。組織のアンチパターンがチームに影響するのは必然だが、ここで氏がチームレベルのアンチパターンとして定義するのは、すべてがチーム自身によって引き起こされるものである。これらの問題は、是正の対象となる人数が組織レベルよりも少ないので、組織レベルのアンチパターンよりも対処は容易だが、それでもやはり困難な場合はある。
重要なのはアンチパターンの監視役としてのスクラムマスタの存在だ、とMartin氏は言う。何かが不必要にデリバリを遅らせているのであれば、それはアンチパターンが働いている証拠なのだ。
チームにおけるアジャイルアンチパターンへの対処について、Patrick Martin氏に話を聞いた。
InfoQ: チームレベルのアンチパターンには、どのようなものがあるのでしょうか?
Patrick Martin: 多くの種類があります。何十種類もあるのですが、ここではトップテンを挙げてみましょう(ただし、これがすべてではありませんし、特別な順位もありません)。アジャイル憲章の12の原則を順守できていない、というものが一般的であることは常に変わりませんが、誰もが経験したことがある、目撃したことがある、というものをいくつか挙げてみます。
- プロダクトオーナあるいはその代理人が、スプリントプランニング、リファインメント、スプリントレビュー、スプリントデモへの出席を定常的に拒否する、あるいは出席が不可能である。
- バックログリファインメントがチーム全体ではなく、"技術リーダ"による内部グループのみで行われている。
- スプリントが日常的に短縮ないし延長されている。
- スプリントバックログがスプリント中にいつも変更されている。
- セレモニが実施されないか、あるいはスケジュールが不規則である。
- レトロスペクティブが継続的改善の目的を達成できていない。
- 自己組織化の原則に反している。例えば、優先順位に従って作業が厳密にピックアップされるのではなく、誰かが個人に対して割り当てを行っている。
- 作業時間が予測を越えた時に、見積が修正されている。
- 見積が開発チーム全体によって集団的かつ専有的に割り当てられるのではなく、技術リーダやスクラムマスタ、プロジェクトオーナ、マネージャなどによって割り当てられている。
- プロダクトバックログに優先順位が付けられていない。
- スプリントの目標が形成されていない、あるいは形成できない。
InfoQ: インペディメント(impediment、障害)やブロッカとはどう違うのでしょう?
Martin: インペディメントは一般的に、一時的かつ一度限りの解決容易な問題ですが、アンチパターンはそれよりも深く、基盤部分に根付いた現象で、永続的かつ慢性的な性質を持っています。
端的に言えば、暑い日に喉の渇きを潤す場合と、常に感じている渇きを潤す場合との違いのようなものです。どちらも効果としては同じですが、前者が一時的で解決容易であるのに対して、後者はもっと深く基本的な原因の存在を示唆していて、より解決が難しい可能性があります。
もう少し具体的な例を挙げましょう。
私の仕事が、自宅から200マイル離れた場所に住む人に毎日小包を配達することだと考えてみてください。
その人の家に行く途中で、道路に荷物をまき散らしたトラックによって通行を妨害されました。元の予定に戻るには、道路がきれいになるまでの2時間、交通渋滞の中を待たなくてはならなかったのです。
これはインペディメント — つまり、私が自分の仕事を首尾よく行うことを妨げるような、一度限りの、おそらくは予測不可能な出来事です。
アンチパターンは、なぜ私の車は10マイル毎にガソリンを入れなくてはならないほど燃費の悪い設計なのか、というような問題です。
あるいは、夜間ドライブのトレーニングをしていなかったため、時速10マイルでなければ安心して運転できない、というのもアンチパターンです。
その他にも、私の小包を入れる予定になっている段ボール箱を別のドライバが持ってきてくれるので、途中の町に立ち寄って受け取らなくてはならない、というアンチパターンもあります。これは非クロスファンクションの一例で、チーム外のアクタに対する依存関係の常在を示すものです。
InfoQ: チーム内にアンチパターンを起こすものは何なのでしょう?
Martin: チームレベルでは適切なトレーニングやメンタリング、コーチングの欠如が大きいのですが、チームを組織から切り離して考えることはできません。組織の持つ負の文化がチームに影響するのは当然でしょう。
アジャイルは、特に従来のビジネスエクスペリエンスと矛盾する場面においては、直感的ではないかも知れません。しかしながら、優れたスクラムマスタやコーチは、単にベストプラクティスを解説するだけではなく、なぜそれがベストプラクティスなのか、アンチパターンを放置した場合にどのような不都合が生じるのかも説明できなければならないのです。
個人的な経験からいくつか例を挙げましょう — 私が以前いたチームでは、スプリントプランニングの直後に、技術リーダが開発チームの他のメンバと面談して、それぞれにストーリを割り当てるような方法を用いていました。最初はなぜこうなったのか分かりませんでしたが、やがていくつかの疑問が生じました。
- スプリントバックログの項目が優先度順にピックアップされていない
- 技術リーダ自身が比較的簡単な作業のみ担当している
私は個々のメンバに、優先度の高いストーリがTo Doカラムに残っているにも関わらず、優先度の低いストーリの作業をしている理由について聞きました。その結果、すべてが明らかになったのです。技術リーダは何も悪いことはしていませんでした(簡単な作業だけを担当するために、自分の立場を利用していたのは事実ですが、必要があれば他メンバの支援もしていたのです)。私が理由を聞くと、彼は、以前のポジションでそのようにマネージャから指示されていたためだ、と答えました。それがアンチパターンである理由を私が説明すると、彼は納得してくれたのです。私は彼に、彼がチーム内の価値あるポジションにあって、他のメンバを指導する役割であることを話しました。
その後でチームとワークショップを開催したのですが、現在のプラクティスが非生産的である理由を私が説明するのではなく、どのような問題が発生しているのかを尋ねることで、優先度付けとマルチタスクに関する手掛かりをメンバに提供しました。その後、チーム内で活発な議論が交わされて、チーム自身で正しい答に到達することができました。私の意見では、これが最善の方法です。答はいつも内にあります。どこを探すのかを話すのではなく、探す行為を支援するのが私たちコーチの仕事なのです。ただし、極めて限られた状況ではありますが、教育的でなければならない時もあります。
もうひとつの例は、レトロスペクティブが活気に欠けるチームを引き継いだ時のことです。そこで分かったことは、前回のレトロスペクティブでのアクションアイテムの成果として、次のアクションアイテムが形成されていないため、それが忘れられてしまっている、ということでした。そこで私は、Trelloを使ってメンバの提案や投票形式、アクションアイテムを確実に捉えることで、この状況を変えました。アクションアイテムは、オーナを定めた上でスプリントバックログに追加されるようになりました。これによって状況が好転したのです。実際に改善が成果を上げるのを見ることで、レトロスペクティブに対するチームの信頼もすぐに回復し、活気に満ちたものになりました。
InfoQ: アンチパターンの原因には、どのように対処が可能なのでしょうか?
Martin: 優秀なスクラムマスタやコーチならば、1-2-1のメンタリングやコーチングや対話、日々の指導を駆使することで、ほぼすべてのチームレベルのアンチパターンに対処できるはずです。ただし、それには忍耐と勇気、そして率直に言うとある種の厚顔さが必要になります。
チームスピリットの形成を支援してください。組織自体が誤ったことをしていて、それがチームに影響を与えている場合であっても、時には最後の手段として、"世界と戦う私たち"的な態度で強い絆と優れたチームスピリットを築くことは可能です。そして、このこと自体が、逆境に直面した場合に事態を好転させるための触媒となり得るのです。チームの絆が強ければメンバは勇敢になり、まずい意思決定や他者の行動に対抗する意欲も高くなります。