Chienomi

MattermostのBoard機能がタスク管理にすごく良い

Live With Linux::software

MattermostはSlack的なOSSのコラボレーションツールである。 基本はself-hostedだが、Cloud版もある。

Mattermost自体については以前の記事で解説している。

今回はSlack的な機能ではなく、「Board」というタスク管理機能についてだ。

私は個人的なTODO管理にはSleekを、会社でのタスク管理はJiraを使っている。

Sleektodo.txtというユニバーサルなテキストファイルを用いたTODOソフトウェアである。というか、todo.txtの管理ソフトウェアといったほうが良い。 できることは……todo.txtのまんまである。

JiraはBitBucketで知られるAtlassianのタスク管理サービスである。 フリーでも利用でき、個人、あるいは数人のチームレベルなら十分に活用できる。 こちらは、本当に会社でやるべきチケット管理のサービスだ。

todo.txtもJiraも気に入らない!

私自身はSleekを全然活用できていないし、会社を見てもJiraは使ってはいるけど、かなり決まりきった使い方で有効活用できているとはとても言えない。

Sleekがうまく活用できないのは、TODOにありがちな「タスクの定義」問題だ。

todo.txtに含められるのは

  • 優先度 (A〜Z)
  • 完了ステータス
  • 完了日
  • 起票日
  • TODOの内容
  • プロジェクト
  • コンテキスト

の7つ。 とてもシンプルで、一見良さそうだ。

だがよく考えて欲しい。これで本当に管理できるだろうか?

例えば私には今確定申告というタスクがある。 確定申告は3月16日までに絶対やらなければならないタスクだ。 もちろん、優先度はAにしたい。

だが、確定申告の受付が始まるのは2月16日から。 つまり、Aにしたところでそのタスクは今消化することはできない。

では優先度は何にすれば良いだろう?

ひとつのアイディアとして、カレンダーにタスクを登録しておくという方法がある。 実際、私は今はCalDAVのサーバーを自分でホストしていて、TODOに対応している。 VivaldiはCalDAVのTODOに対応しているから、カレンダーと連動したタスクを登録することもできる。

が、しかしそれは微妙だ。 このタスクは期限までに必ずやらねばならないが、その日にやらなければならないということはない。例えば2月20日にタスクを入れていたとして、他の用事ができてその日が難しいとなったらずらせるタスクなのだ。

結局、置き場に困ってしまう。 そして、このようなことは「よくある」。

結果的に「優先度は何か」ということに迷ってしまい、タスクが整理されない。 どうしても「タスクとして書きやすいものだけが登録される」状況になるし、そうなるとタスク管理としてちゃんと成立しなくなる。

さらに、タスクが現在どのような状態なのかを書いておくこともできないし、タスクが増えてくるとどうしてタスクとして置かれているのかがわからなくなる。 TODOの内容、プロジェクト、コンテキストから「何をしなければいけないか」は十分に表現されているのだが、「なぜそれをしなければならないか」「今どうなっているか」「どういうゴールに向かっているのか」が全然見えてこない。

近年は体調と体力と時間のせめぎあいが激しくなっていて、「今2時間作業に使えるから、何にこの2時間を振るか」ということをすぐに判断したい、みたいな状況がよくある。 しかし、todo.txtの管理アプリからそれを判断できず、眺めている間に時間が過ぎていく。

ではJiraはどうか。 Jiraへの不満は一言で表現できる。 重すぎる。

Jiraはとにかくめちゃくちゃ重く、ウェブブラウザのCPU使用率がヤバいだけでなく、HTTPレスポンスも大変遅い。 とにかく1つ操作するだけでもめちゃくちゃ待たされるので、チケットひとつ登録するのに5分とかかかるのはザラ。

結果、みんなチケットを熱心に確認しないし、更新しないし、そもそも気軽に起票しない。 Jiraは強力な機能をたくさん持っているのだが、Jiraの機能にアクセスすればするほど時間が溶けるため、手順の確立された決まった動きしかしない。 結果、Jiraの機能をほとんど活用できず、大変非力なツールになっている。

Jiraを個人的なタスク管理に使う? ご冗談を……

Mattermostで解決だ

MattermostのBoardはJira的なタスク管理機能だ。 Slack的な「Channels」に並んで「Boards」という機能がある。 サーバーのメニューからもアクセスできる。

Boardsのメニュー

Boardsを開くとWelcome to Boards!というBoardが既にあり、これがチュートリアルになっている。 Boardがひとつの管理単位で、Boardにタスクに相当するCardsがある。

Jiraはチケットのワークフローがきっちり定義されているものだが、Boardsは非常にミニマルな作りをしている。 空のBoardだとCardの項目としてはstatusだけが存在する。

このstatusは「セレクト」という種類で、Jiraにおける「ラベル」のようなものである。 値は自由に入力することができ、値を入力すれば項目が増える。

これらは「プロパティ」と呼ばれ、プロパティに特別なものはなく、値にも特別なものはない。プロパティのタイプとして「作成日時」「更新日時」「作成者」「更新者」という値が自動的に確定するものがあるだけだ。 好きなプロパティをいくらでも増やすことができ、何らかのCardでプロパティを増やすとすべてのCardsにおいてそのプロパティが増える。 選択式の値である場合は、値を入力すればその値が選択肢として増える。

プロパティ、値ともに削除することは可能で、そうすると全てのcardsから消える。

これはかなり合理的であり、汎用性のあるものだけで構成されているから、管理したい内容の形式に合わせて柔軟に構成できる。

