プログラミング

ペアプログラミング活動始めました

gene

MMMでは2020年3月からペアプログラミング活動を毎日実施してる。

【参考】
ペアプログラミングをする際の注意事項

今回はその背景や概要、実施してみたメンバーの感想をご紹介したい。

背景

去年の終わり頃、

  • フロントエンドメンバーとバックエンドメンバー間で、仕様の認識ズレがあったり、そもそもの仕様合意せずに作業を進めてしまったりして、結果的に手戻りが発生

ということがあった。
この状況についてPM(プロジェクトマネージャー)チームで原因を議論してみた結果、

  • コミュニケーションが不足していること

が一因としてあるのではないだろうか、という話になった。

リモートワーク(テレワーク)という働き方が故に、ちょっとしたコミュニケーションが取りづらいと感じるメンバーもいるかもしれない。
「もっとコミュニケーションを取りましょう」と啓蒙しても、なかなかすぐには改善はされないだろう。
もっと強制的にコミュニケーションが発生する仕組みを導入しないとダメだろう。
恒常的にペアプログラミングを実施するのはどうか。
もし、ペアプロを実施するのであれば、どういったメリット・デメリットがあるのか、どういう目的で実施するのかを、チームメンバー全員に把握してもらった上で、やるかやらないかを議論してから実施したい。

そういった議論を経て、まずは 『ジョイ・インク 役職も部署もない全員主役のマネジメント』 を読書会で扱って議論したら良さそうということになった。
この本は、米国で最も幸せな職場と言われるメンロー・イノベーションズ社について書かれたもので、常に二人一組で作業を行うペアプログラミングを実施して、成功している例として参考になることが多いだろう、という理由で選んだ。

読書会

読書会は、

  • 読書タイム: 週1回1時間。合計4回業務時間内で実施
  • アウトプットタイム: 業務時間内で30分。議論したい内容を各自まとめる時間
  • ディスカッションタイム: 1回1時間程度。合計4回みんなで議論

という形で行った。
ディスカッションタイムは、チームメンバーが思った以上に議論したいことをしっかりと書いてくれたため、結果的に4回に渡って実施することになった。

実施方式

読書会でのディスカッションタイムを踏まえて、まずは毎日1時間、ペアプロをやってみようという結論になった。

ペアプログラミングを実施する目的や、2020年3月20日現在の実施方式の概要は以下のとおり。

目的

  • プロジェクトや各業務における属人化を防ぐ
  • MMMで働くメンバーの学びの機会を増加させ各々のスキルセットを拡充する
  • 行動指針を前提としたペア作業によってチーム関係性の向上
  • 中長期的な観点で成果物の品質向上とスピードアップ

実施時間

  • 毎日最低1時間実施。キリが悪ければ延長も可能
  • 全ペア同じ時間枠で同期的に実施
  • 週次で実施時間枠を変更する(実際試してみて良かった時間帯で、今後固定する可能性もあり)
    1. 11:00 〜 12:00
    2. 15:00 〜 16:00
    3. 16:30 〜 17:30
    4. 17:00 〜 18:00

取り組む課題・対象

  • その日ドライバーとなったメンバーの「やりたいこと駆動」をペアで実施
  • ペアで1週間同じ課題を取り組んでも良い。日替わりで取り組む課題を変更しても良い

ペアの組分け

  • 週の最終営業日にランダムで選ばれたペアで次週、1週間継続する

当初は週の最初の営業日だったが、ペアがわかった上で次週に何をやるか考えたり、準備できる方が良いのではないかという観点から、週の最終営業日のペアで次週実施する方針に変更となった。

ふりかえり・改善

  • 月〜木までペアプロを実施して、金曜日の1時間はふりかえりに使う
  • 各ペアでやったこと、得られたこと、感じたこと、反省点を10分くらいでチームで共有する

感想

3週間ほどペアプロを実施してみて、ふりかえりで出た感想をいくつか抜粋してみる。

  • 1時間は結構あっという間に過ぎた
  • MMMに入って3ヶ月くらいのメンバーにプロジェクトの話を共有できてよかった
  • 普段携わっているプロジェクトでは触れてなかったAWSサービスの使われ方とか、別プロジェクトで使われている時の「辛み」?も知れて良かった
  • プロジェクトナレッジや担っているロールがかなり異なるペアの場合は、事前にペアワーク内容とゴールを考えておいたほうが良い(開始時間になってなにしようかなーだと、結構厳しい)
  • 複雑な部分を人に説明することでちょっとあやふやな理解だったところがはっきりした
  • 今のところ、ドライバーはそのまま最後まで操作を続けちゃっていたが、交代もしたい。1時間だとちょっと足りないかもしれない

今のところ、概ねポジティブな意見が多い印象である。
各ペアで、普段使っているIDE(統合開発環境)やツールなども違っており、何を使うかは各ペアで判断しているが、ふりかえりの時間でそういったツールの情報共有もできて非常に有意義な時間となっていると感じている。

まとめ

今回はMMMで3月から始めたペアプログラミング活動についてご紹介した。
中長期な観点で実施していけば、チーム力のアップ、アウトプットの質やスピードの向上、メンバーの長期休暇の際のバックアップ力向上、などが期待できると思っている。
まだペアプログラミング活動を始めて3週間であり、まだまだ手探りで行っている感じなので、試行錯誤しながら改善をしていきたい。

AUTHOR
gene
gene
記事URLをコピーしました