LayerX エンジニアブログ

LayerX の エンジニアブログです。

プロジェクト管理はNotionしか勝たん!MLチームのスプリント管理を改善した話

こんにちは、バクラク事業部のMLチームでソフトウェアエンジニアをしているTomoakiです。

今回はMLチームのスプリント管理におけるタスク・プロジェクト管理にNotionの新概念であるProjectを導入してみたら嬉しいことがたくさんあったので、それらを紹介したいと思います。

イントロダクション

Notionの2.30リリースでプロジェクトという概念が登場し、プロジェクトの管理のテンプレートが公開されるなど大きなアップデートがありました。

www.notion.so

本記事でも紹介しますが、このリリースで紹介されているテンプレートが優秀すぎるので、まだみてない方は是非見てみてください。

MLチームでは5月末ごろから、ちょうどスプリント管理に課題感を感じており、早速NotionのProjectを取り入れて6月中に運用してみましたかなり良かったので、本記事では我々目線でのその効果を紹介したいと思います。

前提

バクラクは現在複数サービスを展開しており、サービスごとに開発チームがあり、さらにサービスを横断して開発するチームもいくつかあります。 スプリントの運用は基本的にチームごとに行っています。

スクラムの運用方法についての詳細はこちらをご覧ください。 tech.layerx.co.jp

私が所属するチームは現在6~7名ほどの規模です。 基本的に一つのスプリントは2週間で、スプリント内のスクラムイベントは以下から構成されます。

  • スプリント計画 (プランニング)
  • 朝会 (デイリースクラム)
  • レビュー会 (スプリントレビュー)
  • 振り返り (スプリントレトロスペクティブ)
  • 本番リリース

今回紹介するプロジェクトという概念は以下のような関係です。(Notionの定義より引用

  • プロジェクト: タスクに分割することのできる、大きなまとまった仕事(エピックと呼ばれることもあります)のことを指します。新機能のリリース、サイトやアプリのデザイン刷新などはプロジェクトとなります。
  • タスク: 通常はひとりのオーナーが責任者となる、プロジェクトを構成する仕事のことを指します。タスクはさらにサブタスクに分割することができます。分割することで、オーナーは1日や1週間を通じて作業に優先順位をつけて管理しやすくなります。
  • スプリント: スプリントはタスクに関連して、一定時間内の作業を整理するコンテナの役割を果たします。

これまでの運用の課題

これまでの運用ではNotionのDBで全てのタスクを管理しスプリントのプロパティを作って管理していました。(今S=今Sprint、次S=次Sprint)

これまでのタスク管理

また、プロジェクトの管理は人数や進行しているプロジェクト数も少なかったので以下のように書き出して、大雑把に進捗の管理をしていました。

これまでのプロジェクトの管理

スプリント計画やスプリントの折り返しの時に上記のプロジェクトの進捗確認をし、リソースや他タスクの優先度を調整するといった具合で運用していましたが、どのプロジェクトにどのタスクが紐づいているか、そしてそのステータスがどんな感じかが同期されないという点が最大の課題でした。

これまでは人数や進行しているプロジェクト数も少なかったので、あまり問題になっていなかったのですが、チームの規模も少しずつ大きくなり同時進行するプロジェクトも増えてきたので管理に限界を感じるようになりました。

やったこと

タスク管理のDBにリレーションカラムを作り、プロジェクトのDBと紐付けることでプロジェクトに対してタスクの状況が同期されるようにしました。 やっていることはNotionの推奨しているパターンとほぼ一緒ですので詳細は以下を参照ください。

エンジニアリングやプロダクト領域におけるNotionを活用したスプリント計画

最終的には以下の3つのデータベースがあります

  • Sprints(スプリントを管理するテーブル)
  • Projects(プロジェクトを管理するテーブル)
  • Tasks(タスクを管理するテーブル)

Tasksテーブルにrelationのカラムがあり、SprintsとProjectsが紐付けされています。

新しいタスク管理のイメージ

プロジェクトの運用方法は以下で進めました。

プロジェクトの運用方法

導入してみた結果

プロジェクトとタスクの紐付けとステータスの同期がされるようになった

プロジェクトとタスクの紐付けされ、情報が同期されるようようになり、当初の課題が無事解決されました。

プロジェクトのページにタスクの状況が表示されている

プロジェクトのページ内において紐づくタスクを一覧表示することが可能で、さらにタスクのプロパティの表示も自由に制御できるのも推しポイントの一つです。

めでたし、めでたし、と言いたいところなのですがここで終わりませんでした。他にもたくさん嬉しいことがありました。

プロジェクトのタイムラインビューが最高で進捗確認がラクになった

タイムラインビューでプロジェクトを表示できるのがとても便利です。

プロジェクトをタイムラインで表示

もちろん見やすいのもそうなのですが、具体的な日付単位でプロジェクトの期限を設定することで予定していたスケジュールに対して順調なのかそうでないのかの確認が簡単にできます。

これまではスプリント内で取り組むプロジェクトを決めていただけなので、具体的にプロジェクトに対して期限は厳密に決めていなかったのですが、タイムラインビューの都合上日にち単位で期限を決めるようになった結果、テキパキプロジェクトに取り組めるようになったように感じます。

また、担当者や優先度などいろんなプロパティでグルーピングするのもおすすめです。

担当者ごとのProjectを表示

私のチームでは毎朝プロジェクトの進捗率と期間を確認し問題がないかの点検を行っています。

Rollup機能でタイムラインビューが充実し、Project管理がラクになった

Rollup機能はリレーションに基づきデータの集計をすることができる機能です www.notion.so

プロジェクトに紐づくタスクの進捗率やアサインメンバーを自動で表示できてとても便利です。

タイムラインで進捗率やアサインメンバーを自動で算出して表示

タスクに紐づく担当者を自動で集約するのは以下のように設定することで可能です。

タスクに紐づく担当者を自動で集約

rollup機能によりプロジェクトとタスクの紐付けがより充実したように感じますし、毎朝の朝会での確認がとてもラクになりました。

プロジェクトドリブンなスプリント管理に変わった

これまでもプロジェクトという概念はあったものの、データベースとしてはなかったため概念としてはやや薄いものでしたが、プロジェクトという概念を導入したことによりプロジェクトドリブンなスプリント管理に変わり、スプリントの運用がとてもやりやすくなりました。

これまではスプリント単位でしか計画や振り返りをしていなかったですが、最近はプロジェクトに対しても計画や振り返りを行うことで、スプリントの計画や振り返りを始める段階でかなり情報が整理されるようになりました。 以前は、特定のプロジェクトの詳細に話すぎてしまって時間を使い過ぎてしまうケースもあったのですが、最近はプロジェクト間の優先度などにしっかり時間を取って議論できるようになりました。

感想

正直軽い気持ちでNotionが推奨するスプリント管理方法に自分たちの運用を落とし込んでいったら、どんどん便利になって驚きました!

弊社のCFOの渡瀬さんがバックオフィスのSaaS導入のポイントとして、「業務に合うソフトウェアを探すのではなく、業務をソフトウェアを合わせると良い」と言っていましたが、スプリント管理でもまさにその通りだなと感じました!

coming soonにまた最高な予感しかしない機能があったのでNotionのみなさん開発頑張ってください!楽しみにしてます!

自動化系の新機能がcoming soon...🥺

さいごに

バクラクでは日々の開発体制を随時アップデートし爆速改善しています!

一緒に圧倒的に使いやすいプロダクトを届けてくれるエンジニア・PdMを大募集しているので気軽にお話ししましょう!

jobs.layerx.co.jp

jobs.layerx.co.jp