こんな個人向けタスク管理アプリないですかね？

## 初めに
個人のタスク管理で悩んでいます！
私が理想とするタスク管理アプリがあったら是非教えてください。

## 現状のタスク管理
今私はこんな感じで個人のタスク管理を行ってます。
### 前提
- 職はシステムエンジニア
- 週単位のWBSは切られており、今日やらなくてはいけないことはわかっている
- 日に5件ほどの問い合わせと2,3件のちょっとした依頼がある。緊急の打合せもしばしば
- 一日の業務時間のうち、5割程度が打合せで埋まっている
- 本記事の主題は個人のタスク管理（チームのタスク管理ではない）
### 今の管理方法
- 使用しているアプリは[Atlassianのカンバン](https://www.atlassian.com/ja/software/jira/features/kanban-boards)
- ワークフローは主に6つで構成

| 状態     | 詳細                                    |
|:--------:|----------------------------------------|
| 今週やる | 金曜日までに終わらせなくてはいけないリスト。スクラムでのスプリントバックログにあたる。  |
| 今日やる | 今日中に終わらせなくてはいけないリスト。デイリースクラムの「今日やること」にあたる。 |
| 進行中   | 今やっているタスクリスト。 |
| 完了     | 完了したタスクリスト。ちなみに振り返ることはほぼない。 |
| いつかやる | 「いつかやりたいな」と思っているメモリスト。スクラムでのプロダクトバックログにあたる。  |
| 外部確認中 | チーム内外へ問い合わせ中のため保留にしているタスクのリスト |

- 一日の流れ
    1. 朝一に「今週やる」のリストを上から優先順位順に並び替え、上から順に「今日やる」へアイテムを移動する
    1. 「今日やる」の一番上のアイテムを「進行中」に移動し、タスクに取り掛かる
    1. 完了したら「完了」へ移動する。成果物のレビューが必要であったり、進行のために問い合わせが必要であったらチャットで投げて「外部確認中」へ移動する
    1. 2, 3の工程を繰り返し、「今日やる」が全て消化されるか、就業時間になったら終わり
    1. 問い合わせや依頼があった場合は、緊急度や負荷を考慮して「今週やる」か「今日やる」のどちらかに加える

## 課題、困っていること
このスタイルは「今日の目標」が明確になるため使いやすかったのですが、最近になって課題が見えてきました。
### 一つのタスクを長くやってしまう
一口にタスクと言っても「設計書を確認して回答する」といった簡単なタスクから、「障害の原因を分析しパワーポイントにまとめる」という少々手こずるタスクまで大小様々です。
前者のような正解があるようなタスクは直ぐに完了にすることが出来ます。
しかしながら後者のような正解がないタスクは自分が納得する限り時間を費やしてしまい、気がつけば着手して二時間とか経ってます。しかもそれで見せられるような資料になっていればいいですが、まだ骨組みの段階だったりと…。
このような正解がないようなタスクに対して時間効率が悪いと感じています。
### 打ち合わせ中に内職してしまう
「今日やるリスト」は「今日できるタスク（can）」ではなく「今日やらなくてはいけないリスト（must）」として取り扱っています。
そのプレッシャーが先行し、打ち合わせ中ちょっとでも自分と関係がない話になったら少しでもタスクを進めようと内職をしてしまいます。（そして話を振られると何となく「そうですね〜」と返答しつつ時間を稼ぐ。）
そもそもの打ち合わせの組み方や進め方に問題があるのでは？というのはさておき、話を聞いていないのは人として礼儀を欠くので何とかしなくてはいけません。

## 解決の方針
課題の原因、ずばりそれはタイムマネジメントが出来ていないということです。
確かにカンバンは時点におけるタスクの状態管理と優先度付けに優れたツールですが、いつ何を終わらせるかという計画には欠点があるように思えます。
では課題を解決するためにどのような概念が必要でしょうか？
### タイムボックスによる時間への意識付け
タイムボックス（またはタイムボクシング）とは時間を区切ってタスクを行う方法や考え方の一つであり、一定の時間枠内で特定の作業に集中し、その時間が終了したら次の作業に移るという方法です。
このタイムボクシングの有効性は[ITエンジニア本大賞2024](https://www.shoeisha.co.jp/campaign/award/result/)のベスト10に選ばれた「世界一流エンジニアの思考法」でも下記のように述べられています。
> 海外のチームメイトを観察していると、「すべき」から時間を計算するのではなく、時間は固定して、その中で価値を最大化するという行動をとっている。
> タイムボックス制を始めたのは１年でもっとも忙しい時期である５月だったが、実働時間が減ったのに生産性は落ちるどころか、いきなり上がった感がある。

この手法を利用することで「一つのタスクを長くやってしまう」ことなく、時間を意識してタスクを取り組むことができるはずです。
タイムボックスには下記の二種類があります。
- ハードタイムボックス
    - 時間の区切りを過ぎると、たとえそれらが完了していなくても必ず手を止めて次のタスクに移らなくてはいけない
- ソフトタイムボックス
    - 時間の区切りが来た時、今のタスクを延長するか、次のタスクに着手するかを選択することができる

長時間同じタスクをやり続けていると視野が狭くなり新しい考えが生まれなくなってしまうため、頭のリフレッシュも兼ねてハードタイムボックスを採用する方針とします。
### パーキンソンの法則
パーキンソンの法則とはイギリスの歴史学者・政治学者であるシリル・ノースコート・パーキンソンが提唱した、「仕事の量は、完成のために与えられた時間をすべて満たすまで膨張する」という法則です。よく夏休みの宿題がぎりぎりになるまで先送りにしてしまう、という例が取り上げられます。
しかし「膨張する」という動詞からこの例は適切でなく、本来は重要度が低いタスクを見つけ出したり80%の完成度で良いものを100%にするため、仕事が時間ギリギリになってしまうという意味だと私は考えています。
このパーキンソンの法則を逆に利用すると **厳しめの時間を設定すると仕事は必要最低限になる** はずです。そうではなくともタイムボックスでタスクに時間を設定する際に、バッファを設けないことが肝要かと。
### 15・45・90の法則
15・45・90の法則とは精神科医・樺沢紫苑氏が唱えた人の集中力に関する法則です。
人の集中力が保たれる時間は下記だといわれています。
- 15分は人間が非常に深い集中力を出せる時間
- 45分は一般的な集中力
- 90分は集中力の限界時間

そのためタイムボックスも15分、45分、90分をデフォルトの区切りとし、タスクのサイズをその時間に合わせて分割や統合をする方針とします。
### WIPを1に制限する
WIPとはWork In Processの略であり、「WIPを1に制限する」とは「進行中のタスクを一つに制限する」という意味です。
WIPのタスクが複数ある状態は、いわゆるマルチタスクの状態です。ある研究では、作業A、Bそれぞれを繰り返し行う場合と、AとBを交互に行う場合で、作業全体にかかる時間が条件によっては40%も増加するという結果が出ています（[noteの記事](https://note.com/rhayahi/n/n49d57ff7e835)）。
このタスクの切り替えはコンテキストスイッチと呼ばれ、脳へオーバーヘッドがかかってしまい生産性が落ちるといわれています。
そのためWIPは1に制限し、タイムボックス中はチャットツールの返答も控えるように心がけます。（チャットツールの確認・返答もタスクの一つとして扱う）

## こういうアプリが欲しい
ようやく本題です。こんなタスク管理アプリがあったらいいなと思っています。
- 基本はカンバンでタスクを管理し、今日分のタスクはタイムスケジュールでも管理できる
- タスクはSmall task(タイムボックス15分)、Large task(タイムボックス45分)のどちらかを作成できる（後でタイムボックスの時間を変更できる）
- **(重要)** タスクを「今日のタスクリスト」に移動すると事前に設定した「可処分時間」に従い、タスクの優先度（リストの上から順）に従って今日のタイムスケジュールを作成する
    - 可処分時間とは事前に設定した、始業時間・終業時間・ランチタイムなどのこと
    - 「優先度」と「タスクの作業時間」は決まってるんだから自動でスケジュールを作成してほしい。全てのタスクの開始時刻を一つ一つ設定してられない
- **(重要)** タイムスケジュール上でタスクの予定開始時間を変更すると、後続のタスクも全てずれる
    - WIPを1に制限するためタスクが重なることはない
    - またベースはカンバンでありリスト内で設定しているタスク優先度がルールとして強いため、タスクの実施順が入れ替わることはない
    - 例えば緊急の問い合わせや依頼が発生して最優先のタスクが追加になったとき、自動で後続タスクの予定開始時刻がずれてくれないと非常に面倒
- 45分以上のタスクが連続している場合、タスクの切れ目で15分の空き時間を自動で設定される
    - この15分は休憩やチャットやメールの確認・返答に充てる
    - この機能はなくても良い（チャット確認のタスクを作成すれば良い）

## それってSunsamaでは？
[Sunsama](https://www.sunsama.com/)はかなり近いです。タイムボクシングの文脈で発見しました。
執筆中に見つけて少し触ってみましたが、下記の点で私のニーズと合致してなさそうでした。
- スケジュールの作成が面倒
    - １つ１つ、タスクをスケジュールにドラッグ＆ドロップしていくなんて３日経つと面倒でやらなくなります
- タスクの予定開始時間を変更が他のタスクと連動しない
    - 緊急タスクが入った瞬間に以降のタスクの時刻を手で修正しなくてはいけない
- カンバンによる状態管理ができない
    - Sunsamaは日付に対してタスクを設定するため、「いつかやりたい」と思っているタスクや「外部確認中」といったタスクが管理できない
    - 豊富にある外部アプリとの連携を駆使して何とかということかもしれないが、出来れば一元管理したい
- 値段が高い
    - 月20ドル。いやちょっと無理っす
- 後出しですが、端末間の共有はいらないからローカルで完結する方が良い。

## さいごに
こんなアプリあったらコメントで教えてください！
ぱっと探した感じ無さそうだったのでwebフレームワークの勉強と並行して作ろうと思ってます。