仕事の管理方法は、現場ごとに違うのが当たり前。とはいっても、ドキュメント系はドキュメントツール(Confluence、Docbase、esa、Qiita:Teamなど)、タスク管理はチケット管理ツール(JIRA、Redmine、Backlog、ASANA、ZenHubなど)、コードはコード管理ツール(GitHub、Gitlabなど)という似たような使い分けが多いようです。これをNotionとGitHubだけにまとめられないかと思い、NotionのGitHub連携を試してみました。
理想の形
ここでの理想は、NotionとGitHubの2ツールを使うだけの運用です。ただ、2ツールに絞ったとしても、両方とも多機能なツールなので、どちらで何を扱うかで使い方も変わってきます。
例として、上記の図のように「理想その1」と「理想その2」を考えてみました。
- 理想その1: 開発ドキュメントとユーザーストーリーをNotion、タスクとコードをGitHubとするパターン
- 理想その2: 開発ドキュメント、ユーザーストーリー、タスクまでをNotion、コードのみGitHubとするパターン
ポイントはユーザーストーリーとタスクをどちらで管理するかです。Notionにまとめるか、開発タスクは開発者のものとしてGitHubで扱うか。これはどちらでもいいはずなので、好みだと思います。
理想その1は、NotionのGitHubコネクト(GitHub連携するインテグレーションツール)を行い、タスクをGitHubのIssueで表現すれば実現できます。理想その2はNotion側でストーリーやタスクを扱うDBを作るだけなので、連携無しでやれます。
NotionのGitHubコネクト
理想その2は、それぞれで情報整理するだけなのでここでは説明しませんが、理想その1をNotionのGitHub連携で実現してみます。やりかたは簡単です。
まず、GitHubコネクトのページに進んで、つなぎたいNotionと連携させます。詳細はSynced Databases bridge the gap between different toolsのHow to use Synced Databases with Notion and GitHubにちょっとだけまとまっています(英語)。
Issue一覧を連携させるなら https://github.com/daipresents/notion-github/issues PR一覧なら https://github.com/daipresents/notion-github/pulls というURLをNotionに貼り付けようとすると、メニューが表示されます。そこから、「Paste as database」を選び、DBとして連携させます。

するとこんなかんじで、一覧が表示されます。これは、GitHubのデータをNotionで表示しているだけなので、更新はGitHub側でやるしかありません。
つまり、GitHub連携するだけなので、IssueはGitHubで管理する形にならざるを得ず、結果的に理想その1になってしまうというわけです。
*
仕事の粒度は職能によって変わるものです。たとえば、POであれば、ストーリーの状況を知りたいだろうし、エンジニアであればタスクの状況を知りたいものです。
よって、ひとつのツールで2つのビューが扱える方法を探すか、2つのツールにわけて管理するかになるはずです。
「全部を一つのツールでまとめたい!」という現場の壮大な夢はありますが、なかなか難しいものです。ひとつにすると利用料が跳ね上がったりも・・・。
仕事の流れは、定期的に見直し、新しいツールや方法にチャレンジする文化にしていくといいと思います。