ポモドーロ・テクニックで複数人で開発してみた話
はじめに
こんにちは。
株式会社Synamonでエンジニアをしております、渡辺匡城(@mochi_neko_7)と申します。
最後の記事投稿から少し時間が空いてしまいましたが、これから再開していきたいと思っていますので、よろしくお願いいたします。
今回はモブプログラミングにポモドーロ・テクニック(ポモドーロ)を導入した開発を社内で実施してみたので、そこで実際にやってみた結果を簡単に紹介します。
状況設定
まずは簡単にですが開発の状況を紹介します。
- 4人の固定メンバーの新しいチーム
- 複数のテーマの開発を中長期間かけて行う
- リアルで集まることが多い
- 初めてのモブプログラミング
- 1日に2~4時間固定で時間を確保
- メンバーのスキル、経験はバラバラ
- 設計作業の割合が多め
モブプログラミング(モブプロ)は、ペアプログラミングの複数人バージョンのような形のチーム開発の手法になります。 qiita.com モブプロの紹介はまた別の機会で記事にしますので、ここでは割愛させていただきます。
ポモドーロ自体は個人でも使えるのですが、今回はチームでの開発で適用してみました。
課題
開発を始めて数か月経って、いくつか課題が見えてきました。
- 議論が白熱すると休憩なしに何時間も話し込んでしまう
- かなり疲れる
- 時間がかかる割に話がまとまらない
ポモドーロの導入
そこで、その頃どこかで耳にしたポモドーロ・テクニックを導入してみました。 next.rikunabi.com
ルールは以下になります。
- 作業25分+休憩5分=1ポモドーロ(1ポモ)
- 4ポモ毎に30分の長めの休憩を入れる
- 作業の途中で割り込みが入った場合、そのポモは完了とする
もともとはクリエイティブな仕事での生産性向上のための手法として開発されたようです。
ポモドーロはトマトのイタリア語で、トマト型のキッチンタイマーが由来のようですね。
タイマー1つあれば実施できる手軽なものですが、専用アプリもいくつかあるようです。
個人的にいい感じに使いやすいアプリが見つからず、Unityを使って自分でえいやって作ったものをチームで使っていました。 github.com (最低限の機能重視でUIとかかなり適当ですが...)
というわけで、開発作業を「4ポモ=2時間」のセットで定期的に実施するスタイルをとってみました。
結果
実際にこれを半年近くやってみて実感したことは以下になります。
- 集中力が上がった
- 疲れにくくなった
- 開発のリズム感が出るようになった
- ポモ単位で作業時間が見積もれるようになった
実際、ポモドーロ導入のタイミングで作業時間は半分になりましたが、アウトプットの差は体感としてはあまり感じませんでした。
その日の作業を「3ポモ作業+1ポモ週次振り返り」のように切る使い方もでき、タイムマネジメントの手法としても優秀です。
個人でもポモドーロを使って仕事をする場合にも有用でした。
ただし、打ち合わせが頻繁に入るような日にはリズム感が崩れてしまい、あまり機能しなかった印象があります。
まとめ
- 集中して作業したい場合に有用
- 一人でも複数人でも使える
- 手軽にできる
- チーム内での評判はとてもよかった
- 頻繁に割り込みが入るような場合には合わないかも
一見すると休憩が入ることで作業時間が減り、成果が下がるのではと思われます。 しかし実際には、クリエイティブな作業を集中的にする際には適度な休憩を入れることで、集中力が上がってよいというのを実感できました。
これは実際に体感してもらわないとなかなか伝わりづらいところでしょうか。
30分を単位とした短時間スプリントに応用したり、モブプロのドライバーの交代のタイミングにしてしまうなど、応用もできそうです。
タイマーだけあれば簡単に導入できますので、みなさんも試しに使ってみてはいかがでしょうか。
最後に
Synamonではエンジニア採用をさまざまなポジションで強化中です。
ビジネスXRで市場を切り開いていきたい、スタートアップで挑戦していきたいエンジニアを募集しています。
ご興味ある方はぜひ気軽にお話ししてみませんか。
photo credit: gerlos Pomodoro [day 61] via photopin (license)