継続は力なり―大器晩成エンジニアを目指して

第4回プロダクティビティの

人生において使える時間は有限だ。そして種々の理由で自分が使える時間は減っていく。彼氏・彼女ができた。結婚した。子どもができた。転職したら忙しくなったなど。そのような状況においていかに短時間で大きな成果を出すかはとても難しい問題だ。

限られた時間の中で最大限の成果を出す方法の一つは、自分のプロダクティビティをあげることだ。筆者は過去に少人数かつ大規模のオープンソースプロジェクトに携わっていたので、常に「いかにプロダクティビティを上げてプロジェクトの進む速度を上げられるか」を追求していた。仕事においても、短時間で成果を出して残業せずにさっさと家に帰ることを意識し続けてきた。はっきり言えば筆者はプロダクティビティマニアだ。

ここでは筆者が試行錯誤してたどり着いたプロダクティビティ向上の方法を紹介しようと思う。方法だけではなくその背景となる思想にも触れる。

プロダクティビティの定義

筆者の考えるプロダクティビティは2つのものから成る。スループットと継続性である。スループットは単位時間あたりの成果の量だ。たとえば3時間でどれだけの仕事を終わらせることができるかだ。継続性は長期的に成果を出し続けられることだ。スループットがすばらしくても飽きっぽくて週に1回しかやらないなら成果は出ない。中規模以上のプロジェクトの場合、スループットと同様に継続性が重要な鍵になる。

なぜプロダクティビティを上げるのか?

プロダクティビティを上げれば得るものは多いが、必ずしも必要なものではないことに注意してほしい。何か目標や必要性があって初めてやる価値がある。

たとえば「大量の仕事のノルマを残業せずにさばいて早く家に帰って家族とゆっくりすごしたい」とか「スタートアップに勤めていて競合よりも先にアプリを出したい」などである。

必要性があればプロダクティビティ向上に取り組むのは、応用範囲が広く投資効果が高いと筆者は考える。一つ上のメタなレイヤであるプロダクティビティテクニックが向上すれば、その下にあるすべての仕事、プロジェクトが恩恵を受ける。たとえるならば、フリック入力やタッチタイピングをマスターするとスマートフォンやPCでの作業効率が一気に上がるのに似ている。

プロダクティビティを追求しない人生もある。朝目を覚ます。やることは何も決まっていない。何をやるともなくのんびり1日をすごす。仕事を適当に済ませて、おいしいものを食べるのが楽しみ。そういう生活にはプロダクティビティは必要ではないかもしれない。

最も重要なことに集中する

プロダクティビティを上げるには「最も重要なことに集中する」ことが大切である。言い換えるならば「重要なこと以外に頭を使わない」ことである。複数のタスクを同時に進めるよりも、1つのタスクに集中したほうが効率の良いことはみなさんも経験があると思う。その集中を最も重要なことに使えばスループットが上がるのである。

そして集中している場合には、それ以外に頭を使ってはいけない。たとえば大事なコーディングをしながら「4時になったら不動産屋に電話しなければ」と考えていてはダメなのだ。それだとなんとなく気になってそわそわしてしまい集中できない。電話するというスケジュールをカレンダーに入れて、そのことは忘れてしまうほうが良い。

さて、ここからは筆者も実践しているメジャーなプロダクティビティテクニック、⁠ポモドーロテクニック」「GTD」を紹介していく。

ポモドーロテクニック

筆者は日々の短期的なスループットを最大化するのにポモドーロテクニックを利用している。詳細は本家[1]を参照してもらいたいが、簡単に紹介したい。

このテクニックではまず1つのToDoリストを用意する。これは紙でもオンラインのツールでもよい。そのリストにすべてのToDoを箇条書きで集約する。そして次のセット(単位はポモドーロ)を繰り返すのである。

  • ❶ ToDoリストからその時点で一番大事なタスクを取り出す
  • ❷ 25分間集中してそのタスクに取り組む
  • ❸ 5分間休憩をする

