自分のbacklogと向き合う話

※ こちらは「LayerX Advent Calendar」 57日目の記事です。

画像1

はじめに

こんにちは。LayerXから三井物産デジタル・アセットマネジメントに出向し、現在アセットマネジメント事業のDXを推し進めるべくエンジニアとして携わっている武市融紀(@tacke_jp)と申します。

ここ1年ぐらいで、一緒に働く皆さんから多大なる影響を受けて、自分のタスク管理の方法が大きく変わりました。皆さんへの感謝の意を表しつつ、その気づきをこの記事を開いていただいた方にシェアできればと思い書きました。少しでも何かの参考になれば幸いです。

(ちなみに、三井物産デジタル・アセットマネジメントは、大手企業から出向された金融・コンプライアンスのプロ、アセマネのプロ、LayerXからのBizDev・エンジニア・デザイナーといったソフトウェアプロダクトづくりのプロが1つのチームとなってデジタルスクラッチな金融事業の立ち上げを行っているジョイントベンチャーです。各方面の多才な方々からいつも刺激をもらっています。こちらの記事は三井物産デジタル・アセットマネジメントの雰囲気がよく分かる記事です。有料記事ですがよければご一読ください。)

タスクが生まれる瞬間を捉える

タスク管理のポイントは、新たなタスクが生まれたら、それを忘れず記録しておくことだと思っています。

自分が日々行っている方法は、まず大きな1つのリストを用意します(inboxと呼びます)。タスクが新たに発生したら、即座にそこに項目を追加します。人から口頭で依頼を受けた、slackでメンションされた、やらないといけないことを思い出した、ついでにやっておきたいことを思いついた、などなど。内発的なものも外因的なものもすべて一様に追加します。

新たな予定が発生したら、カレンダーアプリやスケジュール帳に何らか記載をする習慣がついている方は多いと思います。それと同じで、タスクが発生したらその瞬間を確実に捉え、忘れずinboxに記録するようにします。

そして、inboxに記録したタスクは、(本当に一瞬で終わるものは別ですが、)やりたいと思っても今すぐ着手しないようにします。
backlogに積んで上から順にやる

1日に2~3回程度、inboxに溜まったタスクを、以下のリスト(自分はbacklogと呼んでいます)に分類します。
* 今日やるbacklog
* 今週やるbacklog
* 来週やるbacklog
* いつかやるbacklog

今日/今週/来週backlogはタスクの種別を問わずごちゃまぜに放り込みます。いつかやるbacklogのみ、適切に分類を行い項目別に追加します。(自分は現在40程度の種別に分類しています。)

個人的に気をつけていることは、「今日やる」や「今週やる」はできるだけ最低限のタスクしか入れないことです。仕事で予定外の割り込みタスクが入ることは、どんな職種の人でも避けられないかと思います。CTOやEngineering Managerは言わずもがな、日々コードと向き合うソフトウェアエンジニアでも、日々の会議、メールへの返信、採用面談への参加、経費精算など採用以外のこなさねばならないタスクは多くあるかと思います。そんな状況下でも、最低限ここまで終わらせれば明日/来週なんとかなるな、というタスクを厳選してbacklogに入れるようにします。ここまでやったからOK、と一日の終わり/週の終わりに自分が安心できるギリギリを見極めます。

その後、今日/今週/来週backlogを上から優先度順に並べます。タスクの依存関係を考慮すると必ずしも綺麗に一列に並べられるものとは限りませんが、そんなことは気にせずともかく一列に並べます。(自分はある瞬間1つのタスクしかこなせないと仮定します!)

並び替えたら、今日backlogの一番上にあるタスクから順番に着手していきます。一番上にあるタスクを終わらせることに全集中します。人に話しかけられたり、slackでメンションが飛んできたり、お手洗いに立ったり、mtgに出たり、ランチに外出したり、などなどの中断を追えた後、かならず一番上にあるタスクから再開します。もしそのタスクが他の誰かの作業に依存していてこれ以上実施出来ないときは、項目にメモを残してリストの下に移すことで優先度を下げます。

今日backlogを必死にこなしつつも頻繁に今日backlogを眺めます。今日できそうになければ今週backlogに移し、今週backloogを眺め来週でもなんとかなるものは来週backlogに移します。逆に必要なタスクがあれば随時手前のbacklogに移していきます。一日の始業時/終業時や週の初め/終わりにも振り返ります。(自分は日報の作成や週次定例の報告内容をまとめる際に行っています。)

(ちなみに、このinboxを用いたタスク管理の方法はGTDに大きな影響を受けました。また、取り組む期間ごとにbacklogを用意する方法は、プロダクト開発におけるsprint backlog・product backlogの管理から大きなヒントを得ています。)

