はじめまして、テックタッチで DataEnabling チームのエンジニアマネージャーをしているtaker です。
DataEnabling チームでは、社内の様々な組織のデータ活用をより推進し、プロダクト開発やカスタマサクセスを強化するためデータ基盤の改善や社内からの様々な依頼について日々取り組んでいます。
この記事ではそんな私達のチームが、チーム内でデータに関する知識を共有するプラクティスについて共有させていただくため、一筆したためました。
はじめに
データ活用を進める上では、プロダクトのデータ構造や機能とデータの対応関係について精通している必要があります。
例えば、カスタマーサクセス(CS)から「 xx の機能を有効にしている顧客数を知りたい」という問い合わせがあった際「 xx の機能」が「どのテーブル」の「どのカラム」に「どのような値」で入っていれば有効なのか、無効なのかを理解していないと当然回答できません。
私達のデータ基盤ではこのようなことに答えやすいように様々なダッシュボードやデータマートを作成していますが、一定の頻度でソーステーブル(ここではモデリング前のロード直後のテーブルを指す言葉として利用しています)へアクセスする必要があります(障害調査・データマートのリファクタリングなど)。
このような時には前述の関係性が分かっていないと手も足も出ませんし、今後も新たなダッシュボードやデータプロダクトを作成する上では必須の知識です。
ER 図もドキュメントとして存在しますが、数年運用しているシステムのデータ構造はやはり複雑なものになってしまいます。
そのため、データ構造や機能との対応関係に関する知見が一部のメンバーに俗人化する状態がチームの課題感としてありました。
そこで、まずは自分たちのチーム内でデータに対する知見をしっかりと共有しようと、タイトルにある「輪テーブル会」をスタートしました。
取組内容について
「輪テーブル会」という名前からわかるように「輪読会」とほぼ同じような取り組みです。
- 定期的に
- 月・水・金で開催
- テーブルや機能を
- 対象は全員で提案し、投票制で優先度付
- 参加者で理解し合う
- ファシリテーションは交代制
- 詳細は下記に記載
というものです。
「輪テーブル会」ではその日に取り上げる「機能」・「テーブル」についての理解を深めます。
機能であれば、「この機能はどのテーブルにどのように値が入り、どのように更新されるのか」テーブルであれば、「テーブルの各カラムの意味・値のパターン、また機能との関係性」についてディープダイブします。
以下のような Notion ページを事前に用意し、会を進めながら記述していきます。
このドキュメントを埋めるため、ファシリテーションは
- 参加者に質問
- この列xxさん分かりますか?など
- 対応するテーブルの実データを見る
- 対応する機能を実際に利用し、データの変化を確認
をするようにしています。これらを全員同期的に行うことで、機能とデータの対応関係や値のパターン、また歴史的経緯や過去にあったトラブルなどを全員に共有できます。
進める上で気をつけている点
- 事前準備は不要だが、各々の裁量に任せる
「輪テーブル会」では、基本的に準備は不要です。
というのも、担当する機能やテーブルによっては全くわからないこともよくあります。
事前準備を必須とすると負荷が高くなり、参加のハードルが上がります。
一方で、不要ということ自体をルール化してしまうと、人によっては進めにくかったりするため、自身が進めやすいように準備の仕方はそれぞれに任せています
- いつでも会の進行を止め、議論する
参加者はいつでも会の進行を止めたり、戻ったりして疑問を呈することを求められます。
自分がわからないことは、別の人がわからないことが多いはずです。
この分からないをなるべくなくすことが必要とされるため、参加者には止めることを求めています。
- 会はすべて録画する
この会を進めることで「現在チームに参加している人」の知見はフラット化されますが、将来的に入るメンバーには共有できません。すべてをドキュメント化すればよいのですが、とてもそうはいきません。そのため、各会はすべて録画し、将来入った人にオンボーディングとして展開できるようにしています。
- 実際に機能を使って、データを見る
よく利用される(と思われる)機能やテーブルは「これはこうだよね」という形で進めがちです。しかし、よく利用しているのはあなただけかもしれません。
ですので、「輪テーブル会」では実際に機能を使い、データを見るようにしています。
(これはこうだよね、と進められると質問のハードルが上がったり、質問の機会が失われます)
実施した結果良かったこと
- 暗黙知や俗人化した知見の共有の共有
これは会の目的であった点です。
私自身全然知らないことや、私しか知らないことが思ったより多かったこと自体を知れたのもとても良い結果でした。
これらの知見については必要に応じて dbt docs に記載するなどして、メタデータ化し、今後他チームのデータ活用を支援する際に活かせる知見となることを期待しています。
- プロダクト自体のドッグフーディングになっていること
恥ずかしい話ですが、プロダクトのデータ活用をしている立場でありながらプロダクトの機能についてあまり深くは知りませんでした。
メンバーが問い合わせる機能がどのような機能であるのか、どのようなシチュエーションで利用されるのか、などをこの会を通じて理解が深まっていると実感しています。
終わりに
私達のチームで実施しているデータ理解を深めるための取り組みについて紹介しました。
データを活用する上ではそもそも引き出すことが可能であることが必要不可欠です。
まずは我々自身がもっと引き出せるようになり、その結果もっと多くのメンバーが可能になるように引き続き、様々な取り組みを続けていきたいです。