見出し画像

「タスク管理」について ー会社員もそうじゃない人もー(5)

こんにちは。日常のタスク管理について考えるシリーズの五回目です。

■前回はこんなことを書きました
形から入る私としては「タスクの細分化」を上手く生活に取り入れるための「ツール探し」は楽しみのひとつ。
ノートや付箋で手書き作戦、既存アプリのお試し行脚などを経て、結局ぴったりのものが見つからず、自分でWebシステムを作ることにしました。

🍀前回の記事はこちらです。


■今回は・・・
作るとなれば話は早い。
「自分が欲しい機能を、自分の好きなように実装すればいいんだよね!?」
いままで仕事でほかの人のためにWebシステムを作ってきた私にとって、自分勝手に作っていいというのは、ものすごくワクワクします。
さて、そこで浮上してくる新たな課題は「私は一体全体どんな風にタスクを管理したいのだ?」です。

■作成するWebシステムのプラットフォーム

最初に、これから作ろうとしているWebシステムの動作環境について、ごく簡単にご説明したいと思います。

今回、主にこの3つを使って動作するものを作ります。
・ブラウザ
・Webサーバー
・データベース・サーバー(以下「DBサーバー」と呼びます)

結論から言いますと、これから作るツールは仕組みとしては一般に〈Webアプリ〉とか〈Webシステム〉とか〈Webサービス〉などと呼ばれるものです。ただし今回はオフラインで使いたいので、そのための環境を自分のPCに準備しました。

例えばGoogle検索とか、このnoteもたぶんそうだと思いますが、普通に私たちが利用しているインターネット上のWebサービスは、それぞれがそのサービス用のWebサーバーやDBサーバーを使って動いています。そして、それらは全部インターネット上にあるので、私たちはルーターを通して外のWorld Wide Webの世界に接続して《オンライン》でそのWebサービスを利用しますよね。

ここで「ブラウザ」「Webサーバー」「DBサーバー」「Webサービスの本体プログラム」この全てが、言わばオールインワンのように自分のPCの中にあれば、《オフライン》で使えるWebシステムを作ることが出来るのです。

ブラウザはすでにPCに入っているので、あとは自作のWebシステムを動かすための〈Webサーバー〉と、データを保存する〈DBサーバー〉が必要ですね。

商用のWebシステムの場合、プラットフォーム(サービスを動かすための土台)は様々ですし、それなりにお金をかけて構築されますが、個人が自分のPCの中で動かす場合は大抵オープンソースのものを使います。
今回、Webサーバーは「Apache」、DBサーバーは「MySQL」というソフトウェアを使います。どちらもオープンソースなので利用するのにお金はかかりません。

ということで、それらを自分のノートパソコンにさくっとインストールしちゃいます。あとは「タスク管理システム」のプログラムを書いていけばいいわけです。そうすると全てが1つのPC内で完結するので、インターネット接続なしで、自分のPCの中だけで動く自作のWebシステムが使えるというワケです。

Webサーバーなどのお話は記事のテーマから外れるのでここでは詳しく書きませんが、このような前提条件の元、「Web」の仕組みを利用しつつも「オフライン」で使える〈ローカルWebシステム〉として今回のツールを作っていきたいと思います。

Webの仕組みを使うツールなので「入力画面」や「タスク一覧」のような表示の部分は、ChromeなどのWebブラウザに受け持ってもらいます。

■ツール制作スタート

まずは自分にヒアリング

さて、いよいよツールを作り始めます。
仕事で何かを作るときは、大抵まずはヒアリングから始まりますよね。
お客さん(発注者)がどんなものをオーダーしたいのか、ざっくりと聞くわけです。
そこで、今回は自分で自分にヒアリングしてみました。

  1. チケット方式で親タスクを子タスクに細分化して管理したい

  2. 「TODOリスト」または「スケジュール帳」のようなものを兼ねたい

  3. いろいろな角度から状況を把握できるようにしたい

自分のタスク管理だけに特化したツールなので、最初はこんなものかな。思っていた以上に要件が少なかったですね(というか、機能を欲張ると大変なのは自分ですからねぇ😅)。

それでは、それぞれの内容を少し細かく確認していきます。

1.チケット方式で親タスクを子タスクに細分化して管理したい

これは前回の記事で検討した「Redmine」というオープンソースのプロジェクト管理ソフトウェアで採用されているやり方で、1つの大きなタスクを〈親チケット〉として登録し、その配下に、タスクを細分化した〈子チケット〉を登録していく方式です。

タスクの細分化で私が一番最初に試したのは「ノート+付箋+ホワイトボード」作戦でした。
これをアナログからデジタルに置き換えるようなイメージです。

ノートの1ページに記入したタスクが「親チケット」、付箋が「子チケット」というカンジです。

タスクを1つだけ例にあげて、具体的にシミュレーションしてみます。

例:「災害備蓄」
最近は気候変動による災害も増えているし、停電なども心配です。
「いざという時のための備蓄をしたほうがいいよね」ということで、「災害備蓄」を〈親チケット〉として登録します。

