見出し画像

ペアプロでチームが変わった話

はじめまして。くまごろーと申します。
昨年の5月に公務員からバックエンドエンジニアになり、未経験の状態でスクラムチームに入れてもらい…色々やらせてもらう内に「今思ったことや考えていることはどこかに書き留めておいた方が後々自分のためになりそう」と思うようになりました、というわけで、これからはnoteにつらつらと書き連ねていこうと思います。
とりあえず今回は、自分がチームの在り方について関心を持つようになった出来事について書こうと思います。

ことの発端

話は2021年の9月初旬にさかのぼります。
当時の私のチームは、4人のメンバー+POという構成でした。

  • Aさん:社外メンバー。チームに来て約3年くらい。フロントエンドからバックエンドまで、色んなタスクを広くカバーしている。

  • Bさん:社外メンバー。Aさんと同じタイミングでチームに来た。今までずっとバックエンドメインでやっていて、最近フロントにも手を出し始めた。

  • Cさん:社内メンバー。このチームには1年半くらい在籍。他チームでエンジニアが必要だったので今回離脱することに。

  • くまごろー:2021年5月に未経験でエンジニアになり、必死に仕事を覚えている状況。

Cさんを他のチームに送り出し、しばらく3人で頑張るしかないな…という雰囲気だったのですが、Cさんが抜けた直後、PO(上司)が衝撃の一言を発しました。
「実はAさんも今月一杯でチームから離脱することになりました」

えっ

どういうこと?

このチーム、Bさんと私だけになってしまうんやが…(@_@)

当時ひっそりと感じていた課題

ちょっと話が横に逸れますが、私には当時ひっそりと感じていた課題がありました。

  • チーム単位ではなく、個々で作業をする時間が大半

  • 担当者が実装に悩み、作業が全然進んでないことが夕方に判明したり

  • 実装要件の勘違いに気づかず、スプリントレビューで初めて発覚して手戻りが起こることもあった

  • スプリントレトロスペクティブで「よかったこと」や「もっとよくできたこと」について話すんだけれども、議論を深堀りできずに終わってしま

ぼんやりと課題を感じつつも、経験の浅さと自信のなさから、特にアクションを起こせずにいました。

このときにやったこと

話を本筋に戻します。このとき、衝撃の展開に動揺しつつもチームで話し合って、Aさんがいなくなるまでは下記のやり方で仕事を進めていくことにしました。

  • 私は基本的にずっとAさんとペアプロで作業、やったことのないフロント業務のHow Toを教えてもらう

  • Aさんから業務を引き継ぐために、全員が集まって通話する時間を設ける

  • それ以外の時でも、重めのタスクを進めるときは全員で集まって、実装方針について相談する


そしたらどうなったか

当時は単純に「Aさんがいなくなっちゃうから、今のうちに業務知識を引き継がなきゃ」という思いだけだったのですが、気が付いたらチームの雰囲気ががらっと変わっていました。
個々が黙々と作業するチームから、こまめに話し合って、皆で協力して取り組むチームに激変しました。

  • ペアプロするために、互いのスケジュールのすり合わせが必要になった

「朝会の後に開発メンバーで打ち合わせする」というルーティンが自然に出来上がり、メンバー間のコミュニケーション量が増えました。

  • ペアプロ以外でも、メンバー間の通話時間が増えた

お互いのタスクの課題・進捗が常にわかる状態になりました。その結果、前提を説明する必要が無いので相談までのハードルがめちゃくちゃ低くなりました。

  • 「タスクは皆でやるもの」という意識が生まれた

難しいタスクが出現したら、誰かひとりに任せず、全員でかかるようになりました。

数値で見てみると

「最近すごい仕事しやすいな~」って、最初は体感でしかなかったんですが、実際に数値に表れているということが後からわかりました。スプリントのベロシティが上がってるのはなんとなくわかってたんですが、Githubのアクティビティにも如実に表れていました。下記はFindyTeamsさんのグラフなんですが、9月中旬くらいからプルリク作成数が増え、プルリクのクローズも非常に迅速になったことがわかります。
FindyTeamsさんのグラフは、自分たちのアクションが正しいかどうかの指標になってくれるので非常に助かりました。


なんで効果が出たんだろう?

ペアプロがチームにプラスの効果を与えているのはわかったけれども、そもそもなんで効果がでているんだろうか?

私は、ペアプロを通してメンバー間で合意形成ができるようになっただと考えています。
今の私のチームは、リーダーの存在しない、メンバー全員が同じ階層のポジションに立つチームです。そういった協働型のチームでは、メンバー間の合意形成というのが非常に重要だと思うんですが、以前は、メンバー間で合意を取るということ意識が薄かったように思います。

