見出し画像

アジャイルチームのコラボレーション

CTC Buildサービスチームの石田です。
今年の年明けにRegional Scrum Gathering 2023に参加してきました。
そこで聞いたチームのコラボレーションについての話がためになりましたので是非紹介させてください。

なぜコラボレーションをするのか?

コラボレーションとは共同の作業や協力して事に当たることを指します。
チームが複雑なことを理解してモノをつくるには、共通の目的と共通の言葉が必要です。
これは単に人が集まって一緒に働くだけでは効果的ではないことを意味します。
目的や言葉に共通性がないと一貫した方針や理解のもとにチームは動けなくなり、混乱するからです。
この、チームの共通性を促すためにコラボレーションが役立ちます。
ただし、ひと口にコラボレーションといってもいくつかのやり方があるので、自分たちに合った方法を採用するのが良いでしょう。

コラボレーションの方法

では、ここから先は具体的なコラボレーションの方法を紹介します。

ペアプロ

まず、一番有名なのがペアプロでしょう。
これは二人が同じ画面の前に集まってプログラミングする方法です。
ペアプロはコードを書く人と作業を見てアドバイスする人に役割を分けます。
コードを書く人はドライバー、アドバイスする人はナビゲーターと呼びます。
そして、ある程度コード修正作業に時間が経過したらドライバーとナビゲーターを交替します。

ペアプロはお互いの作業環境や仕事のやり方を見せ合うのでノウハウの共有の上では有効ですが、お互いの時間拘束が長くなるといったデメリットもあります。

バディープログラミング

ペアプロより軽いやり方がバディープログラミングです。

これは二人で集まって同じ作業はしません。
あくまでもお互いに別々の作業を自己の裁量で行いますが、一日の終わりにそれぞれの作業内容などをレビューし合います。
相互レビューすることが大事で、上司と部下のように一方が報告を聞いて指示を出すといった形を想定せず、お互いに自分の手の内を明かしてフィードバックを求めることが大切です。

ペアプロに抵抗がある人はまずバディープログラミングをやってみて、よさそうならペアプロに進むのがオススメです。

スパイク

アジャイルでは未知のものを最初から調べ尽くすといったことはしませんが、チームが未知に直面したときに1人~複数人で調査に当たる時間を設けます。
これをスパイクと呼びます。
スパイクは漫然と継続せず、一定期間で打ち切って次のアクションを検討することが大切です。

スウォーム

何か問題が起きたときにチームメンバーが集合して一気に解決に当たることをスウォームといいます。
いつも人が集まって同じ作業をするのとは違い、問題が起きたときや大事な作業をするときだけ集合する点がペアプロなどと違います。

モブ

スウォームを常態化したものがモブです。
モブはチームメンバーが同じ作業・同じ時間をずっと共有します。
このため、プログラミング以外の仕事も一緒にやります。
ペアプロをもっと大きくしたものがモブだと考えると良いでしょう。

おわりに

以上、チームのコラボレーションについてご紹介しました。

こちらで紹介した内容は、RSGT2023の基調講演をされた『レガシーコードからの脱却』の著者David Bernsteinさんの講演内容を抜粋したものです。
講演の全体は以下のスライドを参照ください。

みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!