LayerX エンジニアブログ

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

情報の流通性を上げコミュニケーションを活性化させるNotionデータベース #LayerXテックアドカレ

バクラク事業部Platform Engineering部DevOpsチームの id:itkq です。最近は スリーズブーケ というユニットの曲にハマっています。

この記事は LayerXテックアドカレ 12日目の記事です。前回の記事は shimacos による Vertex AI Pipelinesを用いて爆速ML開発の仕組みを構築する でした。次回は @shnjtk が担当します。

この記事では、LayerXで全社的に利用している Notion というサービスの データベース 活用について紹介します。テックアドカレの記事ですがテック感はありません!たまにはそういう日もあります。

LayerXのNotionで暮らして感じたこと

LayerXでは、ドキュメンテーション/コラボレーションツールとしてNotionを全社的に利用しています。私が2月に入社して、Notionを眺めてみたときは、バクラク事業部や全社のWikiとして情報が整理されていることを感じました。一方、フロー情報の所在がよく分からないという課題を感じました。以降はバクラク事業部についての話です。

バクラク事業部のワークスペースには、「議事録」という統一的なデータベースがあり、ページが日々追加されていたので、これは機能している様子がありました。しかし議事録以外の情報、例えば小さいTipsやハマったところなどのメモはどこにあるのか、またどこに書くべきかが分かりませんでした。同僚に聞いてみると、事業部ページ内に「個人ページ」の階層があり、そこにページを置いたり個別のデータベースを置いて書いている人もいることが分かりました。この個人ページはアクセスレベルがPrivateではなく、誰でもアクセス可能ですが、個人ページを読み書きする本人以外はその情報にアクセスすることはほとんどないようでした。稀にこの個人ページのリンクをSlackなどで共有する場面があり、そこにある情報は有益なものも含まれていると感じました。

私の理想的な社内ドキュメンテーション/コラボレーションツールは、新卒で入社した会社の内製ツールから強く影響を受けています。上記で述べた課題に対して、その理想を自分なりに表現するならば、それは「統一された場所で全員が情報を発信でき、新着情報が通知され、LikeやCommentなどのコミュニケーションが可能な状態を作り出す」ものです。機能的には、Wikiではなくブログに近いです。現状と照らし合わせて考えると、特に「有益な情報も含まれるページが階層に埋もれている」ことと、「メモを書きたいときに場所を迷うこと」を改善したいと考えました。加えて、「情報を流通させることでコミュニケーションを活性化する」ことも考えていました。

「汎用メモ」データベースの導入

その頃、バクラク事業部では、横断的な課題を解決するための活動が「ワーキンググループ」として正式化されました。これに乗っかり、Notionアクセシビリティを改善するワーキンググループを数名で立ち上げました。 このワーキンググループの活動として、先に説明した課題の解決に取り組みました。具体的な施策として「汎用メモ」というデータベースを導入しました。これは、整理の必要がないデータベースで、公開できることなら何でも書くことができ、全員がアクセス権限を持ちます。データベースにすることで、ページを並べるよりも一覧性が上がり、特定のプロパティに絞ってフィルタリングしたり別ページからViewとして参照できるなどの恩恵が得られます。

導入にあたり、以下で紹介する工夫をしています。

ページに対するLike

Notionではすべてのページにコメントが可能ですが、コメントより手軽で、閲覧履歴より役に立つ組み込みのリアクションは今のところありません。そこで、データベースのプロパティに以下を追加しました。

  • “Like” (Type: Person)
  • “Like Count”: Likeがついた合計数 (Type: Formula, prop("Like").length() 1 )

データベースのデフォルトテンプレートには、Buttons を利用して「Likeボタン」を配置し、ページに対するLikeを擬似的に実現しています。ボタンを押すと自身をLikeプロパティに追加できるようになっています。また、Like CountをデータベースのViewに表示することで、Likeがついた記事をパッと見て取れるようになります。

Likeボタンの設定

Statusプロパティによる公開制御

Notionでは、ページに「下書き」の状態が無く、書き出す障壁が極端に低くなっている一方、他人が見た時に今どういう状態なのかが分からないことがあります。これを避けるために、Privateスペースで書ききってから移動することもできますが、個人的には煩雑すぎます。

汎用メモを眺める人は、下書きでない状態の情報を見るユースケースが主流だと考えており、かつ後で説明するSlack通知の都合上、公開状態を制御する必要がありました。そこでType: Statusの “Status”プロパティを設けています。このプロパティは、Draftと Publishedの2値をとり、デフォルトテンプレートではDraftが設定されます。ページの作成者は、公開できると判断したらPublishedに変更します。データベースのデフォルトビューは、Status: Publishedのフィルタを適用しています。以降、StatusをPublishedにすることを “Publishする” と表現します。

Slack通知

ページをPublishすると、専用のSlackチャンネルに通知をします。この通知はNotion組み込みのIntegrationを利用しています。

Slack Integrationの設定

本当はLikeボタンと同様Publishボタンを用意したかったのですが、ボタンによるプロパティ変更でSlack通知が発火しない挙動だったため、仕方なく手でプロパティを直接変更する運用にしています。

汎用メモの利用

汎用メモの導入後、私がとにかく書いたり、身近な人に宣伝したところ、気づくと多くの人が利用するようになったと感じています。汎用メモには例えば以下の内容がPublishされています。

  • 設計・実装のメモや図
  • 他プロダクトでも使える改善ネタや宣伝
  • OKRの設定
  • 他社分析
  • 勉強会のメモ
  • アドベントカレンダーのネタ
  • エッセイ
  • etc

Likeだけでなく、Publishしたページに対して、コメントによる会話が生まれている例もあります。

課題をアウトプットしたら解決策が提示された回

よい機会なので、改めて定量的に集計した結果も紹介します。

Publishされたページの合計数は、4月に導入後、以下の推移を辿っています。5月から10月の間では、月当たり平均84.2ページがPublishされていることが分かります。ちなみに、この期間に私自身がPublishしたページは合計90個でした。

Publishされたページの合計数(11月6日時点)

続いて、Publishをした人の数です。5月から10月の間では、月当たり平均25人がページをPublishしています。

ユニークなPublishした人の数(11月6日時点)

続いて、Likeをした人の数です。5月から10月の間では、月当たり平均72人がページをLikeしています。

ユニークなLikeをした人の数(11月6日時点)

以上グラフによる紹介でしたが、バクラク事業部には200名近くのメンバーがいるので、汎用メモが十分に浸透しているとはまだいえないことが分かります。

まとめ

4月に汎用メモDBを作成して以来、一定の利用があり、以前より情報の流通性が上がりコミュニケーションも活発化したといえます。ときよりCEOが深いインサイトのあるページをPublishすることもあり(非常に多くのLikeが付きます)、このような公共の場を作って良かったと思います。

今のところ、バクラク事業部で横断的に使えるという位置づけですが、別事業部でも公開できる情報は統合して流通させたいという野望があります。LayerXでは情報の透明性を重視しており、汎用メモを通して、情報の透明性とその周辺に引き続き貢献していきます。


  1. Formulas 2.0のアップデートにより、このようなシンプルな記述ができるようになりました。嬉しい