タスクの関係とは、他のタスクとの包含・参照・依存などを扱ったもの。
具体的には3つあり、3Pの形でまとめることができる。
3P
Parent 親子関係(親タスクや小タスク)
Point ポイント関係(リンク元やリンク先)
Pre-Post 依存関係(他のタスクの更新に連動して何かを更新する仕組み、もっと言えば他のタスクの前or後に自身を更新する)
親子関係
特にBTSが備えるもので、タスク間に親子関係を設定する。
タスクAに子タスクBをぶらさげるタイプもあれば、タスクAに親タスクBを設定するタイプもある。
分類系属性でも似たようなことはできるが、ここでいう親子関係とは違う。親子関係とは、あくまでタスク自身が自分の親や子を持つ(ツール側がそのような設定をサポートしている)ことを意味する。つまり分類上親子関係が生じるのではなく、ユーザーが明示的に、意味的な親子関係を設定するわけである。
ポイント関係
タスク間に参照関係を設定する。
ポイントには有向と無向がある。有向は、タスクAからBに参照するだけであるB側は何も起きない。無向は、方向を区別しないためB側もAを認識する(片方が繋げばお互いが繋いだとみなす)。有向については、単にリンク機能があれば実現される。無向については、ツール側が明示的にサポートしなければならない。たとえばGitHub Issuesは、タスクAからタスクBにリンクしたとき(#123
のように番号を書くだけでリンクできる)、Bにも「Aからリンクされた」という情報が表示される。また(タスク管理ツールではないが)ScrapboxやObsidianなど一部のノーティングツールではバックリンクをサポートしており、ページAからBにリンクすると、B側では「このページにリンクしているページ」欄にAが表示される。言葉にすると長ったらしいが、有向は単に一方的に参照し、無向は双方向を担保するというわけである。
依存関係
タスク間に依存関係を設定する。
具体的には2種類ある。タスクAからタスクBへの依存関係を設定したとき、Aが更新されたときにBを更新するタイプ(相手に依存させるのでアクティブという)と、Bが更新されたときにAを更新するタイプ(相手に依存しにいくのでパッシブという)をがある。
今のところ、これを実現したツールはClickUpだけである。アクティブな依存としてBlocking、パッシブな依存としてWaitingOnがサポートされている。
タスク管理との関わりと展望
まず親子関係については、既にポピュラーであろう。
仕事における管理とはプロジェクト管理であり、プロジェクトではタスクを階層的に分解して管理する。もっとも管理戦略は階層だけではないが、階層は最もよく知られており使い始めやすい概念でもあるため、事実上の標準と呼べるレベルでよく使われる(というよりこれ以外の戦略を知らないケースが多い)。同時に、最も形骸化しやすい戦略でもある。単純にメンテナンスが面倒くさいからだ。国内ではExcel製のWBSが好まれ、あるいはExcelでなくともWBS自体がずいぶんと幅を利かせているが、それは単に俯瞰とメンテナンスがしやすいからだ。
親子関係を導入して上手くいくのは、ウォーターフォールが通用するとき――つまり一度計画しきったら以後変更がなくそのとおりに進められるときだけだ。もちろん、VUCAな昨今、そんな仕事はほとんどない(あるとしても建築など扱いやすい世界だけであろう)ため、ほとんど上手くいかないと言っても良い。あるいは、上手くいっているとしても、管理が仕事になっているケースが大半だ。
ポインタ関係については、ラフな運用になるであろう。
参照をつけておくことで、忘れず辿れるようになったり、目に入って偶然辿ってみてそこで何かに気づくかといったことが起こるようになる。100% の管理は難しいにしても、何もしないよりははるかに情報やチャンスをもたらしてくれる。意図しない幸運、いわゆるセレンディピティを起こすのにも重宝するであろう。人は探索することで意図しない何かを発見するものだが、探索するためには辿れるようになっておかねばならない。もっとも、これについてもあえて言うまでもなかろう。よほどの仙人でもなければ、ハイパーリンクという形で参照の恩恵は受けているはずだ。
ポインタ関係をしっかり管理しようとしてはならない。親子関係よりもはるかに難しいため、まず成功しない。実際は管理しようともしないだろう。結果として、セレンディピティとは無縁のつまらない組織は、そこで扱われているタスク管理の、参照の使われ方でわかる。つまらない組織はほとんど使っていない。もしあなたが就職や転職などで組織を選ぶシチュエーションにいる場合、この参照という観点で覗いてみることをぜひおすすめする。
依存関係については、これからであろう。
依存関係はどちらかといえばジョブ管理で用いられる概念であり、タスク管理というよりもプログラミングに近い。タスクAが終わったらタスクBを開始するとか、タスクAはタスクBとCが終わるまで開始しないとか、そういった論理を積み上げて一つの整合をつくりあげるわけである。この概念を、タスク管理に持ってきたClickUpは野心的であると言えよう(といってClickUpがそもそもワークフローを意識したツールなので自然といえばそうなのだが)。
野心的な者は、依存関係を用いたタスク管理について検討してみたり、自作してみたりすると良いだろう。私もそのうち手を出すつもりだ。
---