Sharing is Power!

プロジェクトリストを使わないプロジェクト管理と文芸的タスク管理

マニアックな話をしよう

まず、「プロジェクト」がある。今の私なら、『Re:vision』という電子書籍の制作がプロジェクトだし、『ライフハックの道具箱2021』の出版もプロジェクトだ。その他、出版社さんと進めている企画や、「かーそる」の制作もプロジェクトとなる。

一度のタスクの実行で完結しない、継続的な目標。

とりあえず、それをプロジェクトと呼ぶ。

そうしたプロジェクトについて、私はフォルダを作っている。Macのファイルシステムのフォルダだ。具体的には、まずDropboxというフォルダがあり、その直下にプロジェクトごとのフォルダが並んでいる。基本的には直下に置かれているが、「かーそる」のような雑誌運営の場合は、「かーそる」というフォルダの下に、「001」「002」といったサブプロジェクト用のフォルダを作っている。

基本的に、そのプロジェクトに関係ある情報は、そのフォルダに集めることになる。私の仕事上、その大半は原稿のファイルや画像データだが、それらに加えて「Todo」を書き留めることもある。ようは「やること」だ。

その「やること」は、Todo.txtなりTodo.mdなりといったテキストファイルに書き留めている。一番シンプルな手法だ。

その際のポイントは、「タスクだけを書かない」というものだ。というか、タスクだけを書くならば、専用のタスク管理ツールを使うのがよい。しかし、それではどうも使い勝手が悪いからこうしてテキストファイルをわざわざ使っているのである。

よって、そうしたテキストファイルには、できるだけ説明的に記述するようにしている。で、そこから「起こされる」タスクはマークダウンの記法を使って記述しておく。

これでこのファイルを閲覧すれば、自分が何をしようとしていたのかが、「なぜそれをしようとしていたのか」と合わせて確認できる。盤石の布陣だ。

文脈とタスク

究極的に言えば、タスクはすべて何かしらの文脈から発生している。「すべき事態」(あるいはその認識)があり、そこから「やるべきこと」が起こされていく。よって、文脈さえ記述されていれば、タスクの記述は特別には必要ない。「自分の原稿が全体的に粗いので、文章の精度を上げるために書き直していく」と書いていれば、そこから必然的に「じゃあ、次はchap03を直そう」という行動が想起されるので、「chap03を書き直す」というタスクは不要なのである。

しかし、「プロジェクト」は概ね複数の文脈が存在し、ときに並行して進んでいく。そうしたとき、「文脈を読み返さなければ次にやることが確定しない」というのでは具合が悪い。だから、タスクとしてそれを表現する。行動だけを抽出した文を生成して、それに「やること」という性質を与えていく。

一般的なタスク管理ツールが行っているのは、この後半部分であるし、後半部分でしかないとも言える。それらのツールでは、基本的に文脈の処理は使用者の脳内に任されていて、それと知らない人はまったく行わないこともある。当然、それでプロジェクトの管理が成立するわけがない。

私はその状況をひっくり返したいと願っている。「タスク」を処理するその前に、それを生み出している「文脈」を扱えるようにしておきたい。むしろそれこそが、タスク管理の神髄ではないかとすら思う。

だから、Todo.mdには、まず文章を書き、そこからタスクを起こすようにしている。そうすれば、必要な情報が欠損することはない。

ただし、上記のように一つのプロジェクトに対して、一つのフォルダ/todo.mdを当てていると、それらプロジェクトの全体を一覧する視点が欠落してしまう。それは存外に落ち着きが悪いものだ。

そこで、Pythonにがんばってもらうことにした。Dropbox直下のフォルダ/ファイルをすべて走査し、そこにTodo.txtないしTodo.mdファイルが含まれているならば、その内容を抜粋して表示するスクリプトを書いたのである。

そうして生成されたファイルは──これも.mdである──、以下のような形になっている。

このファイルを見れば、当面自分が抱えている「やること」が閲覧できる。もちろん、タスクだけが抜粋されていて、文脈が抜け落ちているので、細いところまではわからない。それは、地図の縮尺を変更すれば、目に入るものが変わるのと同じである。「プロジェクト」を一覧しようとするときに、それぞれの詳細な文脈は情報的に不要である。もしそれが必要であるならば、個別のtodo.mdを開けばいいだけだ。役割分担が大切である。

プロジェクトの状態

こうしたやり方をはじめてすぐに気がついたのだが、「プロジェクト」には少なくとも3種類の状態がある、ということである。

まず、todo.mdが存在していて、その中にタスクが記述されているものがある。これはそのプロジェクトが「アクティブ」であることを示唆している。

一方で、todo.mdのファイルの存在は確認されるが、その中にタスクが記述されていないものもある。これは先ほどのファイルでは、ファイル名だけが記述されているものが相当する。状態としては、半アクティブ、準アクティブと呼べるだろう。

そして最後に、todo.mdが存在しないプロジェクトがあり、それは先ほどのファイルでは表示されることすらもなくなる。アーカイブ、ないしは休眠状態というわけだ。

よって、私があるプロジェクトを完全にdoneにしたければ、そこにあるtodo.mdファイルの名前をリネームすればいい、ということになる。たとえば愚直にdone.mdとしてしまう。そうすると、そのファイルの名前はリストアップされなくなり、私の視野からは外れていく。

逆に言えば、「まだこれはdoneにしたくない。具体的なタスクは抱えていないけれども、覚えておきたい」というものに関しては、todo.mdを置いておけばいい。そうすれば、私の「タスクリスト」を圧迫することなく、しかしその名前を常に私にリマインドさせられる。

一般的なタスク管理ツールにおいて、扱いが難しかったのがそうした情報なのである。半分のアクティブ、半分のコミット。そのような「生半可」なものをうまく置いておく場所がないのである。明らかにそれは、自分の中では「いつかやること」ではないし、しかし「プロジェクト」として毎週レビューをしたい対象でもない。そういう中途半端なものの扱いが、たまたまた作ったスクリプトによって実現可能となった。僥倖である。

文芸的タスク管理に向けて

私は現在、上記のような「プロジェクト」の管理を行っている。これまではずっと「プロジェクトリスト」を作って、そのリストを通してプロジェクトの管理を行っていたわけだが、最近はそうしたリストの出番はほとんどない。プロジェクトはMacのフォルダが単位になっているし、それらの一覧はスクリプトによって自動生成される。doneの扱いは、todoファイルの名前の扱いで操作できる。

こうしたことが可能であるのが、デジタルツールの面白いところだ。私は、具体的なプロジェクトの中で、todo.mdファイルを作っているだけでよい。それよりも上の視点は、スクリプトが提供してくれるし、なんならその振る舞いは私のコーディングひとつでいくらでも変えられる。ツールがあらかじめ与えてくれる”視点”にこだわる必要はどこにもない。

また、文脈を記述しながらも、必要なタスクだけを抜粋して表示する、ということもデジタルツールでしかほぼ実現不可能なことだろう。ちなみに、この手法は文芸的プログラミングに強い示唆を受けたものである。具体的な実装はかなり異なるが「ソースとドキュメントを同一の場所に記述しておく」という発想は驚嘆に値する。その上、実用的なのだ。

よって、この手法をとりあえずは「文芸的タスク管理」と呼んでおくことにしよう。

・一つのファイルに、やることに関する文脈と行うべきタスクを一緒に書き込む
・タスクなどの一覧はそのファイルからの抜粋で行う

基本的な思想はこれである。これを叩き台にして、さらなる発展が期待される。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です