🕶️

オレオレタスク管理方法について

2024/12/30に公開

みなさんタスク管理してますか?

世の中には様々なタスクの管理方法があり、それを支援するツールも数多存在しています。
これまでにいくつか使ってみましたが、個人的にはどれもしっくりこず、結局はオレオレタスク管理方法に落ち着いています(別段タスク管理界隈に詳しい訳ではないので、本当にオレオレかは分かりませんが...)

そんなタスク管理のやり方と、なぜこの方法なのかを書いてみたいと思います。

筆者について

2024 年現在、私はフリーランスのソフトウェアエンジニアとして活動しています。
主に Flutter を用いたモバイルアプリケーションを得意とし、必要に応じて Firebase を用いてバックエンドも構築しています。
細かい内容はポートフォリオをご覧ください(PR) https://kingu.dev

最近の最も高額な買い物は

Apple Vision Pro です。
Mac 仮想ディスプレイはすごいですが、Apple Vision Pro は万人向けの製品ではないのでおすすめはしません。

ライトシーリングを外してANNAPRO: Comfort Head Strap 2 for Apple Vision Proをつけるとずっと装着していても辛くありません。つけたまま生活できます。

前提条件

私は主に一人で作業をしていることが多いため、本記事の方法も自分一人のタスクを管理する方法として書いています。
チームで開発する場合などでは適さないかもしれません。

"タスク"の定義

本記事におけるタスクの定義は 1 つあたり数分から数日で完了できる程度の 1 つの事柄にまで分割した作業を指しています。
例えば以下のような粒度を想定しています。

  • 〇〇ボタンの挙動を確認する
  • タイポを修正する
  • 〇〇の部分をリファクタする
  • 〇〇のレビューをする
  • 〇〇のチャットを返す
  • 〇〇のバッチを実装する

オレオレタスク管理で重視していること

私は主に以下の 2 点を重視しています。

  • タスクの存在を忘れたい
  • タスクを早く潰して忘れたい

タスクの存在を忘れたい

私はタスクを忘れたいです。
すっぽかすという意味ではなくて、あとこのタスクがあるということを忘れたいです。
まずこれをやってからあとはこれとあれとそれがあるから...と考えたくないのです。そもそも覚えてられません。

常に少し先のタスクのことまで考えていると今取り掛かっている事に費やせる脳のリソースが減ってしまうと感じています。
おそらく認知負荷の、中でも短期記憶を消費してしまうと感じています。
認知負荷という概念についてはプログラマー脳の本が良かったです。

https://www.amazon.co.jp/プログラマー脳-~優れたプログラマーになるための認知科学に基づくアプローチ-Felienne-Hermans/dp/4798068535

非常に感覚的な話にはなってしまいますが、少し先のタスクを考えてしまっているとなんだか胸がザワザワして気分が悪くなります。
よく分かりませんがストレスになっているんでしょうか?

タスクを早く潰して忘れたい

タスクを早く潰して忘れたいです。
小さければ小さいタスクほど積んでそのままにしてもいいことはないと思っています。
小さなタスクがその辺に転がっていると、目に入ってしまい気になってしまいます。

もちろん優先度の高いタスクを先に終わらせるのは大事ですが、数分で終わりそうなタスクはさっさと終わらせてしまった方がメリットが大きい場合も多々あります。
キリがいいタイミングでさっさと終わらせましょう。

オレオレタスク管理の実践

テキストファイルにすぐに書く

数時間以内に終わりそうな小さなタスクはテキストファイルに書きます。

例えばCotEditorで適当なテキストファイルを作成し、何をすれば良いかが分かるように書いておきます。
私は macOS を使っているので macOS 標準のメモを使っていたこともありましたが、文字を装飾したり綺麗に整理整頓するほどの内容でもないのでプレーンテキストで十分でした。

このテキストファイルはすぐに書いたり確認できるように常に開いており、別の実装をしていて思いついた時や、ミーティングで新しいタスクが発生した時にサッと書き込んでいます。

〇〇画面のボタンが動かない
〇〇で〇〇できるように
〇〇の挙動を確認
〇〇を追加する

それぞれなんとなく数時間以内には終わりそうですね。終わったらその行を消していきます。

ただし、取り掛かってみて思ったよりも時間がかかりそうであったり、数日はかかりそうな内容の場合は Github Issues を作成して後回しにすることもあります。
また不具合の調査過程などでログとして残したい場合や、優先度が低くて後回しにすべきことなども Issue を作成してテキストファイルには書きません。

あくまでこのテキストファイルには今日か明日には全て終わる程度のさっさと終わらせるべきタスクだけを書いておき、「あと何のタスクがあるんだっけ?」を頭の中から消してしまうことが目的です。

要点しか書かない

私は要点しか書いていません。
テキストファイルにタスクを書いている時点で、「このタスクを解決するためには〇〇が必要だと思うから〇〇をする必要があるな」といった流れが頭の中にあるので、わざわざ書き出す必要はないと考えています。

もし流れを忘れてしまったとしても、要点を見れば同じ思考で同じ結論になるので今のところ困ったことはありません。
こういう時にはなぜこれをするのか、ということを体系的に理解していれば連想ゲームのように思い出すことができますし、自分の思想はそうそう変わらないので結局同じ結論になります。なっているはずです。

次にすることを明確にして書く

