40人のオペレーションチームが自分たちでタスクを選んで取り組む仕組みをNotionで作った話
はじめに
はじめまして。シンプルフォーム株式会社の齋藤国興(くにおき)です。
普段はプロダクトチームの一員として、プロダクトやその根幹となるデータの企画、データを収集するためのオペレーションの構築などを行なっています。
今回はタイトルの通り、「40人のオペレーションチームが自分たちでタスクを選んで取り組む仕組み」(通称、「セルフアサインシステム」)をNotionで作ったので、作成までのプロセスや作成した結果の話をしたいと思います。
Notionでのタスク管理の仕組みを作ることを検討されている方やシンプルフォームでのインターンを検討されている方は是非最後まで読んでいただけますと幸いです。
背景
40人のオペレーションチーム
オペレーションチーム(以下、「Opsチーム」)は、フルリモートで働いていただいているパートタイマー(社内では「Opsスタッフ」と呼称しています)約40名で構成される組織です。
チームとしての役割はこちらの記事に詳しいですが、シンプルフォームにおけるOpsチームは主に「データを収集する」ことと「データを整理する」ことを役割として担っています。
インターネット上にある情報はもちろんですが、行政機関等が所有しているオンライン化されていない情報まで、さまざまなデータを扱っており、これらのデータを機械および人の力で収集するところから始まり、集めたデータをプロダクトへ反映できるように表記揺れの統一等を行い、データベースへ登録を行います。
扱うデータが多岐にわたることから、一口に「データを収集する」「データを整理する」といっても、データによってその対応方法も変わってきます。そのため、Opsチームは数も多く難易度もバラバラなタスクをこなしていかなければいけません。
シンプルフォームでは創業当初からNotionを導入しており、Opsスタッフにアサインされるこの大量のタスクもNotionで管理しています。
Opsリーダーの負担が課題に
この約40名のOpsスタッフを統括しているのが「Opsリーダー」です。2024年1月現在、40名のスタッフに対して2名のOpsリーダーがおり、ほぼフルタイムで、タスクの管理やスタッフからの質問対応などさまざまな業務を行なっています(Opsリーダーの業務の詳細についてはこちら)。
特に、タスクの管理については、上述した通りの大量のタスクを、タスクの難易度やスタッフの習熟度を考慮した上で、各スタッフにアサインを行い、その進捗を管理しなければならず、業務フローが複雑なためOpsリーダーの負担になっていました。
以前より、タスク管理について改善要望がOpsリーダーから上がっていましたが、日々の業務に追われる中でOpsチームとしてなかなか取り組むことができていませんでした。
しかし、Opsスタッフの数も増えて組織が拡大し、よりタスク管理への課題感が強くなってきたことから、普段はOpsチームの外で活動しているけれどNotionの各種機能等をそこそこキャッチアップしている私が急遽課題解決を担当することになりました。
何をやったか
① 業務フローの整理
まずは、タスク管理の課題を洗い出すために、これまでの自身の経験やNotionのドキュメントを参考にして、業務フローの整理を行いました。
タスクが完了してから次のタスクをアサインするまでの間に何をやっているのか洗い出しフロー図を作成する
タスク管理において誰がどのように各チケットのステータスを変更しているのか明らかにしてフロー図を作成する
上記の通り業務フローを整理した上で、この整理で現状と乖離がないか確認するため、また、フローを整理する中で出てきた疑問点を解消するため、OpsリーダーとのMTGをセッティングしました。
MTGを行ったことで、「再作業」と「確認完了」というステータスは実際に使われていないことやタスク完了の期限が厳密には管理できていないことが明らかになりました。
② 課題の整理
業務フローの整理が完了したので、作成したフロー図を元に現状の業務フローの課題を考えました。今回は特にフロー上の3つのポイントに着目して、対応する課題を書き出しました。
フロー:スタッフからのSlack上での完了報告に対して、リーダーがタスクアサインを行った上で返信をしている
課題①:リーダーのシフト外で稼働しているメンバーに対してタスクをアサインすることができない
フロー:タスクをアサインする場合には、タスクの内容と各メンバーの習熟度を確認した上でアサインを行う
課題②:メンバーのレベルを確認した上でアサインする必要があるのでアサインするだけでも手間がかかる
フロー:単発のタスクは逐一リーダーがタスクチケットをアサインし、定例タスクについては管理シート上でアサイン等を管理している
課題③:管理する場所が複数にまたがっているので、メンバーにアサインされているタスクの全体の可視化ができていない
③ 必要な機能の整理
次に洗い出したそれぞれの課題を解決するために必要な機能を書き出しました。
課題①:リーダーのシフト外で稼働しているメンバーに対してタスクをアサインすることができない
タスクとアサイン状況の可視化
バックログ(「アサイン」)にあらかじめリーダーがタスクを積んでおくようにする
タスク完了の自動通知
課題②:メンバーのレベルを確認した上でアサインする必要があるのでアサインするだけでも手間がかかる
タスクとレベルを紐づける
課題③:管理する場所が複数にまたがっているので、メンバーにアサインされているタスクの全体の可視化ができていない
定例タスクのチケットの自動生成
実装する機能を決定するため、各機能に優先順位をつけました。この優先順位は、その機能を実装することでどの程度Opsリーダーの負担を軽くすることができるかで決定しました。「★★★」「★★」「★」の3段階で評価を行い、初期リリースでは「★★★」のみを機能として実装することを決定しました。
④ 実装
初期リリースで実装する機能が決まったので、早速実装に移りました。他社の既存のソリューションを使うことも視野にはありましたが、今後組織が変化していく中で業務フローも頻繁に変更される可能性があるので、柔軟に対応できるようにNotionのデータベース機能を使うことにしました。
基となるデータベースの作成
まずは二つのデータベースを作成しました。一つが「スタッフデータベース」で、スタッフの習熟度を管理しています。これに後述の「タスクデータベース」をRelationさせた上で、RollupプロパティやNotion関数を用いて、各作業者に対して、アサインされたタスクのステータスの状況を可視化しました(「機能:タスクとアサイン状況の可視化」)。
作成した二つ目のデータベースが「タスクデータベース」で、各タスクの難易度やステータス、完了期日を管理しています。前述の通り「スタッフデータベース」とRelationしており、タスクの難易度とタスクの担当者の習熟度を突合させて、そのタスクアサインが適切かどうか判定できるようにもしました(機能:「タスクとレベルを紐づける」)。
管理者用画面の作成
次に、この作成した二つのデータベースを基に管理者(Opsリーダー)用の画面の作成に取り掛かりました。管理者用画面では以下の3つを行うことができるようにしました。
タスクレベル振り
レベルが振られていないタスクについて全てレベルを振る
タスクアサイン
アサイン(バックログ)がないスタッフについてタスクをアサインする
進捗管理
期限を過ぎているタスクについて期日の再設定を作業者に促す
スタッフ用画面の作成
次に、スタッフ用の画面を作成しました。スタッフ用の画面では、現在誰にもアサインされていないタスクの一覧(バックログ)を確認して、自分にアサインすると、自分にアサインされたタスク一覧が表示されるようにしました。
⑤ すり合わせ
以上でテスト版のセルフアサインシステムが完成したので、Opsリーダーとのすり合わせのためにMTGをセッティングしました。MTGでは、システムのデモプレイと実装の中で出てきた疑問点のすり合わせ、リーダーから新たに出てきた要望のヒアリングを行いました。
MTGの結果、新たに「目検完了」のステータスを追加することやスタッフ自身がタスクを持っていくことができるようにリーダーの方ではレベルのみを振り分けるようにすること、なるべくスタッフは難易度の高いタスクから取り組むことができるように難易度が高い順にタスクをソートすること、などが決まりました。
また、いきなりOpsチーム全体で運用してしまうと混乱をきたす可能性があるので、まずは4人程度のスタッフで運用してみて、問題がないことを確認したのちチーム全体で運用を開始することに決定しました。
⑥ 最終調整
MTGでいろいろと修正するべき点が明らかになったので、修正した上で4人でのテストプレイを行いました。
テストプレイにあたっては、リーダーの方にマニュアルを作成いただき、マニュアルに従って4名のスタッフの方に実際にセルフアサインを行なっていただきました。
また、作ったシステムはテストプレイの中で概ね問題なくワークすることが確認されましたが、新たにリーダーからより使い勝手を良くするための要望が出てきたので再度修正を行いました。
⑦ 完成
以上をもって、セルフアサインシステムが完成しました。
最終的には以下のような形になりました。
管理者用画面
スタッフ管理
各スタッフの習熟度を設定する
タスク起票&レベル&優先度設定
新規タスクを起票してタスクのレベルを設定する
目検&DB投入
担当者が作業完了した成果物について目検が完了したらステータスを「確認完了」に、DB投入完了したら「DB投入」完了にする
期日管理
期限を過ぎているタスクについて期日の再設定を担当者に促す
バックログ管理
タスクのレベルごとにバックログの状況を確認してタスクが不足しないようにする
スタッフ用画面
タスク一覧
バックログ
結果
2024年1月現在、セルフアサインシステムの運用開始から5ヶ月ほど経過しましたが特に問題もなく運用することができています。
Opsリーダーの方々からは
タスクをアサインするためにまずタスクの量とレベルを考える…という部分が不要になったので、考える部分が減ってかなり楽になった
Opsスタッフにとっても、土日祝作業する方が申し訳なさそうにアサイン依頼をすることもなくなったので作業スピードそのものも上がった
という声をいただきました。
今回はOpsチームにおけるタスク管理上の以下の3つの課題について改善を試みましたが、いずれも一定の成果を残せたのではないかと思います。
課題①:リーダーのシフト外で稼働しているメンバーに対してタスクをアサインすることができない
リーダーから渡すのではなく、スタッフ自身でタスクを取っていく形にしたことで、バックログをあらかじめ積んでおけば、リーダーが稼働していない時でもタスクのアサインが可能になった。
課題②:メンバーのレベルを確認した上でアサインする必要があるのでアサインするだけでも手間がかかる
タスクにレベルをあらかじめ振っておくことで、タスクを取っていくスタッフからは自身の習熟度に見合ったタスクのみが表示されるようになった。
課題③:管理する場所が複数にまたがっているので、メンバーにアサインされているタスクの全体の可視化ができていない
管理者用のダッシュボードを作成したことで、タスクの期日管理やバックログの枯渇状況まで一箇所で確認することができるようになった。
おわりに
今回はOpsチームにおける業務改善の一環としてタスク管理システムの改善に取り組みました。
素人ながら、社内の課題解決のために動いて一定の成果を上げることができたのは良かったとは思いつつ、このnoteを書きながら、ここは詰めが甘かったなと今後改善すべきところも出てきたので、今後に活かしていきたいと思います。
また、今回作成したセルフアサインシステムはテンプレートとして他の方々にも使っていただけるようにしましたので、ご自身の組織の状況に合わせてカスタマイズして是非使ってみてください。
今回のnoteでは、システムの概要の説明に終始していたので、Notionの詳細な使い方は省きましたが、こちらのテンプレートを参照いただいて参考にしていただけますと幸いです。
(システムの改善点のご指摘もいただけると大変ありがたいです!)
https://simpleform.notion.site/2a250e63aa1d437faa5e93050c58f019?pvs=4
最後に、、、
シンプルフォームではオペレーションマネージャー職として社内のオペレーションの業務改善に取り組んでいただくインターンを絶賛募集しております!今回の記事を通して社内の業務改善に興味を持っていただいた方は是非ご応募ください!
https://www.in-fra.jp/long-internships/21283?limited_url_token=53nmbbfSyAMfq8FdkowkpXXyWweZhnhZ
この記事が気に入ったらサポートをしてみませんか?