ポモドーロ中は1つのことしかやらない。ポモドーロ中に同僚から話しかけられたりして中断した場合は、完全に中断してゼロからやりなおそう。❶に戻るたびに一番やるべきことを考える。2~3ポモドーロごとに少し長めの休憩をとる。

❸の5分間の休憩では、立ち上がって「2歩以上」歩くことが推奨されている。デスクから離れてトイレなどにいくとよいだろう。この休憩は思ったよりも重要で、筆者は休憩中に何度もコーディングの間違いに気が付いた。調子が良いときはついつい休憩をスキップしてしまいがちだが、休憩の恩恵は大きいのでツールを使って強制的に休憩を挟むのもよいだろう。筆者はmacOSのアプリ「Take A Break, Please」を利用している。このアプリを利用するとフルスクリーンで休憩時間のお知らせが表示されるので、強制的に作業が中断されて良い。

1つのタスクの大きさは個人的な経験から1~3ポモドーロ程度がよいと思う。それ以上大きいと日をまたいでしまうこともあり見通しが良くない。大きすぎて途中で挫折してしまう可能性もある。本家ではタスクのサイズを見積もって、実際にどれだけかかったかの実績の記録をとることが推奨されている。

GTD

GTD[2]は、Getting Things Doneの頭文字をとったテクニックである。GTDの基本的な考え方は「頭の中から気になることを追い出す」である。⁠気になること」とはたとえば、⁠家に帰ったら年金の書類を確認しないと」「この記事をあとで読もう」などである。

GTDでは「頭の中にある気になること」をすべて書き出す。これは決まった日ではなく、いつでもやる。思い付くたびに追加する。次のように粒度はさまざまで、この時点で実現可能性は考えなくてもよい。

  • 木曜日までにPull Requestを仕上げる
  • 週末に自転車のメンテナンスをしよう
  • いつかマチュピチュに行きたい

週に一度の週次レビューで、上記のリストのアイテムをおおよそ次のように分類する。

プロジェクト
短期・中期的に必ずやらなければいけないこと
いつかやる
急いでやる必要はないが、いつかやりたいと思っていること。夢や希望でも可
読む
時間が空いたときに読みたい記事や本
予定
特定の日時にやらなければいけないことをカレンダーに登録する

そして、各プロジェクトに関して具体的な次の実現可能な物理アクションを定義する。これはプロジェクトが必ず進むようにするための大切なステップである。たとえばプロジェクトが「転職をする」であれば、⁠入りたいと思う会社を5つリストアップする」などが実現可能な物理アクションである。⁠会社Aの面接を受ける」では少し粒度が大きすぎる。

週次レビューでは、先週からの進捗も確認する。各プロジェクトごとにアクションが実行されたかを確認し、プロジェクトがどの程度進んでいるかを把握する。

先述したようにGTDでは、⁠頭の中から気になることを追い出す」ことがポイントである。気になることを外部記憶に書き出して忘れてしまい、頭がほかのことに集中できるようにする。そして週次レビューを行うことでプロジェクトの進捗を毎週チェックするのである。このチェックにより進んでいないプロジェクトが明確になる。また、この週次レビューの存在により継続性が高まることもポイントである。

ポモドーロテクニックとGTDを使い始めればすぐにプロダクティビティが上がったことが感じられると思う。以降では、その先に待ち受けるものや、筆者が利用している補助的なテクニックを紹介したい。

継続を妨げるものとその影響

GTDでも触れた継続性についてもう少し掘り下げよう。長期的な成果を上げるために、毎日30分間プログラミングの勉強をすることを決めたとする。もちろん習慣化するための工夫としてGTDを利用する。これを毎日続けていければ最高である。

しかし現実には「毎日やる」ことは難しい。みなさんも経験があると思う。会社の飲み会があった。仕事で疲れていたのでやる気が出なかった。友達と遊んだ。毎日やることを妨げる理由はいくらでもある。

数字で影響を見てみよう。週に1回くらい会社の飲み会があるとする。それとは別に、1日くらいやる気が出なかったり用事があるとする。すると毎日やるのに比べて勉強量は5/7(28%減)になってしまう。この数字は馬鹿にできない。毎日やっているつもりでも、実際の勉強量は意外と少なくなるのだ。それ以外にも「やらない/やれない」理由はいくつも思い付くだろう。年末年始や誕生日くらいは休もう。二日酔いで体調不良など。

