概要
私自身思っているのが、長時間の集中力がなさすぎて困っていました。
コーディングする時間が長くなったとき、環境構築でインストール時間がかかるとき、とにかく集中力がプツンと切れてしまうということが多くありました。
これではダメだと思い、タスク管理術や時間の管理の仕方を調べていました。
結果、ポモドーロテクニックという手法にたどり着きました。
ポモドーロテクニックとは、
時間管理の方法の一つです。
具体的には、25分間の集中作業と5分間の休憩を繰り返すことで、効率的に作業を進めることを目指します。
これを4回繰り返した後に、長めの休憩(15~30分)を取ります。これにより、集中力を維持しながら疲れを防ぐことができます。
と生成AIさん(Copilot)は言っています。
つまりは小さいサイクルで集中タイムと休憩タイムを繰り返す方法で、これなら長期戦が苦手な私でもとっつきやすいと思いました。
ポモドーロタイマーの仕様決定
世の中にはすでにポモドーロテクニックを実践している人が多く、様々なアプリが提供されています。
ですが、私は一応プログラム製作に携わっているエンジニア。難易度も高くないだろうということで自作することにしました。
普段Windows OSでお仕事をするので、exe化してデスクトップ上に表示できればいいかなということで、技術としては過去製作の経験があるWPFを選択。
仕様としては以下を満たせばよいかと思っています。
- 25分間計測し、そのあと5分間計測を行い、これを繰り返す
- 4回ごとの休憩は15分カウントする
- 表示は分単位で表示
- 作業時間は赤色で表示、休憩時間は水色で表示
- 常に最前面で表示し、ドラッグアンドドロップで移動ができる
- クリックすると中断できる。中断中は背景を緑色にする
処理も簡潔なので、実装とテストは2H程度で完了しました。
実装
コードは以下で公開しています。
https://github.com/zoeque/pomodoro-timer
動く状態のexeも以下で公開しています。
https://github.com/zoeque/pomodoro-timer/releases/tag/v1.0.0
通常動作中であれば、以下のように赤い背景で分単位のカウントを行います。
休憩時間が開始すると、水色になります。
画面の端っこでも、ピコンと色が変わるので、注視しなくても休憩時間が分かるようにしています。
ポモドーロタイマーを一時停止したい場合は、クリックすると緑色になります。
緑色の間はタイマーが停止し、カウントダウンしないようになっています。
効果検証
実際に使った感じでは、集中力が深く短い短期決戦型の私でも継続して業務が行えたと思います。
本業では、見積もり40Hのプログラム製作も、短期集中の力で、32H程度で実装が完了しています。数字で出すとやはり効果があったかなと思っています。
また休憩とはいっても、最新技術のキャッチアップを行うために色々な記事を読み漁ったり、ポモドーロタイマーのブラッシュアップを行ったりと、業務と完全に無関係ではなく、意味のある時間にしていました。
間食の時間も増えたのはここだけの話。
まとめ
- 短期集中型(長時間の集中力がない)人にポモドーロテクニックは効果的
- プログラム製作の工数削減にも効果があった
- ツール作成は楽しいので、自作できるなら積極的にやってみるべき
- 自作したツールに対して、Qiitaへのアウトプットするのも、いい復習になる
- 長期休憩時間を外部定義できるような仕組みにすればよかったと後悔
追記
外部定義化自体が簡単な実装で行えるので、長期休憩時間を外部定義できるようにしました。
https://github.com/zoeque/pomodoro-timer/releases/tag/v1.1.0