はじめに こんにちは。ネクストモードのSaaS事業部hagiです。 好きなNotionのブロックタイプは、トグルリストです!...
【Notion】Notionのスプリントボードを使ってチームの変化を追えるようにしてみた(本編)
はじめに
こんにちは。ネクストモードのSaaS事業部hagiです。
好きなNotionのEmbed(埋め込み)は、ギチギチに外枠が削ぎ落とされた状態で貼り付けられるGoogleスライドです!
引き続き、NotionチームのチームのToDo管理が捗らないという悩みを聞きつけてなんとかしようと取り組んだ経緯について書いていきたいと思います。
数式プロパティもいくつか例を載せていますので参考にしてみてください。
はじめに
前回は、要件のヒアリング(第六感)と、スプリントボードのご紹介(スプリントは良いぞ)をさせていただきました。
ライトに体験を得たい方は、すぐに左下のテンプレートからプロジェクト、タスク、スプリントテンプレートを複製してすぐに利用を始められます。
此処から先は、実装と運用の泥臭いナレッジを書いていきます。多分誰も気が付かないようなディテールを気にしてみました。
出る杭の逆で、ハマる前に穴を塞ぐ!そんな現在進行系のちょいチューンをご説明していきます。
ボードの種類
まずはテンプレートの用途から決めていきます。テンプレートを起こすと4つのデータベースが降ってきますので、それぞれの使途を考えます。
- スプリントボード
- 一番見える位置に設置する用。みんなで使う顔。イケメンにする。
- タスク
- スプリントではバックログと呼称される、一番細かいToDoを落とす箱。名前を洗濯かごかバケットにしたかったけど、そこで導入のハードル上げてもしょうがないので命名を諦めました。
- スプリント
- スプリント管理用。通常は、例の完了ボタンでグルグル回せるので振り返ると思われる四半期のタイミング以外、ほとんど開くことはない。
- プロジェクト
- その名の通りプロジェクトの括りでタスクをまとめることができるデータベース。後述しますが強めの思想があるので、特別括りたいような大きなイベントが起こらない限り使いません。社内ではよくこういった社内プロジェクトをタスクフォースと呼称していますが、壊れない願掛けのため一旦そのまま扱います。
課題の解決
さて、ここからは、前回の課題を打ち消すための実装を一つずつ書いていきたいと思います。
- 前回定例からの変化がパッと分かるアウトプットにしたい
について、更新した時にマークがつくようにしたらいいじゃん!と考えましたが、更新なしが置き去りになる可能性があるためボツにしました。
※こんな感じで自分と口論しながら決めている様子をサラッと流し見ください。
上記は更新箇所のみスクラムの時に表示できるビューを別途用意すれば、更新あり/更新なしどちらも拾う動線となるため問題ないと考えます。
→スクラム用に使い分けられる日付フィルターのビューを用意
また、カテゴリーの分け方は様々ありますが、グループ化で分けるより、プロパティで分けるより、リストビューのトグル表示のほうがより直感的に、X軸も使って分かりやすく表現できると考えています。
グループ化
プロパティソート
リストビューのトグル表示
画面が切り変わると、脳内メモリがリセットされる感覚ってないですか?
そういう感覚もあって、なるべく1枚の画面ペラに、うちらの生き様すべてを表示したくてトグルレイアウトを採用しています。
また、「このサブタスク、ちょっと大きすぎじゃない?」となった場合もすぐ下に掘って、掘って、掘りまくって細分化できる利便性も得られます。しかもその作業すら画面遷移なし!
親の価値
トグルで親子表現をすると、親のタスクの扱いが宙ぶらりんになりませんか?
めっちゃくっちゃなります。
数式プロパティも除外処理の構文が散乱して大変です。
ただこの、「用途のないタスク」に対して、この度目的を与えてみました。
元々、個々のタスク内に散らばって書かれた進捗情報が、後でまとめて眺められないのをどうにかしたかったのですが、Notionのタスクは、1ページの中に大容量の文章を打ち込んでも問題のないページの概念があるため、親タスクに文章類を全部寄せてしまえば良いんだと思いついた次第です。
_人人人人人人人人人人人人人_
> フロートストックの両立 <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
です。
親タスクで議論をして、アクションが生まれたら小タスクを払い出して、また議論に戻ってくる。そんな使い方をイメージしています。
どうしても子タスクに書きたい進捗などは、コメント欄を利用するなどして、あくまで情報の実体を親に残す心掛けは必要です。
放置厳禁
- 忙しさから、ToDoを更新しなくなっていって管理が廃れてしまう
どんなToDo管理ツールを使っていても起こり得ることですが、GTDを見習って、まず頭の中にあるものをすべてアウトプットしてから、時間をかけて壮大な計画を練って順序を振り分けて、あー楽しかったーってJust Doできない人の多いこと!(個人のイメージです)
進捗を少しでも起こすために、チームメンバーの目を借りていきます。
誰しも、取り組んでいることに対して見られている感覚があればちょっとは頑張れますし、リアクションを受けられたら嬉しいはずです。
ここも純正機能であるSlack通知を活用します。拍子抜けですか?大事なのは、発火条件です!
プロパティの説明をまだしていませんでしたね。条件となるプロパティは後述します。
また、起こしたタスクに責任感を持ってもらうため、担当者なしタスクを作らせないようにします。
作った人がデフォルト担当者!
しかも一人限定に絞るよ
担当者を1名に絞ると誤ってチームが解散してしまう恐れがあるため(ないですが)、別途副担当プロパティを用意します。
こちらは複数名入れられるようにします。
まだまだ。
もっと揺さぶるため、動いていないタスクを炙り出して主担当をシバく仕組みを導入します。
1週間更新のない放置されたタスクに印を付けて、スクラム時にチェックするようにしましょう。
ifs(empty(親タスク),"",formatDate(最終更新日時,"YYYYMMDD") <= formatDate(now().dateSubtract(6,"days"),"YYYYMMDD"),"✏️","") |
(親タスクがなければ空白、最終更新日時が今から6日引いた値よりも若ければ印をつける)
期限切れもおこです。
if(now() > 日付,"🗓️","") |
(今より若ければ印をつける)
これらのプロパティは、通常利用では邪魔になるためスクラム専用のビューにのみ表示するよう隠しておきます。
そうそう、ロールアップを使って進捗率を出す方法って、ありますよね。
一般的なやり方は、DB内の特定プロパティに絞ったチェックボックスの完了率を数値で示す方法があります。といっても伝わらないので画像を1つ貼ります。
これを、今回は採用しません!
なぜなら親と子でDBが分かれていないからです。
そのため別の数式を与えます。
if(サブタスク,round(サブタスク.filter(current.ステータス=="完了").length() / サブタスク.filter(current.ステータス != "アーカイブ").length() * 100),"").toNumber() |
(サブタスクがある行で、サブタスクのステータスを見て、完了タスクとアーカイブ以外の全タスクの割合を出す)
や、自分でも何書いたかパッと分からないですが、すぐ下のタスクの完了数の比率を出しています。ただし全スプリントの比率をね!
一瞬やっちまったと思いましたが、全スプリント累計にすることで、最終的にあえてキリの悪い数字になりつつ、限りなく100に近い値にどんどん近づいていく、頑張った度として表示されてくれるんじゃないかという期待を好奇心を込めて一旦そのままにしています。
更新をしなくなる理由の一つに、タスクの追加が面倒があるかもしれません。
なるべく楽な動線を実装したいです。
DBテンプレート?
タスク追加ボタン?
オートメーション?
結果から申し上げると全部ダメでした。そう、スプリントならね…。
条件の中に、「現在のスプリント」を書き込めないため、追加したタスクが全てスプリントなしのバックログ(虚無)に落ちてしまうのです。
ということで、現状の最善策は、トグルの近くをクリックいただくことになります。
あんまり深いトグルだとほじくるまで大変ですね。
そう思った方、良い質問ですね。運用に関してNotionいつメンの南氏が横から解決策をGJ(グッジョブ)してくれました。
フィルタを開いて、サブタスク:未入力にする!→トグルがデフォルトで全開になってくれますよ!
カテゴリー分け
- カテゴリ分けの強弱が分かりにくい
について、カテゴライズの精度に個人差が出ないよう定量的な判断基準を用意します。
判断が鈍らないためにも、1プロパティに2要素入れることはもちろん避けたいところです!
重要度について
カテゴリ分けの1つである重要度を考えました。
本題に入る前にまず余談ですが、AIプロパティによるカテゴリーの自動入力も考えました。試しました。
結果、思ったような精度はまだ得られておらず、自動更新にすると最終更新日時が化けるので一旦取りやめました!今後も継続検討します。
気を取り直して重要度ですが、そもそも重要度の解釈は人それぞれだと思いました。
定性判断をやめたいです。
こと、プロジェクトのタスク消化に重きを置いた場合、最悪未消化で終わった場合にどういったチームダメージが起こり得るのかの尺度でカテゴライズすることにしました。
プロパティ名はカッコつけないように直感的な表現に変えます。
重要度 → やらないと(どうなる)
利益損失 → 利益を逃す
(意図的になるべく熟語を使わないで、可能であれば"ひらく"ことも意識してプロパティ名を実装しています。疲れた身体に熟語は刺さらないからです。)
緊急度について
緊急度とは、どのくらい急ぎなのかという尺度ですが、こちらも期限が切れないタスクなどは放置しがちです。
定量的な尺度を新設します。
- 日付は入れられないけどデッドラインはこのへん!みたいなことなら言える
- タスクの効力が失せるタイミングを逼迫度としてセットする
- 期限はないけどやる日、やれそうな日なら設定できる
- やる日が決まってるタスクを急かす意味はないのでシバく対象から外す
アイゼンハワーマトリクス
重要度、緊急度と聞いてピンと来る方がいるかもしれません。
私はこの表が大好きです。
解説はGoogleに任せてしまいますが、こちらの考え方をいい感じにオマージュしてプロパティを肉付けしていきます。
- 重要 かつ 緊急 …次アクションを高優先で処理するため一番上にソート
- 重要でもなく、緊急度が不明…アーカイブ候補としてフラグを付与
アーカイブ候補
if(empty(サブタスク),if(やらないと == "何も起きない(低)" and empty(デッドライン),"📦",""),"") |
(サブタスクがないタスクのプロパティ状態を見て印をつける)
強まる思想
あーもっと主担当をシバきたい。
もっと強いプロパティが欲しい。
毎日更新しようじゃだめなんだ。それが誰しもできるわけじゃないからそもそも悩んでたはずなんだ。
何で止まってるんですかと問いただす根拠を、文字で、見える位置に、置きたい。
(更新されなくなるリスクをかなり真剣に考えているだけです)
そうして生み出された画期的なプロパティがあります。
テキストプロパティです!!
こちらも拍子抜けに見えますが、かなりシェイプしています。
この値に「相談」を待ってるタスクが多い担当がいた場合、その人は本当は主担当ではないんじゃないか、とか、タスク化するには早すぎたんじゃないかといった基準にも使えます。
このプロパティ、今回のボードで一番大事なんじゃないかと思ったりもしています。
更新がなければ、ココを突つけばいいですし、本人のモチベーションもなんとなく伝わります。
うまく使っていけばそもそも進捗会議で聞くことなんて何もなくなる=進捗会議をなくせるところまで期待しています。
間違いなくスクラムの一番見えるところに配置しましょう。
この大事なプロパティに肉付けをしていきます。
以前にSlack更新通知の話をしましたね?ココの編集をトリガにします!
なんと、みんなの仕事を前に進めるモチベーションがSlack通知に伝搬してゆきます。
みんな元気をもらえます。
更新した人は運が良いとSlackリアクションが返ってきます。
なんという好循環でしょう。
(とはいえチャンネルが荒れる可能性もあるため情シスとしてきちんと通知用チャンネルを分けて実装します)
また、未入力の場合はちゃんとシバけるようにフラグを立てます。
次アクションが不明
if(empty(サブタスク),if(empty(何を待っているのか),"🏃♂️",""),"") |
(サブタスクがないタスクのプロパティ状態を見て印をつける)
余談ですが数式プロパティの操作感は、昔Splunkを触っていた時の、詠唱呪文を試行錯誤してやり遂げたときのスッキリ感と似ています。
レスポンスの機敏さがそれに似ています。もくもくタイムがそんなに辛くないよという話です。
今まで作ったフラグをスクラム用データベースビューの前方に配置します。
だいぶサボるとこんな感じの見栄えが出てきて、スクラム時の会話が弾むことを期待します!
カオスをこえて終末が近づく…
チームの一人がタスク管理に熱を入れれば入れるほどアリーナ(利用者)の熱気が下がる経験を幾度となくしてきました。
何でもやりますよという体裁を取ると、やる気が集中してしまって、全体のモチベーションが下がってしまいます!
一人で回すのではなくて、チームみんなで回すための仕組みづくりが必要だと思います。
そもそも(セルフ)マイクロマネジメントしてるメンバーにとっては二度手間になるかもしれません。
現にちょっと聞いてみたところ、
- マイタスクをNotion個人ページで作って管理してる人
- マイ スプリントボードをNotionで作って管理してる人
- Slackの個人チャンネルだけでやりくりしている天才肌
などが見られました。それらと内容がバッティングしないよう配慮も必要だと思いました。
また、個人でやっている分には良いですが、何らかの強制力を働かせた結果、仕事が増えてないか?と我に返ることも大事だと思います。
Notionはあくまでシンプルなツールです。無理にNotion内で完結するために、あれこれ稼働をかけて熟考するのも楽しい(エンジニア気質な人達が楽しくなって仕事を放り出して遊びはじめることを指す)ですが、それよりも、GoogleやMiroなど各種対応しているEmbedリンクをどんどん貼り付けていって、仕事のHubとして活用することで、もっとスマートに運用できるのではないかなと思ったりもします。
最後にタスクをこなすのは、人間どもです。管理ツールに消化はできません。
タスクを振られた人間がその先、自身のモチベでやる時間枠を取って、そのタスクとおさらばする手立てを取ることこそが本題です。
タスクに向き合う時間。タスクを捌いてたはずが、いつしかタスクにシバかれてたことがないよう、消化のモチベーションを落とさないようにしたいです。
ツールにできるのは仕事をキレイに並べるところまで。その先の面倒事が束になって押し付けられる先は、自分です。消化に使う体力を削がないためにも、仕事のための仕事が増えないようにしなければなりません。
行き過ぎた管理は仕事のための仕事にしかなりません。
さいごに
タスクをフローとして捌くことに特化した最強ツールも世の中にありますが、経緯を共有、レビューしながら情報をストックしつつ、合間のアクションを拾ってフローもなるべく近い位置で裁きたい、一画面にそのすべてを収めて俯瞰したい、そんな欲張りアプローチの例を今回ご紹介しました。
進捗会議は通常、未完了にフォーカスしますが、スプリントは更新箇所を見られるため、完了やアーカイブについても、もれなくレビューできます。
完了タスクをねぎらったり、なぜアーカイブになったのかの経緯を振り返るのも大事です。
なお、今回のボードはまだ第三者の意見反映もなく、まだまだ鍛え足りないアウトプットになっているはずです。
これからこの作った型がどう転がっていくのかは楽しみです。