フォーメーション・パターンに基づくチーム開発の実践(雁行陣開発)

 2018年のプロジェクトで学びは、フォーメーション・パターンの発見だった。スプリントというタイムボックスで進める開発は、スプリントという分かりやすい活動単位を手に入れた反面、いくつかのスプリントをまたがって横断的にプロダクトづくりを捉えるという観点をトレードオフしたとも言える。スプリントでの最適化に集中が過ぎると、別の時間軸でのより良い解決策が取りづらくなってしまう。

 フォーメーション・パターンは、スプリントよりは長いが、プロジェクトよりは短い時間軸で適用する概念である。「ここから4スプリントは雁行陣で行こう」という感じで使うイメージだ。

 この概念を必要としたのは、最近のプロダクトづくりで顕著になっていた問題への適応のためである。問題の背景には副業、リモートワークへの傾向性の強まりがある。

 副業が増えたのは、ソフトウェア開発にもギグ化の流れがやってきたのだと私は捉えている。ソフトウェア開発のギグ化は働き方の多様性があがるという利点の一方で、新たな複雑性を抱えることになる。


 具体的には、副業=時間的な分断、リモートワーク=場所的な分断によってもたらされる6つの問題である。コミュニケーションの分断という大きな課題にむきあう必要が出てきている。解決したい課題の解像度を上げてみる。

 これに対してフォーメーション(役割分担+相互作用のあり方)で乗り越えようというのが、フォーメーション・パターンのコンセプトであり、具体的には雁行陣開発をあげておく。雁行陣とはテニスで用いられる前衛、後衛の陣形のことである。これを参考にプロダクトリードと言う役割を前衛、チームメンバーを後衛、その間を繋ぐ役割としてチームリードと言う役割を置く。


 雁行陣開発の前提の一つに、プロダクトバックログの分け方がある。プロダクトの骨格、これがなければ体験がなりたたないというプロダクトバックログを「背骨」と呼ぶ。その背骨を前提として繋げていく機能、ゆえに一つ一つの独立性が高いプロダクトバックログを「お肉」と呼ぶ。プロダクトリードは、背骨の開発に専任する役割である。チームに先んじて制約をつくっていく。

 チームメンバーは、お肉の開発を担う役割となる。プロダクトリードはコミュニケーションを限定できるため、場所的分断があるメンバー向き、このフォーメーションでのチームメンバーは時間的分断がおきがちな副業メンバーに適しているといえる。お肉バックログアイテムは、独立性が高く、それぞれで並行して進めていけるためである。

 とはいえ、コミュニケーションの分断をこの2つの役割だけでは乗り切れないため、チームリード(媒介者)を置く。2つの役割の間で情報の補完や共有の促進を行う役割である。チームリードはチームメンバーでもある(お肉をつくる役割を取っても良い)。


 プロダクトリード、チームリードとして、リーダーという言葉を選ばなかったのはリーダーが特定の人に強くひも付きやすい言葉のイメージがあるためである。リード(先導役)という言葉は、スプリントによって変えても良い、より動的な役割をあらわすために使っている。

 分断による6つの問題は、雁行陣フォーメーションによって以下のような適応となる。

 フォーメーション・パターンという概念はもっと深掘りしていって良い領域だと感じている。プロダクトづくりというタイムラインには、様々な事件や状況が生まれる。そうした状況に1スプリント単位ではなく、数スプリント単位で作戦をたてるにはこうした一時的な役割分担と、その間での相互作用についての整理が有効であると感じた。

 ただし、フォーメーションによる開発を効果的にするには、それ自体についてのチームの理解、おのおのの練度、チームビルドが前提となる。チームの共通理解が欠けていると、こうしたチームの有機的な活動を推し進めるのは難しい。

  • ブックマーク
  • Feedly

Contact me

プロジェクトのご相談、セミナー登壇のご依頼など、お気軽にお問い合わせください。