Notionでプロジェクトごとのタスク管理と工数自動計算できるようにした

# はじめに
業務の中で上司に「このタスクどれくらい工数かかる？」と聞かれたときに、いつも根拠の無い工数を答えるのが不安だったので、すべてのタスクの工数を自動計算して記録できるようにしたいと思いました。

そこで、普段からNotionでタスク管理しているので作業開始ボタンと作業終了ボタンで工数を計算できるようにしてみました。

以下のリンクでテンプレートを公開しています。ご自身のNotionに複製してカスタマイズしてご自由にご利用ください。

https://kawa247.notion.site/kawa247/cdcc4b60af5443d38b88ccf765f3d973

:::note
2024/2/24追記　
・Tasksに「工程」カテゴリを追加しました
・Projectページに工程でフィルタリングした工数を表示するリンクドデータベースを追加しました
:::

# この記事で書くこと
- 自分なりのNotionでのタスク、工数管理のやり方
- 公開したNotionテンプレートについての説明

# この記事で書かないこと
- Notionの基本的な使い方の説明

# 自己紹介
- 地方の社員数1桁の自社開発を目指す受託開発会社で働いています
- 30過ぎで実務未経験で入社し1年半経過したひよっこです
- PHP（主にLaravel）でWebの業務システムを開発しています

# Notionとは
Notionは、ノート、データベース、カンバンボード、Wiki、カレンダーなど、さまざまな機能を一つにまとめたオールインワンの作業スペースです。

いろいろな使い方ができますが、個人的には業務用として、メモ、タスク管理、工数管理で主に使っていて、プライベートでは、予定管理で使っています。
業務とプライベートの情報をひとつのアプリで一元化できてとても便利だと思います。

https://www.notion.so/ja-jp/product

# テンプレートの説明

ここからは公開したテンプレートの使い方を説明します。
ただ、自分も試行錯誤中なのでもっとこうした方が使いやすかったよって言うのがあればシェアしていただけると嬉しいです。

https://kawa247.notion.site/kawa247/cdcc4b60af5443d38b88ccf765f3d973

### ダッシュボード

![kawa247.notion.site_kawa247_cdcc4b60af5443d38b88ccf765f3d973 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655119/59008252-1ea7-3016-5df9-0904ae254dd1.png)

すべてのデータが一覧できるダッシュボードです。以下のような構成になっています。

- 「ショートカット」「備忘」「フリースペース」
    - このゾーンは走り書きや、ページリンクや雑多な感じで使っています
- Projectsテーブルビュー
    - 案件の一覧
- Tasksボードビュー、テーブルビュー
    - 全案件のタスク一覧
    - ステータス
        - 未着手
        - 待ち
        - 確認する
        - 作業中
        - 完了
- Memosテーブルビュー
    - 案件ごとにメモを書くのでそのメモの一覧

### Projectsを追加する

![b88f13754d4fd0258e77bfbd2990dc99.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655119/95e05e73-76db-10be-5f4a-6e6a07f53f59.png)

Projectsデータベースの「新規」ボタンを押すとデフォルトで「NewProject」テンプレートでページが作成されます。

### 「NewProject」テンプレート

![kawa247.notion.site_kawa247_cdcc4b60af5443d38b88ccf765f3d973.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655119/f19d7881-fab2-440f-0012-04450e698a57.png)

作成されたNewProjectページは以下のような構成になっています。

- Docs
    - 「メモ作成」ボタンを押すとこの案件に紐づいたメモページが作成されます（ここに案件のドキュメントを書いていく）
    - 下の「リストビュー」にこの案件に紐づいたメモ一覧が表示されます
- Tasks
    - この案件のタスク一覧を「ボードビュー」で表示
- Completed Tasks
    - この案件の完了ステータスのタスク一覧です

### Tasksを追加する

![b701f55a478f117a4af9435d0492c5e7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655119/081ef603-de85-9097-7ad6-3d4c46a327e0.png)

Tasksデータベースの「新規」ボタンを押すとデフォルトで「Tasks」テンプレートでページが作成されます。
Projectsの中で追加した場合はその案件に紐づいたタスクになります。
ダッシュボードからもTasksは追加できますが、その場合、どのProjectにも紐づいていないタスクが作成されます。

### 「Tasks」テンプレート

![4f61d024444167c41a070c603dbb643d.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655119/159f0518-fb7f-cb2b-8950-0816520a0920.png)

Tasksにはいろんなプロパティがありますが主に使っているものだけ紹介します。

- 作業開始ボタン
    - 押すと、「作業中」ステータスになり作業開始日時に現在の時間が入力されます（公開ページでは押せませんが自分のNotionに複製してもらえば押せるようになります）![4856ad2eb591295b55906b04c01406aa.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655119/a864be82-e976-aff2-8bb4-ce2439e82cde.png)

- 作業終了ボタン
    - 押すと、「完了」ステータスになり作業終了日時に現在の時間が入力されます
- 実工数(H)
    - 作業開始日時と作業終了日時が入力されていると何時間かかったか以下の関数で計算します
    - ceil((toNumber((dateBetween(prop("作業終了日時"), prop("作業開始日時"), "minutes") - prop("割り込み分数")) + prop("繰り越し分数")) / 60) * 10) / 10
- 割り込み分数（min)
    - 分数を入れると実工数計算時に引かれます
- 繰り越し分数(min)
    - 分数を入れると実工数計算時に足されます

### タスク管理どうやってるの？

説明するまでもないですが、ダッシュボードのカンバンボードで全タスクの進捗を確認し、Projectページで案件ごとのタスクの進捗を確認しています。

![4856ad2eb591295b55906b04c01406aa.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655119/7855f89b-1fcf-5e84-7044-f068cff05585.png)

Project全体の進捗は進捗プロパティに書いてダッシュボードから確認できるようにしています。

![5810105d87de5094373425d5cbd24b9a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655119/a30810e6-5f51-49ad-1432-955b68bbf0fa.png)

### 工数管理どうやってるの？

作業開始ボタンと作業終了ボタンを押すのを忘れなければ工数は自動で計算されるので、ダッシュボードのTasks一覧でも、Projectの中のCompletedTasksでもテーブルビューの機能で合計が表示できます。

![325fc79b2bdfc71a2d5e9f0d9a86221a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655119/5ec4d475-ca10-d0f8-049e-7c509d0f65ac.png)

データベースを絞り込むにはフィルターという機能があります。下のように「TasksのNameプロパティに値の文言が含まれるTasks」のように様々なフィルターをかけられます。
実工数の合計欄はフィルターで絞り込まれたTasksの合計になります。

![8f76c75d72593d5b2fea9fd734f15eda.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655119/3af679e5-eff1-4c34-e31f-4b2af598ccd2.png)

2024/2/24追記
ProjectページのCompletedTasksの下にある「現時点の設計工数」というリンクドビューは、完了した「設計」工程のTasksで絞り込んでそのProjectの設計工数の合計が分かるようにしています。
他の粒度の工数が知りたいというものがあれば、Tasksにプロパティを追加してご自身でフィルタリングできるようにするとよいと思います。

![c08b0fafb5186cdf2477bd872d3f5fd1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655119/ce9054bb-4c36-8794-e905-73f3429f53aa.png)