これらに対処するには2つの方法がある。

1つ目は強い習慣化である。強い習慣のわかりやすい例は歯みがきだ。飲み会に行ったり、やる気が出なかったりするからといって歯みがきをサボる人はあまりいないだろう。子どものころから毎日続けている習慣で、⁠やるのが当たり前」となっているはずだ。⁠勉強する」をこれと同じレベルにするのである。強い習慣は一朝一夕には身に付かない。習慣化を助けるアプリや後述する時間割などを利用して、長期的に習慣化していこう。

2つ目は天引き法である。⁠給料から天引き」と同じ天引きだ。日々のスケジュールで、⁠勉強する時間」を天引きしてしまうのだ。一番良い例はランチの時間だろう。毎日ランチの時間は勉強すると決めてしまい。周囲にも宣言する(付き合いは悪くなってしまうが⁠⁠。ランチの時間はカレンダーでブロックしておい て予定も入らないようにする。天引きしてしまえば、その時間はもとからなかったものとされるので飲み会などの突発的なイベントから影響を受けにくい。通勤の時間も同様に天引きしやすい。

時間割

前述したようにプロダクティビティの肝は常に1つのことに集中すること、そしてやるべきことが明確であることだ。定期的にやると決めたことを明確にするには、時間割を作るのがよい。小学校時代に使っていたような時間割である。

たとえば月曜日であれば、

  • 6:30 Swiftの本を読む
  • 7:00 英単語の復習
  • 21:00 機械学習の勉強

といった具合である。ポイントは朝起きたり家に帰ってきたりしたときに、⁠えっと、何をしようかな」と考えなくて済むようにすることだ。眠かったり疲れていたりすると「何をするか」を考えるだけでも負担だし、短期的な視点で決めがちである。時間割そのものが適切かどうかは、GTDの週次レビュー時に見なおすとよいだろう。

飽き

自分に合ったプロダクティビティテクニックをマスターする。ツールを使いこなす。毎日のプロダクティビティに大きな向上を感じられる。この3週間とても充実している。ところが、残念ながらそれは長くは続かない。プロダクティビティの敵である「飽き」が猛威をふるい始める。ふと気付くと使っているツールに新鮮味が感じられなくなっている。以前は「タスク完了ボタン」を押すときにワクワクしていたが、今ではその大げさなアニメーションにイライラする。カレンダーからのリマインダーのプッシュ通知も無視し始める。そしてちょうど1ヵ月ほど経ったころにもとのプロダクティビティに戻ってしまう。これが飽きによる停滞の危険性である。

飽きを完全に防ぐことは難しいが、飽きの存在を認識できていれば細かい運用で軽減できる。いくつか方法を紹介しよう。

  • 定期的にタスク管理ツールを新しいものに変える
  • 定期的に時間割を変更する
  • 同志とグループを作ってゆるやかな相互監視をする[3]
  • プッシュ通知を無視しないようにタイトルに絵文字などを使う

このように、根幹となるプロダクティビティ向上の考え方は変えずに変化し続ければ、飽きを回避できる。

まとめ

プロダクティビティマニアである筆者が思考錯誤してきた、プロダクティビティテクニックを紹介した。この記事がみなさんの人生の助けになれば幸いである。

WEB+DB PRESS

本誌最新号をチェック!
WEB+DB PRESS Vol.130

2022年8月24日発売
B5判/168ページ
定価1,628円
(本体1,480円+税10%)
ISBN978-4-297-13000-8

  • 特集1
    イミュータブルデータモデルで始める
    実践データモデリング

    業務の複雑さをシンプルに表現!
  • 特集2
    いまはじめるFlutter
    iOS/Android両対応アプリを開発してみよう
  • 特集3
    作って学ぶWeb3
    ブロックチェーン、スマートコントラクト、NFT

おすすめ記事

記事・ニュース一覧