ペアプロでは作業者同士が常に話し合って作業を進めますが、「目の前のコードをどうするか」というごく小さい規模の合意形成から始めた結果、合意形成の習慣がつき、新機能の実装方針から新規PJのまで、ゼロの状態からメンバーだけで話し合えるようになりました。
そして、全員が納得した上で同じ方向に向かっていくようになったので、こんなに目に見えて効果が出たのかなと感じています。

実際やってみてどうだったのか

「ペアプロ」というものの存在は知っていましたが、最初ペアプロ取り入れた時は素人なりにいくつか心配事もありました。で、実際やってみてどうたったのか?簡単にまとめます。

ペアプロで作業効率は下がらないのか?

これ、私が最初感じていた疑問なんですが、ベロシティが示している通り、結果的には作業効率上がりました。なんで上がったんだろう?と振り返ってみたんですが、色んな理由が思い当たりました。

  • はまった時に抜け出せる時間が明らかに短くなる

2人以上で作業すると、一人で作業してる時と比べてハマったところから抜け出すまでの時間がかなり短くなります。同レベルのメンバー同士で組んでもそれは同様です。作業中常に話し合うので、ラバーダックデバックに近い効果があるのかも。

  • コード書きながら、メンバー間で認識合わせも図れる

どうやって実装するか話し合いながら書くので、後から「なんでこの処理になったの?」が無くなります。手戻りめっちゃ減る。

  • 同時にレビューもなされる(レビュー時間短縮)

ペアプロで進めていれば、PRのコードを一人で頑張って読む作業が必要なくなるので、レビューにかけていた時間はごっそりなくなります。

  • お互いの知見を共有して、成長も図れる

ツールの使い方やIDEの知られざる機能、相手が趣味で触ってる他言語の知識だったり、作業中の会話だけでかなりの勉強になりました。

こんな感じで、作業効率が上がるだけでなく、メンバーの成長速度も早くなりました。

長時間の会話で、時間はとられないのか?

これも最初抱いていた思いですが、実際時間はかなり使っています。
ペアプロが習慣化されて2か月たった頃、一日当たりの平均通話時間を計算してみたんですが、約2時間でした。
大半は仕事のことについて話してますが、割とどうでもいい雑談もまあまあしてます。これについては賛否色々あるとは思いますが、私としては必要不可欠な会話だと考えてます。
この習慣が生まれてから、ミーティングでの話し合いが活発になりました。コミュニケーション量が増えて、相手の人柄をお互いわかっているので、遠慮無く話ができる雰囲気になっているのが理由だと感じています。

諸々を踏まえて思ったこと

実際ペアプロやってみて、ペアプロには一般的に言われている効能も含め、こんな効果があるなと思いました。

・作業時間短縮
・技術面での成長
・コミュニケーション量増加
・メンバー間の合意形成の習慣化

それを踏まえて思ったこと。

  • そもそも、チームはスクラムチームとしてコミュニケーションが足りていなかった。ペアプロ本来の効能もさておき、ペアプロの副作用(コミュニケーション量増加)でチームの空気が良くなった。

当初は「雑談が増えて作業が進まなそうだな」と思っていましたが、今思うとそれも必要な時間だった。リモートワークなのも相まって、絶対的なコミュニケーション量が不足していたんだと思います。しょうもない雑談や愚痴が自然に出てくる雰囲気になってからは、話し合いでの意見の対立も恐れない雰囲気になりました。最終的にはお互いそれなりに納得できる答えを出せると皆わかっているので。
数値上でも、Aさんが抜けて新しいメンバーが入ったにも関わらず、ベロシティはあんまり下がってない上に、体感的には非常に仕事がやりやすくなりました。

  • 成長途中のメンバーが多いチームなので、技術面での成長も期待でき、コミュニケーションもしっかり取れるペアプロは、結果的には最適な方策だった。

というわけで、成熟したチームはともかく、コミュニケーション不足を感じているチーム、技術力があまり高くないチームにはペアプロは最適といえるのでは?と感じました。
技術レベルが同等のメンバー、一人が二人に増えたところで何が変わるのか?って思うかもしれませんが、二人であーだこーだ話しながらコード書いていくと、一人で書いてる時よりも明らかに進みが早いです。また、メンバー同士普段からよく喋っていれば、ハマって抜け出せない辛い時も辛さを共有できるのでちょっと気が楽になります…😂😂😂
もしこの記事を見て興味が出たら、是非ペアプロやってみてください!



この記事が気に入ったらサポートをしてみませんか?