サイボウズ データチームのおしごと【後編:どうやってしているか】
はじめに
サイボウズ株式会社のデータエンジニア/アナリストチームに所属している高田です。
ビッグデータの時代において、データエンジニア/アナリストの職種は近年注目されてきています。
しかし、急増する需要に対して本職種に対する情報の供給が不足しており、興味がある人たちにとって具体的な仕事内容が分かりにくい状況なのではと感じています。
そこで本記事ではサイボウズ データチームの仕事について紹介し、実際のデータエンジニア/アナリストがどんな仕事をしているのか、一例を示したいと思います。
記事は前編・後編(本記事)に分かれています。
本記事では「仕事の回し方」(どうやって仕事をしているか)に焦点を当てて紹介したいと思います。
注意点
本記事に記載している内容は2024年5月時点の情報を元にしています。
想定読者
- サイボウズのデータエンジニア/アナリストのチームがどのように仕事を回しているかを知りたい人
- 社内データを有効活用するためのチームを運営するにあたり、他社事例が知りたい人
業務体制
データエンジニア/アナリストチームでは2024年からチームの体制を一新し、大きく分けて以下2点を取り入れました。
- スクラム開発の導入
- メンバーへの役割付与
それぞれ順番に見ていきます。
スクラム開発
チームでの開発手法として、現在スクラム開発を部分的に導入しています。
スクラム開発とはアジャイル開発の一種で、短い時間枠(スプリント)で開発を行い、定期的に成果をリリースする手法です。
私たちのチームでは1スプリントを1週間とし、その期間で以下の会議体を中心に意思決定を行いつつ、タスクを回しています。
会議体名 | 参加メンバー | 会議体の内容 |
---|---|---|
スプリントプランニング | 全員 | ・スプリント(1週間)で誰がどのタスクに対応するかを決める。 ・担当者が見積をFixする。 |
デイリースクラム | 全員 | ・昨日やったこと、今日やること、スプリント内で困ったことを報告する。 ・問題解決はリーダー、タスク担当者、関係者で別途議論する。 |
レトロスペクティブ | 全員 | スプリントの振り返りを行う。 |
リファインメント | マネージャー・リーダー | ・新たに追加されたタスクについて実施優先度(次スプリント、1ヶ月以内、さらにその先)を決める。 ・次のスプリントで実施する予定のタスクを全タスクの中から決定する。 ・上記について詳細、相対見積(どの程度の工数がかかるか)を検討する。 |
スクラム開発の導入によって得られたメリットは主に以下のとおりです。
-
コミュニケーションの活発化
→ 上記会議体でチームメンバー間の情報共有が頻繁に行われるようになり、課題の早期発見と解決が可能になりました。 -
タスク量の可視化
→ スプリント内でのタスク量や各営業日ごとのやることが共有されるようになったので、社内から依頼が着信したときに対応期限の調整を定量的に判断できるようになりました。 -
優先度の可視化
→ タスクごとの優先度を定義しておくことで、依頼が常に優先され技術的負債を解消するタスクが後回しにされる状況から脱却できるようになりました。
メンバーの役割
現在チームは6名体制で、以下の通り役割を分けています。
-
プロダクトの責任者兼マネージャー(1名)
- プロダクト=「社内データ基盤(及びその活用)」の責任者
- チームの管理者
-
リーダー(データエンジニア/データアナリスト)(各1名)
- 各担当領域について、ビジョンの達成に向けて何をすべきか判断
- 各担当領域に関する戦略をマネージャーと議論
- メンバーに対する成長のためのフィードバック
-
メンバー(3名)
メンバーに役割を与えたことによって得られたメリットは主に以下のとおりです。
-
業務負担の分散化
→ 今までマネージャー1人に偏っていたチームの運営業務がリーダー2名に一部委譲され、負荷を分散することができました。 -
相談先の明確化
→ 後述しますが、タスクに対応していてわからないことが生じた時の相談先としてリーダーを設定したことで、タスク種別によって誰に相談すべきかが明確になりました。
なお、発生したタスクはどの役割のメンバーにもアサインされます。
次の項でタスクの回し方について紹介します。
(タスクの中身については前編をご覧いただくとイメージしやすいです)
業務の流れ
タスクの発生
タスクはおおよそ以下のきっかけで発生します。
- 他部署からの依頼(社内データの基盤への連携やデータ分析)
- チーム内で見つけたデータ基盤の課題点・改善点への対応(リファクタリングや新ツールの導入検討)
- エラー・障害対応
発生したタスクは弊社プロダクトの kintone で起票し、要件や進捗状況を一覧で管理しています。
タスクの起票はチーム内のメンバー全員が行うことができます。
ちなみに依頼の受付も kintone で行っており、連携するデータ自体も kintone で管理されていることもあります。
タスクのアサイン
発生したタスクは基本的に以下の流れで担当者に割り振られます。
- 直近で対応する必要があるタスクの洗い出しを行う(リファインメント)
- 各メンバーの現在の作業状況やスキルを勘案し、最適なメンバーにアサインする(スプリントプランニング)
スプリントプランニングでは担当者がタスクに対して今スプリントでどこまで対応を進めるか(実装方針決定、レビュー依頼、タスク完了など)を決定します。
エラー・障害対応や緊急依頼はこの限りではなく、デイリースクラム等の機会に担当者をアサインして対応します。
(緊急度の高いタスクであれば Slack や Teams で協議の上、迅速に対応するようにしています)
タスクに対応
アサインされたタスクにはそれぞれの担当者が対応していきます。
デイリースクラムで前営業日に行ったことと今日の予定、困っていることがあればその共有を行います。
レビュー依頼
基本的に、1タスクにつき1人の対応者と2人のレビュアーがつきます。
レビュアーはタスクへの対応がある程度進んだ段階で、担当者からレビューを依頼することでアサインされます。
デイリースクラムで依頼し、その時に手が空いているメンバーが手を挙げることが多いです。
相談
タスクへの対応時、どうやって実装したらいいかわからなかったり、他メンバーの知見が欲しい時があります。
そんな時は各担当領域のリーダーが相談に乗ってくれます。
デイリースクラム後に個別で相談するケースが多いですが、それ以外の時間でも Slack 等で相談すれば適宜応じてくれます。
振り返り
レトロスペクティブで今スプリント全体の振り返りを行ないます。
主な振り返り内容は以下のとおりです。
- スプリントプランニングで決定した各タスクの対応目標に対する結果報告
- 特にチームに知っておいて欲しい知見が得られたタスクがあればその共有
上記以外にもレトロスペクティブではタスク以外にも「その週やっていたことの振り返り」という側面もあり、プライベートなことでも話したい人はざっくばらんに話す場にもなっています。
(おいしかったご飯屋さんや育児のことなど)
メンバー全員がフルリモートで就業拠点もバラバラなので、こういったコミュニケーションの機会も大切にしています。
参考:サイボウズの「ザツダン」文化
このような勤務時間内のメンバーとの世間話は「ザツダン」と呼ばれていて、サイボウズ全体で根付いている企業文化です。
おわりに
サイボウズのデータエンジニア/アナリストチームがどのように仕事を回しているか、イメージは湧いたでしょうか?
前編では「どんなことをしているか(仕事の内容)」に焦点を当てて紹介しているので、興味のある方はぜひ合わせてご覧ください!
Discussion