私のTODO用カード

何でグルーピングするかということをviewにすることができ、viewごとに固有のフィルタ、ソートを設定することができる。 そのviewでcardに何のプロパティを表示するかも設定可能。

viewは固有のグルーピングができる

ただし、会社で使っているJira並の管理ができるかというと微妙で、例えばステータスに完了を示すものがないため、ステータス別のところに完了ステータスのものが無限にたまっていく。結局全部のviewsにフィルタとして入れていく必要があり、すごく微妙。

また、Jiraであればチケット間の関係性を記述できるが、そういったこともできない。

さらに、プロパティの順番も、値の順番も並べ替えすることができないのもなかなか不便。

Jiraと比べるとだいぶ簡易的なものに感じられる。

「個人のタスク管理」に最高

しかし、Mattermostには非常に素晴らしいポイントがある。

非常に軽くてレスポンスが早いということだ。 デスクトップアプリではほとんど遅延を感じない。 (ウェブでもJiraみたいに重くはない)

そもそも私はウェブアプリのボタンひとつ押すのに待たされる感じが心底嫌いなのだ。

確かにJiraのようなコラボレーションの機能はなく、その観点から見ればMattermostのBoardsは満足できないだろう。 要は、関係性の薄い人と密に連絡を取らなくてもどんどん進んでいくための機能がなく、全体を把握していないとちゃんと機能しない。

だが、個人のタスク管理で言うとちょうど欲しいものが揃う。

「優先度は高いのか?」「期限はいつか?」「今の状態はどうなっているか?」「机で作業するものか、家の仕事か、それとも外出が必要か?」「着手してからどれくらい経っているか?」「どれくらい時間がかかりそうか?」e.t.c…

とにかく自分がタスクを判断する上で必要な情報を記載しておける。 また、それをプロパティにしなくても、Cardの説明で書いてもいいし、コメントもできるのでその顛末を記録しておくこともできる。

ちなみに、説明にタスクリストを書けるようになっていて、ひとつのCardが複数の小さな作業から成り立っている場合、作業ごとに✓をつけていける。

ちょうど私がタスク管理に求めていた機能が備わっている。

また、Boardを分ければプロパティも変わるため、性質が大きくことなっていて、かつ一定の性質を持っている「記事書き」を別のBoardにするとよりタスクを整理しやすい。

優先度でグルーピングしたviewで期限を表示させておけばほとんどの場合何から着手するかは決定できるし、こんがらがってきたら別のviewで角度を変えて見れば良い。

これは共同作業している小さなチームにも有効だろう。

テンプレートにも学びがある

Boardを作るときにはBoardのテンプレートが利用できるのだが、これを見ると様々な「管理」の手法というものが見えてくる。

Boardは基本的にはタスク管理のためのものなのだが、テンプレートではOKR管理に使ったり、ロードマップの表現に使ったり、スケジュール管理に使ったりしている。

基本的にはユーザーから見ると、管理と記録のためのものだろうが、実際にその通りに運用された場合、分析材料として見ることができる。 Meeting Agendaテンプレートなんかもなかなか興味深い。

こうして見ると今まであまり持っていなかった物事の切り口があるのだと気付かされる。 個人的にはスケジュール管理やプランニングの類はかなり苦手としてきたものなので、「こうやったらいい感じになるんじゃないか」ということが考えられるようになるというのは大いなる進展であった。

それにしても媒体が増えている

デジタル化を進めているという面もあるけれど、媒体増加はちょっと悩みどころ。

まず通知システムはMattermostを使っているが、モバイルへの通知はTelegramで行っている。 さらに、Discordを通知に使っているものも一部残っている。

スケジュール管理は自前のCalDAVサーバーを用いている。 ソフトウェア的にはVivaldiとGnome Calendarの2つを利用。

タスクは簡単なメモ程度のものはVivaldiでCalDAVに保存していて、本格的に管理しないといけないようなものはMattermost Boardを使うようにした。

メールはVivaldiではなく、Claws Mailを使っている。スマートフォンではAqua Mail。

というわけで、私が日常的なタスクを進めるためには、最低でもMattermost, Vivaldi, Claws Mailの3つのソフトウェアを使う必要があり、さらに実際はSNSや GitHub経由のコンタクトも気にする必要がある。

日記はRedNotebookでつけており、これはCalDAVで連携したりはできないから、クラウドストレージで同期している。

そしてそれを実現するために、CalDAVサーバーとMattermostサーバーをホストしているという負担もある。

もうちょっとまとめたい気持ちはある。 なんでもGoogleにゆだねている人や、Evolutionとかを欲する人の気持ちがちょっと分かる気がする。

ただまぁ、Vivaldiでメールチェックすることも(メールサーバーの設定を変えないといけないけど)できなくはないし、メールチェックはそこまで神経質になるようなものでもないから、MattermostとVivaldiを起動しておけばいい、という話ならだいぶ簡単になる。

大きいのはメール以外がスマートフォンで扱えないこと。 CalDAVは端末に取り込むしかなさそうだし、Mattermostのスマートフォン版はBoardsにアクセスできない。

結果的にちょっと複雑になってしまっている。 例えば、外にいるときにはスマートフォンからMattermostにメモして、帰ってからPCで日記に書き写す、のような、だ。

ひどく負担になるほどの手間ではないし、例えひとつにまとまったアプリがあったとしても最適でないなら使わないと思うが、もうちょっと一元化できないかなぁとは思う。