すべてを脳から吐き出すことの効果

上記を実践してしばらく経った頃、「あれやらなきゃ」「わすれたらヤバい」といったモヤモヤが少なくなっていることに気づきました。また、ふとした瞬間にやらないといけないことが想起されても、「積んだからOK」と脳を安心させられるようになりました。

ご飯を食べている時、帰宅途中、お手洗いに行っている途中、休憩中、そして何かに取り掛かっている時、ふと「あれやらなきゃ」などと思い出すのは皆さんよくあることではないでしょうか。そのような”ボール”を意識下に投げ込んで来るのは、常にバックグラウンドで何かを考えている潜在意識なんじゃないかと思っています。(「潜在意識」が脳のどのような機構によって生じるものなのかについては自分は全くの素人ですが。)大量の同時並行のバックグラウンドジョブをこなして、それを随時意識下に投げ込んでくる、潜在意識はそんなことをしているイメージです。不安なことがあると頭の中がいっぱいになるのは言うまでもなく、ふとしたクリエイティブなひらめきもそうだし、あれやらなきゃ的な思い出しも同類な気がします。上記のタスク管理のポイントはそれをすべてinboxに放り込んでおき、同じのが来たら「それ積んだからOK」で済ませ、脳のリソースを解放することです。

頭の中にある気がかりなことをすべて吐き出すことで潜在意識さんを落ち着かせると、タスクへの集中度がグッと増すような気がします。

(このように、ある事象が発生した際に、常に同じルールに則り、システマティックかつスピーディーに対処することのパワーを、一緒に働く同僚のワークスタイルから学びました。自分にとって強烈な学びでした。)

(閑話休題) 自分が利用しているツール

OmniFocusのmac版とiOS版を使っています。オフラインでも動く&オンラインで同期される仕組みなのでサクサク動いてくれるのが好みです。サブスクで$10/moと若干高いですが個人的には満足しています。notionなどを使って個人のorganizationを作ってそこで活用するなどもいいと思います。

OmniFocusにはタスクの1項目にどんどん次やることを追記していっています。またメモ欄にslackやasanaやnotionやdocsやsheetsやGithubのPRなどの関連URLをどんどん記載していって、作業を再開する際にすぐにリンク開いて作業に復帰できるようにしています。Node.jsのcallback handerがcontextをcaptureしているイメージです。callback内で再度DBから取り直すのはoverheadなので近いところに参照を保持しておきたい、的な感じです。

GTDの流儀だとメールやスケジューラもinboxになり得ます。ただ、自分はそれらとは別にタスクをOminFocusに作成し直しています。ここだけ見ればOKという場所にしておきたいためです。メールはあくまで情報共有のツールですし、スケジューラは人と予定を共有するのが主目的なので、使い勝手の面からタスク管理を完全にそちらに寄せるのは難しいと判断しました。重複はやむ無しですが….。チームでのタスク管理ツールもチームでのタスク共有や管理が主目的なので、やはり個人のタスクは自分管理のツールで一箇所に統一されている方が良いように思います。考え方によりますが、inboxにプライベートの予定も放り込んでしまうのもありかと思います。

むすび

タスクを今日backlogに本当に厳選して追加しても、その日中にすべてを終わらせることが本当に難しいことを日々痛感しています。自分は、こなせるタスクの量を常に過大評価してしまう傾向にあります。巷では、見積もりは掛ける3倍ぐらいにするのが丁度いいとよく言われていますが、少なからず皆が直面する課題なのかもしれません。多くのビジネス書でも、1つのタスク・1つの目標にフォーカスすることの重要性が謳われていますが、それは僕たちがやろうと思ってできることが想像よりもだいぶ少なく、故に如何に取り組むべきことを少なく、シンプルにしなければ物事を成し遂げられないことを訴えているのだと思うようになりました。

システマティックにタスク管理を回すことで、積み上がるbacklogに恐れおののくこともありますが、十分に明確化された現実を目の当たりにすることは、逆に前に進む勇気を与えてくれるもののようにも思うようになりました。

長い文章でしたが最後まで読んでいただきありがとうございました。この記事が、何か皆さんのお役に立てたのなら望外の喜びです。

最後になりますが、LayerXのFinTech事業部ではデジタルフルスクラッチのアセットマネジメントを一緒に作り上げていくソフトウェアエンジニアを募集しています。こちらに募集職種の一覧がありますので、宜しければご覧下さい。

それではまた。

この記事が気に入ったらサポートをしてみませんか?