見出し画像

Notion で(自分なりの)タスク・時間管理を行う方法(プレ着手編)

最近は、少し Notion の話から離れて、マガジン外で、「プレ着手」に関する記事を書いていました。

まず、そもそも「プレ着手」とは何か、どのように実践するのか、という点については、良ければ、次の記事をご覧ください。

と言っても、私の記事だけでなく、その上の方にリンクを貼っている、他の方の書かれた記事なども見てみるのが、実は、よりオススメです。

また、次の記事では、inbox のない「タスクシュート」のメリットを、「気になること」を追加するという観点から、改めて、説明した上で、
そこに「プレ着手」の考え方も導入していくとすれば、どういった手法が考えられるのかを、ちょっとした応用として、紹介してみました。

まぁ、端的に言って、何か「気になること」があるなら、とりあえず、「プレ着手」してみよう!というだけの話なのですが、
今回は、そういったメソッドを、Notion 上で実現するには、どうすればいいのかについても、そろそろ、考えていきたいと思います。


ルーチンノートを更新していく方法

もちろん、タスクシュートに限らず、どんなツールを使っていても、「プレ着手」を実行すること自体は可能で、
極端な話、簡単な「チェックリスト」を作って、上から順番に10分ずつ着手してみることができれば、それで十分です。

タスク管理アプリではなく、普通のノートアプリや、なんなら「A4用紙」などを使っても良いくらいで、
人によっては、大仰なアプリを利用するよりも、紙やホワイトボードなどにサッと書いてしまった方が、やりやすいということもあるかもしれません。

この作業は、ある意味、inbox に「気になること」を追加していくことにも似た、「今日やること」を書き出すもので、
タスクシュートなら、今日のプランを立てる際に、一つひとつ、見積もり時間10分のタスクとして追加しておくのが、基本でしょうか?

そうして少しずつ着手した上で、「グランド着手」しようと思ったものだけ、今度は多めの見積もり時間で、以降のプランに追加するという流れですね。

しかし、あえて、大雑把に「プレ着手」という名前のタスクを作成し、そのタスクのノートにチェックリストを配置するという方法もあり、
というか、実際、私もしばらくは、この手法を採用していました。

つまり、そのタスクをルーチン化しておけば、チェックリスト付きの「プレ着手」タスクが、毎回、自動的に生成されるようになります。

例えば、平日の朝10時から1時間ほどを確保し、6つのタスクを10分ずつ実行しようという場合、次のようなルーチンになるでしょうか。

「プレ着手」ルーチンを作成する

この場合、次の記事で紹介したように、このルーチンページの内容が、タスクの生成時に引き継がれるようになっていることが前提です。

ちなみに、細かい話をすると、Notion のブロックの種類などによっては、上手く引き継がれない場合も多いのですが、
それについては、またの機会に、少しずつ改良していくとしましょう。

とりあえず、インデントなしの単純なチェックリストなら、タスクのノートに、問題なく引き継がれます。

ところで、上のチェックリストの一番下に、何やら文章が書かれていることには、気付かれていましたでしょうか?

要するに、今日の「プレ着手」タスクが終わった後、このチェックリストを更新して、明日「プレ着手」するタスクを整理しておくためには、
当然、元のルーチンページを編集する必要がある、ということですね。

毎朝、書き直してもいいですが、一応、ルーチンなので、その日の「プレ着手」の終わりにも、リストを見直しておくのがオススメです。

というか、ルーチンを更新するタイミングは自由なので、
今日の「プレ着手」タスクが一通り終わった時だけでなく、このチェックリストは、いつ更新してもらっても構いません。

そういう意味では、実質的に、「プレ着手」の時間だけで、毎日、10分ずつ進めていくようなプロジェクトがあってもいいでしょう。

まぁ、大抵のプロジェクトは、締め切りが近づいてきたら、次第に「グランド着手」することも増えてくる、といった感じになるとは思いますが。

プレ着手リストを作成する方法

明日「プレ着手」したいタスクを思いついたタイミングで、「プレ着手」ルーチンのノートにあるチェックリストを更新していく方法の問題点は、
基本的に、そのシンプルさとトレードオフなのですが、

必ずしも、毎回、6つのタスクを実行するわけではないとしたら、このルーチン全体の見積もり時間も、いつも1時間にはならず、
かといって、タスク数に応じて、いちいち時間を調整するのも面倒ですし、

一つのタスクにまとめてしまうと、チェックリストの各項目を、ちゃんと10分で切り上げられているかどうかは、合計からでしか判断できないため、
どの項目に時間がかかっているかなどの情報は、失われてしまいます。

まぁ、見積もり時間を多めに確保しておいたり、必要な情報はタスクのノートに追記しておけば事足りるというのであれば、
場合によっては、それほど問題にはならないかもしれませんが、

せっかく Notion を使っているなら、いっそ、「プレ着手」用の機能を実装してしまうというのも、結構、オススメです。

特に、すでに「ルーチンリスト」から取得したデータを元にタスクを自動生成する処理を、GAS で書いているなら、大して難しくもありません。

他のルーチンと同じように、普通に「ルーチンリスト」に入れるのと何が違うのかについても、実際に見てもらえれば、分かるでしょう。

