"チームをより速く行動できるようにするための最善の方法は何か"というのは、誰もが尋ねる質問である。一般論として、企業が速いデリバリペースで行動することを妨げているのは、実際にはアーキテクチャや技術的負債などではない。
Lisa van Gelder氏はQCon London 2020で講演でチームのデバッグ方法(debug your team)について講演し、チームのデリバリペースに関する問題を診断し、対処するためのツールキットを提供した。"問題なのは、チームが専門性、自律性、目的性、心理的安全性を持っているかどうかです"、と氏は言う。チームから賛同を得られる方法でチームを変革するために、氏はそのツールキットを使用している。
氏が提案するのは、デバッグ時の考え方で、パズルを解くように、デリバリペースの改善にアプローチする、という方法だ。問題には原因がある。チームの遅さの原因を理解し、それに対処することが、リーダであるあなたの責任なのだ。
変革を導入する上で、氏が好んで使用するテクニックは、レトロスペクティブ、Nemawashi(根回し)、Kaizen(改善)、そしてImprovement Katas(改善の型)である。
Spring HealthのシニアバイスプレジデントであるLisa van Gelder氏に、"チームをデバッグする"ことについてインタビューした。
InfoQ: "チームをデバッグする"というアイデアは、どこから来たものなのでしょう?
Lisa van Gelder: ソフトウェアの動作が遅い時、どうしますか?デバッグするでしょう。では、チームのデリバリペースが遅い、あるいはその能力に見合ったパフォーマンスが得られていない場合はどうしますか?同じことです!チームの成功を妨げているものが何であるかを理解しなければ、それを修正することはできません。
InfoQ: チームがハイパフォーマンスになるためには何が必要なのでしょうか?
Van Gelder: Daniel Pink氏の著書"Drive"が、チームをデバッグするための有効なフレームワークになると思います。チームの活動が期待されているものではない場合、一般的には次のようなものがひとつ以上欠けていて、それが原因になっているのです。
- 専門性: メンバは適切なジョブに携わっているか?必要なスキルを持っているか?向上のためのパスは明確か?
- 自律性: 問題の解決方法に関して、チームにどの程度の裁量権が与えられているか?
- 目的性: チームがその問題に取り組んでいる理由は明確か?全員が同じゴールに向かって進んでいるか?
このリストに対して、私はさらに、ハイパフォーマンスチームに関するGoogleの調査で指摘されている"安全性"を加えたいと思います。安全を感じることのできないチームは、リスクを取ったり、高い目標に向かったりすることはできません。安全を感じられなければ、チームは自らを守ろうとするのです。
InfoQ: チームに何が起きているかを、どうすれば突き止めることができるのでしょうか?
Van Gelder: データを収集してチームに起きていることを理解するために、私がよく使っているテクニックをいくつか紹介しましょう。
- 誰に対してもオープンクエスチョンで質問する。例えば、
- 一番したいことは何か?
- 一番したくないことは何か?
- 時間が掛かりすぎていることは何か?
- スタンドアップやプランニング、グルーミングといったセレモニをシャドーイングする。
- ペアプログラミングの時と同じように、エンジニアとペアで行動する。
- レトロスペクティブを使ってチームの問題点を理解する。
InfoQ: 変革を導入する場合には、どのようなテクニックを使用していますか?
Van Gelder: いくつか紹介しましょう。
- レトロスペクティブ: チームの最も大きな問題が何であるかを教えてくれます。チームはその問題の克服に大きな意欲を持って、どのような変革を導入するか、自分たちのアイデアを見つけてくれるでしょう。
- Nemawashi(根回し): 関心を持つ人たちと事前に話をして、事前にサポートやフィードバックを収集しておくことにより、提案する変革やプロジェクトのための土台作りをします。
- Kaizens(改善): 継続的な改善につながるような、小規模な新手法を導入します。Improvement Kata(改善の型)という呼び方もあります。
- 変革のコントロールをエンジニアたちに任せる: 自分に対して行われる変革は恐ろしいものですが、自分が参画する変革はそうではありません。
- 報酬フィードバック: 変革が最も成功するのは、変革の成果を人々が正直に話してくれる時です。厳しいフィードバックを得られることに感謝しなくてはなりません。
- ミスを認めること: リーダとしての自分がミスをした場合、失敗に対してどのように振る舞うかを人々は見ています。自分の失敗についてはオープンに話して、自分が何を学んだかを説明するようにしています。
InfoQ: チームが成功するために必要なものを企業が提供しなかった場合、どのようなことになるのでしょうか?
Van Gelder: 期待していない行動が現れます。例えば:
- ビルの陰に隠れてしまい、どこにいるのか、何をしているのかが分からなくなる。
- 運用リリースまでの時間がどんどん長くなる。
- リリース毎に多数のバグが発生する上に、そのバグを修正する様子が見られなくなる。
- 運用環境で常時問題が発生する。
- チームの全員が退職する。
InfoQ: チームに危機感を浸透させるには、どうすればよいのでしょうか?
Van Gelder: そんなことはしないでください。チームに明確な目的を与えて、現在行っていることがなぜ重要なのかを説明し、問題解決に対する自主性を認めて、作業を行う上での障害を取り除けば、良好なペースでのデリバリが実現するはずです。