Todoistで始めるタスク管理

この記事は[トレタ Advent Calendar 2016](http://qiita.com/advent-calendar/2016/toreta) 20日目の記事です。昨日は[上ノ郷谷](http://qiita.com/tchkmngy)の[最速かつ継続的に価値を届け続けるためのユーザー理解](http://tech.toreta.in/entry/2016/12/19/004829)でした。

さて今回は、今年になってようやく定着した個人タスクの管理フローについて書きたいと思います。

# きっかけ

トレタのエンジニアチームでは、開発のタスクを [GitHub](https://github.com/)/[ZenHub](https://www.zenhub.com/) に集約して管理していますが、個人の細かいタスク（issue tracker で共有するほどでもないもの）はもちろん各自個別に管理する必要があります。

個人的な話ですが、今年からプロジェクトの進行管理に携わる機会が増え、それと共にライフサイクルの短い突発的なタスクがかなり頻繁に発生するようになりました。これまで個人タスクの管理は何となくでやり過ごせていた部分でしたが、これを機に管理方法を見直してみることにしました。

# ツール選び

選定基準は

- タスクの登録が簡単
- どのデバイス(macOS, iOS)からでもタスクを登録・共有できる
- 期日を簡単に設定・変更できる（自然言語で設定できるとなおよし）
- 同じ期日のタスクの中で優先順位を設定できる

としつつ、しばらく触っていないアプリもあったので [Reminder](https://support.apple.com/ja-jp/HT205890), [Gmail Tasks](https://www.google.com/intl/ja/mail/help/about.html), [Any.do](https://www.any.do/), [Remember The Milk](https://www.rememberthemilk.com/), [Wunderlist](https://www.wunderlist.com/), [Todoist](https://todoist.com) あたりを改めて試してみました。

どのアプリでもできることはそれほど変わらない印象でしたが、操作性の良さから Wunderlist と Todoist が残り、デザインのシンプルさで Todoist を選択してみました。

# 運用ルール

タスク管理を実際に行いながら運用ルールを決めていきました。ルールは、タスクの流量や選択したツールによって変わるものですが、現状採用しているものをここにまとめてみます。

## 1. タスクが発生したらすぐに登録する

オフィスでの会話やミーティングなどで発生したタスクは、その場ですぐに登録します。Slack の会話で発生したタスクもなるべくその場で登録、時間がないときはひとまず ⭐️ をつけて後から登録してもよいことにしました。

Slack で発生したタスクは `/todoist` コマンドを使うと Slack 上から直接タスクを登録できます（Todoist Integration の設定が必要）。 

```
/todoist タスクの内容 #project
```

Todoist のプロジェクト名を Slack のチャンネル名と合わせておくと、タスクを登録する際に Slack の入力補完機能を転用できて便利です。

**Slack で入力すると**

<img width="736" alt="Screen Shot 2016-12-19 at 12.09.32 AM.png" src="https://qiita-image-store.s3.amazonaws.com/0/20102/474bda9d-a413-fbda-cf42-7bb976ad7818.png">

**Todoist に登録される**

<img width="916" alt="Screen Shot 2016-12-19 at 12.10.18 AM.png" src="https://qiita-image-store.s3.amazonaws.com/0/20102/9ee498a2-44e5-3b8e-0503-19dda62ed573.png">

## 2. タスクの終了条件を明確にする

「XXについて調べる」のようなタスクはいつまで経っても Done にできないので、細かく分解するなどして終了条件を明確にします。

## 3. 期日/目標日を必ず設定する

タスクの期日またはタスクを完了させる目標日を必ず設定するようにします。仮にでも期日が設定されていた方が、新しい依頼を受ける時に、現状のタスクを勘案することで、タスクの完了可能な期日をこちらから提案しやすくなるからです。

といっても期日を決めるのはエネルギーがかかる作業なので、タスクの期日が明らかな場合やすぐに決める必要がある場合以外は、その日のうちに目標日を決めればよいことにしました。

## 4. タスクを登録したら忘れて元に戻る

タスクが発生し登録したら、すぐに忘れて元の作業に戻るようにします。いわゆる [GTD (Getting Things Done)](http://gettingthingsdone.com/) 的な心がけのアレです。

## 5. 着手可能な状態になるまで登録しない

将来発生するであろうタスクまで管理し始めると、量が膨大になり、タスクとして登録すべき範囲など考えることが増えてしまいます。目の前のタスクに集中するために、長くても1週間先の範囲に留め、着手可能な状態になるまで登録しないようにしました。

現状で着手不可能なものはプロジェクトの Wiki（トレタでは [esa](https://esa.io/) を利用）など、定期的に必ず見直す場所に残しておいて、タスクに着手するタイミングで Todoist に書く運用にして事故を予防するようにします。

## 6. 毎日朝晩にタスクを見直す

帰宅する前に必ず登録されているタスクを一覧します。時間が経過するとタスクそのものが不要になったり、優先度が変化する場合があるからです。やることは

- 期日が設定されていないタスクに目標日を設定する（Slack の :star: なメッセージも確認する）
- 全体のタスクを見通して目標時に無理があれば再設定する
- 翌日のタスクを優先順に並び替える

の3つです。

Todoist の場合、タスクに Priority を設定する機能があるのですが操作が少々煩雑なので（変更に数タップ/クリックが必要）、タスク一覧画面で優先度順に並び替えることで優先度を表現することにしました。

翌日出社したら、もういちど優先度順に並んだタスクを確認して、問題なければ上から順に進めていきます。

# まとめ

ということで自分に課したタスク管理のルールを紹介しました。かれこれ一年続いていますが、タスク管理を継続するためには、よいツールを選ぶよりも、自分に合った継続可能な運用ルールを作ることだなと思った次第でございます。

また、最近のツールは機能が豊富ですが、必要最低限な機能以外はあえて使わずにシンプルな運用を心がけるのも、継続するためのポイントかなと感じました。

ということで、現場からは以上です。明日はサーバーサイドエンジニアの [swdyh](http://qiita.com/swdyh) が書きます。お楽しみに！