テキストファイルは常に開いているので、突発的に発生したタスクも一旦はここに書きます。
よくあるパターンとして、定例ミーティングなどで口頭で不具合の報告を受けることがあります。

例えばログインできないという不具合の報告を受けたとしたらテキストファイルには以下しか書けませんが、これだと次に何をすれば良いのかはっきりと分かりません。

ログインできない?

次に何をすれば良いのか明確にする

口頭での報告だと大抵の場合は不具合を調査し始めるための情報が不十分です。
次に何をすれば良いのかが自分の中で明らかになるまで不具合に遭遇した方にその場で聞いて、大まかな原因を明らかにした上でテキストファイルに書き込むようにしています。

そうしなければ「ログインできない?」現象の方向性が分からないので無駄な調査が発生する可能性がありますし、「ログインできないってなぜ...?」と気になってしまいます。


相手:「ログインボタン押しても何も起きなかったんですよね」
私:「数秒待っても変わりませんでしたか?」(通信が遅かっただけ?)
相手:「変わらなかった」
私:「iOS ですか?Android ですか?」(Firebase Authentication を使っているので設定の不備?)
相手:「iOS です」
私:「ID とパスワードを入力しなおしてもログインできませんでしたか?」(ID/パスワードが間違っている?エラーメッセージが表示されていない?)
相手:「できなかった」
私:「わかりました。後で確認しておきます」


ここまでの会話は 1 分ぐらいで終わると思います。
まだまだ聞きたいことはありますが相手がすぐに回答できない場合は、回答の待ち時間でミーティングの時間を消費してもしょうがないので、ひとまずざっくりとした原因がわかるだけ聞きます。
この時テキストファイルには以下だけ書いています。

iosでログインできない
パスワードミス?

先ほどの例よりは次に何をすれば良いのかが明確になっているので、まず以下の動作を確認するでしょう。

  • iOS で正しい ID/パスワードでログインの操作を試してみる
  • 間違った ID/パスワードでログインして、エラーメッセージが表示されるか確認する

もし相手がパスワードを間違えている可能性が高ければ相手にそう伝え、テキストファイルの内容は消して忘れます。
もし何らかの不具合が発生していたり、さらに深掘りしていく必要がある場合は Issue を作成して作業ログを残すのが良いでしょう。

振り返る時は?

テキストファイルに書いて、対応して、すぐ消していたら日報や週報で振り返る必要がある時に困りそうです。
前述の通り潰したタスクはすぐに忘れてしまうので、思い出せません。

ソースコードへの変更は Pull Request を作成するので Pull Requests を見れば把握できますが、このタスクは何をしたのかということを理解し直すのは面倒です。
Pull Request 作成時に何らかの説明を書くとは思いますが、いずれにせよ読む必要があります。

そこで私がよくやるやり方は、タスクが完了したらその都度報告のフォーマットに追記しています。都度書くことで記憶が新鮮なうちに正しく記録できますし、後からまとめて書くよりもずっと楽です。

オレオレタスク管理の弊害?

この方法を長年やっているせいなのか私の頭のせいなのか分かりませんが、自発的にいつ何をやったのか思い出すのが難しいと感じています。

例えば半年前何やっていた?と聞かれても全然ピンと来ません。
一方で半年前〇〇やってたよね?と聞かれたらめちゃくちゃ思い出します。その時に開発したアプリケーションの設計や細かいマジックナンバーさえも思い出す時があります。

ただ、全然ピンと来なかったとしても半年前の出来事が無駄になっているわけではなく、経験値として蓄積されているので技術力はアゲアゲです。

(Optional)日常のタスクも似たように管理できる

我が家では冷蔵庫にホワイトボードを貼っており、タスクを書き込んでいます。
このホワイトボードはいつも目に入る場所にあるので、通りすがりに何かタスクが残ってないか確認できます。

現在はこんな感じになっていました。
我が家のホワイトボードの画像

  • 左上のチラシは近所のイベントのチラシです
  • 「MOLMAX」とはMOLMAX が公開されたということを意味しています
  • 「ヨーグルト」とは賞味期限がやばいヨーグルトがあるということを意味しています
  • 「シャンパン」とは早く飲んだ方がいいシャンパンがあるということを意味しています
  • 「サラミ」とは早く食べた方がいいサラミがあるということを意味しています
  • 「24g、300ml、34g、450ml」とはコーヒー豆と水の量のメモです。何度も淹れているので覚えていますが邪魔じゃないので書きっぱなしになっています

賞味期限がやばいヨーグルトなんて一瞬で忘れてしまいますが、一言書いておけば安心ですね。

(Optional)付箋でディスプレイの周りに貼る

最近はやっていませんが、昔はディスプレイの周りに付箋を貼っていました。

その頃はボトルガムをよく買っていたので、なぜかボトルガムにいつも入っている付箋に要点を書いていました。
ディスプレイの周りに貼ると嫌でも目に入りますし、ごちゃごちゃするのでさっさと片付けようという気になっていました。

まとめ

普段私が行っているタスクの管理方法について書いてみました。
おそらくタスクの管理方法に銀の弾丸は存在せず、思考のプロセスによりけりだと思います。

もしかしたらこのオレオレタスク管理方法で生産性が爆上がりする人は、あなたかも知れません...🕶️

GitHubで編集を提案

Discussion