連絡を取り合い、分散したチームとして団結することは、多くの人が直面する課題だ。プロダクトオーナーの共有バックログからストーリーを割り当てることで、分散チームがノンストップでデリバリを行うことができるようになる。そして、チームのすべてのメンバーに、必要に応じてコードを本番環境に昇格させたり、昇格を取り消したりする権限を与えた。別々の場所で、同じような、あるいは重複するマイクロサービスが作成されないように、アーキテクチャに注意する必要がある。
Information Services GroupのパートナーのOla Chowning氏は、DevOpsCon Berlin 2021で地理的に分散したDevOpsチームの取り扱いについて話した。
Chowning氏は、チームがグローバルにタイムゾーン全体に分散する状況下でノンストップデリバリを行うためのソリューションを示した。ある組織では、DevOpsチームを「クルー」に分割した。各クルーは異なるタイムゾーンであり、共有バックログから別々のストーリー(タスク/作業)が「割り当て」られた。
チームの「実際の」プロダクトオーナーは、自身のタイムゾーンに近いクルーと連携していた。一方で、チーム内でそれに該当しないクルーのために「代理プロダクトオーナー」がいた。これにより、作業の優先順位は、共有バックログからプロダクトオーナーやプロキシプロダクトオーナーによって設定され続けることができたとChowning氏は述べている。
このアプローチをうまく機能させるには、強力なプロダクトオーナーが不可欠であった。組織では、効果的に実施できるプロダクトオーナーがいないチームは、すぐに別々のチームに分離してしまった。これによって、生産性が低下し、ビジネス関係者に対して混乱を招いたのだ。この場合、Chowning氏が言うには、プロダクトオーナーの役割に対して迅速に対処する必要があった。一方、プロキシプロダクトオーナーは、クルーをリードしつつ、プロダクトオーナーの意見を必要とするより大きな意思決定に対しては、権限の制限があることを認識する必要があった。
この組織は、2つの国に存在しており、自然にコミュニケーションできるタイムゾーンのオーバーラップがあった。そうでなければ、クルー同士の同期を維持し、作業を共有するために、何らかの形のオーバーラップを生み出す必要があった。Chowning氏は、基本的に特定のクルーに作業を割り当てると方法が実際にうまく機能したと述べた。さまざまなクルーが同じような、あるいは重複するマイクロサービスを作成する傾向があったため、アーキテクチャと横行する「マイクロサービスの無秩序な増加」に注意する必要があった。
各クルーには自身の作業があったが、共有バックログと優先度、共有リリース、計画セッションを常に把握し続けることができた。Chowning氏は、クルーがさまざまなタスクやタイムゾーンで作業している場合でも、ある種の一体感を維持できるように、クルーが共有する機会を求め、さらにはスケジューリングすることを重要視していると説明した。
InfoQは、分散型チームでの作業についてOla Chowning氏にインタビューした。
InfoQ: 分散型チームはどのような課題に直面していますか。
Ola Chowning: ほとんどのDevOpsチームの重要な要素は文化的な統合です。お互いのことを学び、仲間の前で失敗を見せられるようにチーム内で心理的な安全を確立してすることです。よく知られている以心伝心というものですが、…分散型チームで作業している場合、このレベルの文化的結束を確立することはとても困難です。
リーダーにとっても挑戦があります。チームメンバーが全く異なるタイムゾーンにいる場合に、チームメンバーが助けを必要とするとき、指示が必要なとき、またはボディランゲージの手がかりや、まったくの対話がない状況で、より明確な方向性を必要とするときをどのように認識したらよいでしょうか。リーダーとして、いつ介入するか、いつサポートするか、いつ関与するかを認識することは、チームが視野の外にいると困難です。
すべてのチームメンバー間の信頼が重要になります。このある組織は現在、チームメンバーが自分の通常の勤務時間外で仕事上の関係を確立し、信頼できるように「タイムゾーンローテーション」を検討しています。
InfoQ: クルーは仕事の割り当てについてどのように感じましたか。
Chowning: 彼らはまだプロダクトプランニングのマインドセットを持っていたため、隔週でプランニングセッションを実施し、クルーはストーリー、タスク、作業成果物に対して基本的に自発的に参加することができていました。また、彼らはこのセッションで、クルー内およびクルー間の状況について話し合いました。
この組織は、一方のクルーがもう一方のクルーにはないスキル(テスト自動化など)を持っていることがよくあったため、いくつかの困難を抱えていました。最初は、特定のタスクを常に特定のクルーが「行っていた」というフラストレーションがいくらかありました。現在の「タイムゾーンローテーション」のトライアルでは、より良いスキル共有を促進することを目指しており、それらのスキルの違いを最小限に抑えることに重点を置いています。
彼らは、クルー内で自律的かつ機敏に行動することができるが、それでも全体的にチーム横断で少し苦労していると言っています。フィーチャーまたはエピック内のストーリー(またはストーリーライン)を明確に表現するために時間をかけ、フィーチャーの全体量を測りながら、特定のストーリーをクルーに割り当てることで、孤立感を最小限に抑えることができました。
InfoQ: チームが世界中に分散している場合、インクルージョンとエンパワーメントの文化はどのように機能しますか。
Chowning: ノンストップデリバリの方法は、エンパワーメント(クルーがコードを自由に本番環境にリリースする権限を持っていた)とインクルージョン(特に、タイムゾーンを効果的に共有し、自由にチャットやコラボレーションを行う)の両方の推進にとても役立ちます。組織はさまざまな方法でインクルージョンに取り組むことができますが、最も有用なプラクティスは、インクルージョンを測定し、それに焦点を合わせ、チームのコア機能として継続的に改善することだと確信しています。
InfoQ: 分散チームでのオンラインコラボレーションのサポートについて何を学びましたか。
Chowning: これがチームに対して自然に起こるとは思わないでください。そのことに集中し、最初のアプローチでチームメンバーを含め、プラクティスを継続的に改善する必要があります。リーダーは常にチームメンバーの状況を見て、彼らの参加をモニタし、フィードバックを引き出し、変化できるようにする必要がある。
ビデオ疲れは本当です。電子メールやチャットを送信せずに会議をスケジュールすることは本当に起きています。プラクティスがうまく機能していない可能性がある場所を認識し、それらを改善するためにチームに関与を促します。
InfoQ: グローバルな分散環境で高度なコラボレーションと権限を与えられたチームを作り上げるために、何をお勧めしますか。
Chowning: やはり核心部分は同じです。チームが意思決定を行えるようにし、チームを実現するキーとしてコラボレーションと多様性を促進し、テストと学習の環境で必要に応じて心理的安全性を確立していきます。物理的な近さを模倣しようとするデジタルツールを使うことは、確かに重要ですが、グローバルに分散されるギャップを埋めるのに十分ではありません。
また、インクルージョンをモニタ、促進し、チームメンバーの状況を見て、物理的に近いと自然だったであろう相互連携を強く推進するリーダーも必要です。最も重要なことは、まとまりのあるチームとして成長できる最高の環境を作ることにチームメンバーを巻き込んでいくことです。