このブログは更新を終了しました。移転先はこちらです。

2022-09-30

ツール製作日誌:トピック管理ツール

 4ヶ月ほど前に、GTD的な「プロジェクト」の名称はどうあるべきかという話題から(それには答えが出ていない)、そもそもタスクといわゆるプロジェクトはどういう関係にあり、どう管理したら良さそうかということを考えた。

    Noratetsu Lab: タスクとプロジェクトを考える


 その後、自分なりにそれを体現したツールを作ってみた。例によって他の人が使えるように公開しているわけではないのだが、ツールの話を通してコンセプトを言葉にして書いておけたらと思う。


 さてツールの外観はこんな感じ。(例として書いてある項目は完全に適当に作ったものなので深く考えないでいただきたく。)



 各エリアの意味は以下の通り。なお全てのToDoが「コンテクストごとのToDoリスト」のいずれかに配置される。そこに無ければ無いですね、ということである。


 レイアウトは前に紹介した自作のタスク管理ツールと似ているが(ツール製作日誌:タスク&スケジュール把握ツール)、プロジェクトの考え方などは大きく違っている。

 今回のツールは「Topic Manager」と名付けた通り、「トピック」をメインの単位としており、その下にまた「トピック」あるいは「ToDo」が属しているのが基本の形になっている。すなわちトピックとToDoの二種類のデータによって構成されているのだが、一方でトピックとToDoはプログラム上は同じ形のデータとして扱われており、ボタンひとつで切り替えることができる。今はこっちとして解釈する、という選択によって分けられているだけである。

 トピックには「企画」「日程」「目標」の三種類があり、それぞれ次のような意味合いを持たせている。

  • 企画:実行して成し遂げる必要のある、いわゆるプロジェクト
  • 日程:イベント・会合等の日にちをメモするもの(「締切日」は含まない)
  • 目標:こうしたい、こうなりたいという類の個人的かつ気分的な思い

 日程トピックに締切日は含まないというのは、締切を扱えないということではなく、個々のToDoに設定することができるので日程として用意する必要がないという意味である。またToDoには締切とは別に目標日を設定することもできる。

 以上を踏まえて、画面上の文字色や背景色による意味付けを説明すると以下の通り。なお右上のスケジュール欄の項目はマウスオーバーで日にちを確認できるようにしてある。


 具体的にやるべきことを生み出す大本になっているのがトピックであり、ほとんどのToDoはいずれかのトピックに属し、また必要に応じてトピックの下にトピックが入れ子に作られる。トピックの粒度には決まりはなく、自分が思った大きさで自由に作る。形式的な整理のためにトピックを利用しても問題はない。

 親とするトピックはいつでも変更できるので、例えば「あ、こうしたいと私は思っているな」と思ったら目標トピックをとりあえず一番上の層(=親トピック無し)にパッと作ってしまう。

 他方、親トピックが存在しないToDoを作ることもできる。プロジェクトも目標も特にない、例で言えば「Yシャツのボタンつけ」のようなToDoだ。それは左のトピックリストの中には表示されず、右のToDo欄の中では背景色が灰色であることによって視覚的に区別される。やる必要はあることだが、何かを構築するピースにはなっていないToDoと言えるだろう。

 

 ところでトピックやToDoというのは具体的にどういうデータを持つものとして扱われているのか。それを伝えるために編集画面を載せることにする。(スクリーンショット内で編集画面の外が暗くなっているのは、そういうオシャレなプログラムとかではなく単に後から加工しただけ。)

 まずトピック。上から順に、トピックの名前、目的の記入欄、親トピック/ToDo指定(複数可)、種類等の選択欄、下位トピック/ToDoの一覧と作成、メモ欄(アウトライナー)となっている。


 次にToDo。目的欄の下のあたりがトピックとは異なっている。各種の日付指定とコンテクストの選択ができる。



 なんだかごちゃごちゃと欄があるが、別に必ず全部を使わなければならないわけではないし、実際半分以上はタイトルと親トピック、コンテクストの指定のみで済ませており、目的やメモを細かく書いてはいない(ToDoの例のようなスカスカの場合が多々ある)。必要な時に書けるためにあるのであって、書かなければならない欄ではない。書きたい時には書く欄があるというのが重要である。

 ただしあまりに自明な場合を除いて、何のためにやるのかを1行でいいから言葉にして書いておいた方が、迷走を回避できるし動機づけの強化にもなるのは確かである。欄があれば書きたくなるので、メモ欄とは区別してわざわざ目的欄を設置し、なるべく書くようにと自分を仕向けている。

 目的欄の下の日にち指定やチェックボックス、ラジオボタンの類は、項目数は一見すると多いが、要するに一覧画面でどこに表示されたら嬉しいかということなので、見た目ほど複雑ではないし億劫でもない。一覧画面の各分類の右上の+ボタンをクリックすればその欄が選択されている状態(コンテクストならコンテクスト欄にその項目が記入された状態)でToDoを作れるようにしてあるので、手間は感じていない。


 トピックとToDoの設定切り替えも自由にできるようになっている(前に作ったタスク管理ツールではそうできなかった)。一度ToDoとして色々設定したけどこれToDoじゃなくてトピックとして考えるべきだったわ、となったら右上のラジオボタンで切り替えればいいし、逆も同様にできる。切り替えても締切日等のデータは消えてしまわないようにしてあるので、元に戻すのにも不自由しない。

 左上、タイトル横の四角はチェックボックスで、チェックしてデータを保存するとアーカイブ送りになる。データは残るが、画面から表示は消えて見えなくなる。左下の削除ボタンも同様で、画面から消えるが一応データは残る。データベースになっているJSONの中に「アクティブ」「アーカイブ」「トラッシュ」の三つの箱がある状態である。


 ついでに自慢(?)すると、現時点で存在しているアクティブなトピックやToDoはうまいこと見出しをつけて加工し、mdファイルとしてLogseq用のフォルダ内に出力するようにしてあるので、(mdファイルを編集してもこのツールに反映されることはないが)他ツールとの間で横断的に情報を利用できるようになっている。

 アーカイブしたデータはTopic Manager内では表示されなくなるが、これも別途mdファイルに出力してあるので、これまでやり終えたToDoを確認するのは簡単だ。Topic Managerでは常に今とこれからに意識を向けられるようにし、なんとなくログを眺めるみたいなことにはならないようになっている。(なおconsole.logでデータベースの内容はコンソールに出力しているので、デベロッパーツール上でデータの確認自体はすぐできる。)



 このツールの一番の肝は、「目標トピック」という分類を作ったことにあるかもしれない。このツールには「やる必要のあること」だけでなく、「○○したいなあ」「~~な人間になりたいなあ」といった願望も書き込むことができる。背景色で視覚的に区別されているので、実際に遂行しなければならないものとの混在が気になることもない。(並び順も各階層で一番下になるようになっている。)

 トピックの下位にはToDoがあってもなくてもいい。つまり、トピックは「ToDoが発生しそうなトピック」でなくてよい。日程トピックについても、「とりあえず把握しておきたいけど実際には行かないかもしれない企画展」のスケジュールを書いておいてもいいのである。

 自分の行動を決定するために必要な内容がトピックとして並ぶのが大事なことで、「リストを空にしなきゃ」とか思う必要はない。むしろ、自分の願望を書いておく場でもあることから、空っぽになったら困るのである。トピックリストはタスクリストではないのでたくさん書いてあっていいのだ。

 感覚に従ってトピックを作っていくと、しばしば階層は複雑化する。そのせいでToDoが把握できなくなったら困るので、右側の欄でToDoはコンテクストのみに従ってフラットに並ぶようにしてある。こうすることで、自分の中の気持ちや問題意識に沿ってトピックが構造化されることがToDo管理の邪魔になってしまうことのないようにしている。今のところうまく働いている。


 あとは緊急・重要・要連絡・連絡待ちのToDoリストと、コンテクストごとのリストを「面」で一覧できるようにしているのも自分の中では重要なポイントだ。

 前に作ったタスク管理ツールについての記事内でも、自分に必要なのは「細かくなくていいから全体がわかる形」かつ「一枚の面に整然と配置された状態」だということを書いたが、それを達成しているかどうかが私にとってはタスク管理ツールの価値の有無に直結している。そして世の中のタスク管理ツールはいまいちそうなっていなくて、カンバンツールもちょっと違う。列にはなっているが面にはなっていないからだろう。



 私自身はこれを自作したことで色々と楽になっているが、しかしこのツールはプロジェクトの全体像や自分の内面を俯瞰することを大きな目的としているので、仕事に追われに追われている人を救うための一助になるとは言い難い。「捌く」「こなす」ことを助けられるようには恐らくなっていないのである。

 そもそも全体像なんか関係なく目の前に発生するものを次々片付けないといけないような仕事では、トピックを立てるということに意味がないかもしれない。しかし逆に、そういう仕事の助けになるタスク管理ツールなら既に巷に溢れているような気がする。

 そして既存のタスク管理ツールがいずれも役に立たないほど多忙ならば、おそらくそれは多忙の度合いが激しすぎるので「ツールに入力する」ということがもうネックになってしまうだろうし、そうなると如何なるツールも力不足になるのではないかと思う。強いて言えば、音声入力で項目をスイスイ作って操作できるタスク管理ツールが存在したら少しは助かるだろうか。つまりは秘書であろう。


 多忙過ぎる人を救う手立ては私にはわからないのだが、とりあえず、タスク管理ツールが抱えている「タスクそのもの以外の情報を扱いにくい」という欠点を自分なりに解消し、自分の中にある情報を実現可能性・実現必要性に関係なく書き出せるようになり、そしてそれが「遂行しなければならないこと(いわゆるタスク)」の邪魔にならないように視覚的・位置的に区別されていることで、ごちゃごちゃあるのにごちゃごちゃしていないという形を作ることはできた。

 作って使い始めてから一ヶ月以上経っているが、今のところは「ここがネックなんだよなあ」といったことは感じていない。唯一スマホから編集できないのが玉に瑕だが(内容の確認だけなら上述したようにmdファイルを通じて可能)、スマホアプリを作れれば解決するよな~ということを考え始めているので、将来的には解消させられる可能性はある。が、そもそもそんなに欲していないので別にスマホからの編集機能は要らないかもしれない。


 ただ気をつけるべきは、全てのToDoがきちんとログとして残ることを期待してしまうことだろう。

 Topic Managerに書かずに片付けてしまったことを後から書くのかどうか。アーカイブのチェックを入れるのが遅くなった時に、厳密にいつやったことなのか確かにしようとするのかどうか。

 そういうものを必ず正しく書くと決めてしまうと、恐らく「後で書かなきゃ」が溜まり始めてしんどくなって続かなくなる。「Topic Managerのログは別に完璧なものではないが、おおよそこんな感じであったということがわかれば十分だ」というスタンスを守ることが大事だろうと考えている。