悪あがきプログラマー

悪あがきを続けていきたい技術と書評なブログです。トレタでiOSエンジニアやってます。

ポモドーロテクニック始めてみた

きっかけはこの記事。

自己流ポモドーロを実践している話 - kakakakakku blog

ポモドーロテクニック自体は知っていたし、一回くらいは試したことがあったかもしれない。そのときは多分続かなかったんだと思う。今回も始めたばかりなので続くかどうかわからないし飽きっぽいので続かないと思う。

ただ、まぁこれ系の何かは僕には必要で似たようなものを試し続けていくんだろうなと思ってるところ。

とにかく気が散りやすい

何で必要かというと、とてつもなく気が散りやすい性格なんですね、僕。色んな物が気になる。横道にそれる。何やってたか忘れる。近くで誰かが何か話していようものなら無意識のうちに耳がダンボになってる。だから一人になれるスペースがなかったり、イヤホン出来ないところではもう働けない。

ちなみに耳栓をためしたこともあるけどダメだった。うるさいのがダメなんじゃなくて人が話してるとそっちが気になってしまうみたい。なんでこんなに気になるんだろうって考えたこともあるんですけど、どうも自分の知らないところで何か面白い話してたらどうしよう、って思ってしまうっぽい。

もちろん気が散るのは話し声だけではなく、webにchatにmailにと、まぁ色いろあるわけです。

まぁそんな感じで難ありなのでいろいろと良い方法がないか試してみてるところ。

Togglで時間管理

半年くらいまえにしばらくやってたのはTogglを使うというもの。 Toggl - Free Time Tracking Software

Togglの主目的は時間管理だと思うんですけど、実際に僕もそのときは時間計測のために使ってみてました。見積もりの精度上げたくて。そのときはがっつり仕事に集中したとして、作業してる時間はざっと7割だなぁというのがわかった時点で満足してしまって使うのやめてしまいました。もちろん、3割サボってるとかそういうわけではなくて、休憩とか割り込みとかです。

そのときは集中力が切れたら休憩ってのをやっていて、だいたい50分作業して10分休憩って感じでした。なので、8時間だと80分休憩することになります。(最後の10分も面倒なので含めちゃってます) 狙ったわけではないですが、トータルの休憩時間はポモドーロテクニックの休憩時間と同じですね。

そうするとだいたいこんな感じになります。

稼働時間(480分) = 作業時間(336分) + 休憩(80分) + 割り込み(64分)

7割と聞くとだいぶ少なく思いますし、上記はちょっと割り込みが多いかなという感じはありますけど、僕は割りと現実的かなと思っていて、特に見積もるときにはこれくらいが妥当かなと思ってます。 休憩をもっと削ることもできそうですが、それやりすぎると後半頭働かなくなるだけというのが実際やってみた感想です。

あと、上記はかなりタスクに集中できたときの話で、実際はMTGとかあったりするので実際の作業時間はもっと少なくなるんですよね。 8時間の7割だと5.6時間なわけですが、まぁ8時間は無理でも7時間は作業できるっしょとか安易に考えて見積もると詰みます。それは見積もりではなく、ただの希望ですね。

話がそれたので戻します。Togglを使ってみて思ったのは、時間管理する以外にも、タスクを書いてタイマースタートするときに「今からこれをやるぞ」という意識になるのが個人的には良かったです。何をやるかがちゃんと意識できますし、仮にタスクからそれてしまっても何をやっていたかがわかるので軌道修正しやすかったですね。あとちゃんと測るためにはタイマーを止めなきゃいけないわけで、そこでまたタスクに意識を戻せるのも良かったです。

じゃあ何で続かなかったかというと、上記で言ったように満足してしまったのとタスクをいちいち書くのが面倒になってしまったからでした。

分報も試してみたけど

その後分報というものも試してみたのですが、これもなかなか書き忘れたりしてちゃんとは続かず。

というわけでポモドーロテクニックにたどり着きました。

ということでポモドーロテクニック

個人的にポモドーロで良いなと思っているのは、時間制限があるので(というかそれだけだけど)、目の前のタスクをやらないといけないという強制感があるところです。Togglと違って途中で止めたりとかも出来ないんですよね。Togglの場合はあとから軌道修正しやすいって感じだったのですが、ポモドーロはそもそも横道にそれさせてくれないって感じです。時間も25分と適度な時間なので、ちょっと気になってもとりあえずこのタスク(25分)が終わってからにしようと思いやすいです。

一番の悩みはXcodeコンパイル時間

これ、結構悩みの種です。トレタはコードベースもかなり大きくなってきていて、コンパイル時間も無視できない感じになってきています。基本的には差分コンパイルされるのでそこまで問題ないはずなのですが、まだ原因はわかっていないのですが、Swiftを取り入れた辺りからときどきフルコンパイルが走るような挙動をしていることがあります。

コンパイルに時間がかかるとその間待たなければいけないわけですが、そのときに情報収集と称してFacebookとかTwitterとか見るんですよね。それは別にいいんですが、何か気になるものを見つけてしまうとそっちに注意が行ってしまうので気づいたらコンパイルは既に終わってたとかよくあって、あ”あああああってなります。

コンパイル時間をどうにかするのは難しいのでそこは諦めて、最近は闇雲に情報収集するのではなく、前もってコンパイル時間に読むものを用意しておくことにしました。普段からpocketに記事をストックしておいて、タスクに取り掛かる前に既にブラウザで開いておく。時間かかりそうなコンパイルが走ったらその記事を読む、と。とりあえず、こんな感じでやってみたところ、前よりは無駄な時間が減ったかなぁと思ってます。

まとめ

というわけで、ポモドーロテクニックがベストかどうかはわからないのですが、しばらく続けてみようと思います。 リンク先で紹介されてたこの本も読んでみたいのですが、Kindle版が無いのでどうしようかなと思ってるところです。

アジャイルな時間管理術 ポモドーロテクニック入門

アジャイルな時間管理術 ポモドーロテクニック入門