仮に、次のような「プレ着手リスト」を作成したとします。

「プレ着手リスト」を作成する

ここには、既存の「ルーチンリスト」とは違って、開始予定時刻や見積もり時間を設定するプロパティは、あえて追加していませんが、
なぜなら、当然、「プレ着手」では、ある特定の開始時刻から、10分ずつタスクに着手していくことが、あらかじめ決まっているからですね。

逆に言えば、それ以外のプロパティは、基本的に、「ルーチンリスト」と同じで良いでしょう。

まぁ、全体の開始予定時刻くらいは、どこかで設定変更できるようにしておいた方が便利かもしれませんが、
私の場合は、平日であれ土日であれ、とりあえず、午前10時から「プレ着手」を開始するためのプランが生成されるよう、
以下のように、直接、プログラムの中で指定してしまっています。

const preRoutines = getRoutines("xxxxx", "secret_XXXXX");
let preStart = new Date(today.setHours(10, 0, 0, 0));
preRoutines.reverse().forEach((routine) => {
  const properties = routine.properties;
  const title = properties["名前"].title[0].plain_text;
  let preEnd = new Date(preStart.getTime() + (10 * 60 * 1000));
  const children = getChildren(routine.id);
  const repeats = properties["繰り返し"].multi_select.map(option => option.name);
  repeats.forEach((repeat) => {
    if (repeat2boolean(repeat, day)) {
      postNotion("yyyyy", title, preStart, sections, 10, children, "secret_XXXXX");
      preStart = preEnd;
    }
  });
});

例えば、このコードを、「ルーチンリスト」データベースから取得したデータを元にタスクを自動生成する処理の、下に追加してください。

ここで、「getRoutines()」は、上でもリンクを貼った記事の中で説明している、「ルーチンリスト」からデータを取得するための関数で、
実は、データベースの ID さえ変更すれば、そのまま「プレ着手リスト」でも使い回せるので、是非、活用しましょう。

引数の "xxxxx" は、自分の「プレ着手リストデータベースの ID」に、シークレット "secret_XXXXX" も、自分のものに置き換えておいてください。

下の方にある、「postNotion()」関数の引数 "yyyyy" には、もちろん「タスクリストデータベースの ID 」を入れておく必要があります。

また、「today」変数などについても、「ルーチンリスト」データベースを処理するために、すでに定義されているものを再利用しているのですが、
その行(上のコードの2行目)が、まさに「プレ着手」全体の開始予定時刻を「10:00」に設定している部分ですね。

その開始予定時刻「preStart」から、10分でタスクを実行したとすると、その終了予定時刻「preEnd」は、6行目のように算出でき、
繰り返しの最後に「preStart = preEnd」として、「preStart」を「preEnd」で上書きしておくことにより、
例えば、1つ目のタスクの終了予定時刻を、2つ目のタスクの開始予定時刻として、採用できることになります。

これで、ひとつ一つのタスクの開始予定時刻を決めておかなくても、順番に10分ずつ割り当てて、プランを生成できるようになりました!

このコードが実行されると、他のルーチンと同様、自動生成されたプランは、次のようになるはずです。

「プレ着手」セクションページ

上のコードでは省略しましたが、その気になれば、各タスクにプロジェクトを設定することもできます。

そう言えば、ルーチンページやプロジェクトページに並ぶ、セクションページについては、今まで紹介したことがありませんでしたが、
上のように、単に、そのセクションのタスクだけが見られるページです。

ちなみに、一応、タイムラインビューも用意してあるのですが、最短で15分ごとの表示になってしまうため、
これについては、今後の Notion のアップデートにも期待ですね。

タイムラインビューは、最短で15分ごとの表示にしか対応していない

ともあれ、これで、「ルーチンリスト」から、「プレ着手」するタスクを切り離して管理できるようになったわけですが、
やはり、いちばん大きいのは、開始予定時刻や見積もり時間を手動で調整しなくても、勝手に設定してくれる、という点でしょうか。

特に、「プレ着手リスト」では、数多くのタスクを、割と頻繁に更新することになると思うので、この快適さは、結構、馬鹿になりません。

是非、自分に合ったシステムを構築する、一つの参考にしてみてください。

まとめ

今回は、少し久しぶりのマガジン更新ということで、Notion 上で「プレ着手」に取り組むための仕組みを、簡単に紹介してみました。

とは言え、「プレ着手」の10分を、どうやって測るか、通知するかなど、実際の運用の仕方には、まだまだ課題があるのですが、
個人的には、Apple Watch のタイマーなどを使って、10分経ったら強制的に、今やっているタスクを切り上げてしまうのが、オススメです。

もちろん、あと5分でタスクが終わりそうな時などには、計15分で、最後までやってしまった方がいいとは思いますが。

そもそも、初めから見積もり時間を15分にしておくというのも、検討に値するでしょう。

そして、タスクの開始予定時刻になったり、見積もり時間が経過した際に、Notion から通知する方法も、改めて、考えてみたいところですね。

とにかく、私も、引き続き色々と試行錯誤していくつもりなので、また何か進展があれば、記事にしていきたいと思います。

ではまた。

いいなと思ったら応援しよう!