- ルーチンとは何か
- ルーチンの例: 日曜日に給油する
- ルーチンの例2: 定期デプロイ
- オーガナイザを持ち歩く
- 上司との定期面談
- 毎日しなければならないことは1日の早い時間にやる
- ルーチンにすると良さそうなもの
- まとめ
『エンジニアのための時間管理術』の第3章は「ルーチン」について書かれています。
- 作者:Thomas A. Limoncelli
- 発売日: 2006/10/19
- メディア: 単行本(ソフトカバー)
ルーチンとは何か
この本では、「ルーチンとは、1度だけ考え、何度も実行するための手段である」とあります。
ルーチンの例: 日曜日に給油する
この本の著者は、ルーチンの例として、「日曜日に給油する習慣」を上げています。
筆者は月曜日の朝に遅刻することが多く、ガソリンも少なくなることが多いので、日曜日に給油することにしました。
すると、月曜日に慌てることがなくなっただけではなく、「そろそろガソリンを入れたほうが良いだろうか」と考える必要もなくなりました。
そのうち、「なぜ月曜日に給油するのか」は記憶からなくなっていき、何も考えずに月曜日に給油することになります。
ここまで来ると、給油に脳を使う必要がなくなり、他のタスクに集中できます。
ルーチンの例2: 定期デプロイ
僕のチームが開発しているWebアプリケーションは、毎週火曜日にデプロイすることになっています。
毎週火曜日になると、
- developブランチをmasterブランチにマージし
- それまでにdevelopブランチにマージされたプルリクエストを確認し
- 以下をまとめて投入手順書を作成します
- どのような変更がデプロイされるのか
- どのような手順でデプロイするのか
- デプロイ後どんな動作確認をするのか
- 不具合が発生した場合どうするのか
- デプロイ用のパッケージを作成し
- 開発環境にデプロイして動作確認して
- 本番環境にデプロイします
この手順は非常に複雑で、しかも毎週行う必要があります。そこで、最初の1度だけ考え、この作業をある程度自動化する bot を作成しました。あなたはエンジニアなので自動化は得意なはずです。
- GitHubのAPIを叩いてdevelopをmasterに自動でマージします
- GitHubのAPIを利用し、それまでdevelopにマージされた差分について収集します
- あとは bot の示す手順を何も考えずに実行していくと投入手順書や、開発環境へのデプロイと動作確認などが終わります
今まで自分で考えたことをBotに任せることで、自分は頭を空っぽにしてこの作業ができるようになりました。
これにより、作業が短縮できるだけでなく、「次は何をすれば良いんだっけ」といったことを考えなくて良くなるので、作業の合間に処理できます。
このように「定形作業は頭を空っぽにしてできるようにしておく」ことは非常に恩恵があります。
オーガナイザを持ち歩く
オーガナイザとは、重要なもののことです。財布とか携帯とか。
この本では「財布持っていったほうがいいかな?」と迷ったときはとりあえず持っていけ、と書いてあります。そもそもそんなことを考えるのが無駄なのです。
上司との定期面談
僕は上司と定期面談をすることは重要だと考えています。とくに「今のチームの問題点はなにか」について話し合うのが有益だと感じています。チームの問題点を上司に認識させて、解決してもらうことは重要だからです。
しかし問題点があります。上司の予定を抑えるのが大変なのです。30分の予定を取るのに10分くらいカレンダーとにらめっこすることになります。
解決方法は簡単で、定期予定として1ヶ月に1回予定を入れておきましょう。僕はGoogleカレンダーを使っているのですが、Googleカレンダーであればこれが可能です。
毎日しなければならないことは1日の早い時間にやる
自分がアサインされたコードレビュー、勤怠の作業時間の入力など、毎日しなければならないことは朝こなすようにします。
帰ろうとした直前に「あれやっていない!」となると、気分が乗らないからです。
ルーチンにすると良さそうなもの
- つい忘れてしまうもの
- 最新情報の把握
- 新しい能力の育成
などなど、
まとめ
ルーチンを増やせば増やすほど、悩んだり考えたりすることが減り、脳のコンテキストスイッチのコストも減り、ルーチン以外の作業の効率化につながるでしょう!