一概に「災害備蓄」と言っても、その中にはいろいろ細かい作業が詰まっていて、全体として、まだ漠然としています。

そこで「タスク細分化」の出番です。

「タスク細分化」についてはこちらの記事で書いていますので、よかったら読んでみてください。

そして、小分けにしたタスクを〈子チケット〉として登録します。

●親チケット: 災害備蓄
┗ 子チケット1: 備蓄品目をリストアップする
┗ 子チケット2: 適切な備蓄量を算出する
┗ 子チケット3: 買い物リストを作る
┗ 子チケット4: 家の中に備蓄品の置き場を確保する
┗ 子チケット5: 備蓄品を購入する
┗ 子チケット6: 購入した品物に「消費期限」ラベルをつける
┗ 子チケット7: 所定の置き場に設置する

こんな風に〈親チケット〉とその配下の〈子チケット〉を登録して、実行日や期限などを設定できるようにしたいと思います。


2.「TODOリスト」または「スケジュール帳」のようなものを兼ねたい

実は今回のツールは「タスク管理」と「スケジュール帳・TODOリスト」のハイブリッドみたいなものにしたい思っていました。

つまり「木曜日は生ごみの日」のような〈繰り返しイベント〉とか、「図書館の本を返却する」というような〈単発TODO〉なんかも登録できるようにしたいわけです。


3.いろいろな角度から状況を把握できるようにしたい

今回作成するツールの目的は何といっても「タスクを実行しやすくすること」です。

ツールを作っただけでは「計算ドリルを買っただけでやった気になり、結局1ページも手を付けませんでした」という《いつかの夏休み》みたいなことになっちゃいます。

タスクを登録しただけで満足してしまう(私に有りがちな)ことにならないように「見やすく」「使いやすく」「やる気になる」が大原則です。

そこで重要なのは「表示画面」ですが、ツール制作にあまり多くの時間をかけたくないということもあり、必要なものを厳選して作りたいと思います。

「一覧表示」の案は以下の4種類
(1)その日のタスクリスト
(2)年間のタスクリスト
(3)チケット一覧
(4)ガントチャート

ツールが出来上がった後で使いながら追加・修正していけばいいので、最初はこれで必要十分。

では、それぞれの中身も少しイメージしておきましょう。

(1)その日のタスクリスト
これが一番大事。
登録された「子チケット」と「TODO的な単独チケット」のうち、その日実行する分だけを表示します。
とにかく他の事はいったん忘れて、今日やることに集中できるようにするための画面。
「ノート+付箋+ホワイトボード」作戦の「ホワイトボード」にあたる部分がこの画面です。
重要なのは「この画面では迷ったり選んだりしなくていい」こと。
なので、それ以上細分化できないものが表示されなければなりません。
このリストを見たら、もう反射的に行動に移せちゃうくらいがベスト

(2)年間のタスクリスト
これは長期的な視点でタスクをスケジューリングするために欲しい一覧。
来週、来月、3か月先・・・など、先々の予定を立てるのに必要ですね。
日によってやることが多すぎたり少なすぎたりしないようにタスクをバランス良く配分したり、年単位で俯瞰して期間の長いタスクを把握するのにも便利かなと思います。

(3)チケット一覧
「親チケットだけ」「子チケットだけ」「日付順」「カテゴリー別」など、必要なフィルターやソートをかけられるようにします。

(4)ガントチャート
タスクの開始・終了と期間を直感的に把握するのに便利なのがガントチャートです。

ただし、使い勝手の良いガントチャートを作るのは、ちょっと大変な作業になりそうです。

それに「マイルストーン」とか「クリティカルパス」なんていう、ガントチャートによくある便利機能は、自分ひとり用のツールには必要無い気がします。

※マイルストーン:中間目標地点
※クリティカルパス:もし問題が発生したら全体の進捗がヤバくなる可能性のある箇所

第一、今回のツールで管理するのは「納期のあるプロジェクト」じゃなくて、「やりたいこと」なんですから、そこに「クリティカルパス」なんていうモノが出てきたりしたら、もう、ウンザリしちゃいますからね。

そこで、ガントチャートについては、全体を俯瞰するだけの棒グラフに毛が生えた程度の画面を作ることにします。


さて、自分のツールのおおまかなイメージとボリューム感が見えてきました。

「タスク管理ツール」と銘打ったものの、こうして改めて考えてみると、私がほしいのは『タスクを〈親&子チケット構造〉で登録できるTODOリスト兼スケジュール帳』みたいなものだということが分かってきました。

実際のシステム設計では、このヒアリング結果をきちんと整理して「クライアントが望んでいること」を明確化します(これを巷では「要求定義」とか呼びます)。

そしてその後も「〇〇定義」とか「△△設計」とかが続き、「(?_?)図」や「( ゚Д゚)図」を作ったりもするんですが、自分用のシステムなので、もちろん省略します😁。


次回は、実際の生活を分析して、ツールと連動できるか検討してみます。

お楽しみに~😊



この記事が参加している募集

やってみた

よろしければサポートお願いします!次の作品の励みになります!