エンジニアのプロジェクト横断の技術共有とNotionを使い始めた話

f:id:sumzap_engineer:20210330121057p:plain

はじめに

サムザップで主にサーバーサイド&SRE(修行中)を担当している小島です。

この記事では、サーバーエンジニアがプロジェクト横断で技術共有する会の立ち上げと、技術共有のツールとしてNotionを使い始めた話をしたいと思います。

経緯(課題感)

弊社には複数のプロジェクト(スマートフォンゲームの運営、新規開発)があり、これまでも何度もプロジェクト横断の技術共有に取り組んできました。

会議の立ち上げ当初はワークしていたものの、しばらくすると形骸化し、いつの間にかなくなるというのがパターンでした。
今回もプロジェクト横断の会議が途絶えてから、しばらく経過し、

  • あるプロジェクトで発生したトラブルを別プロジェクトでやらかした
  • 既にあるプロジェクトで開発された機能を知らずに、別プロジェクトでも開発した
  • あるプロジェクトでは当たり前の自動化やパフォーマンス改善が別プロジェクトでは未導入

etc.

といったことが、やっぱり多いよね、もったいないよねということで、改めてプロジェクト横断のナレッジ共有の重要さが認識されるようになりました。

とはいえ、既に何度もプロジェクト横断の会議の立ち上げ・廃止を繰り返していたため、改めて、

  • 課題感のすり合わせ
  • 目的・ゴールの確認

をし、プロジェクト横断の施策をワークさせ続けられるように施策の

  • 立案
  • 改善
  • 運営

を担う組織の立ち上げから始めました。

目標

中長期的に、継続して、エンジニア組織を改善していけるようにしたいと考え、組織の目標は、サムザップのエンジニアリングビジョンより、以下3つの実現を主な目標に掲げました。

  • ゲームエンジニア
    • ゲームとして必須のノウハウを貯めたい
  • チームサムザップ
    • チーム間のノウハウを共有したい
  • オープンコミュニケーション
    • チーム間で気軽に連携を取れるようにしたい

サムザップのエンジニアリングビジョンについては、以下のブログを参照してもらえると嬉しいです!

tech.sumzap.co.jp tech.sumzap.co.jp
上記実現の施策のひとつとして、技術共有の会を立ち上げました。
以下ではその際に工夫・大事にしたポイントについて説明したいと思います。

工夫・大事にしたポイント

技術共有の会において工夫したポイントは以下の通りです。

  • 情報共有の幅と深みの両立
    • 会議を「各プロジェクト共有」と「テーマ別ディスカッション」の二部制化
  • マンネリ化対策
    • テーマ別ディスカッションは、毎回別なものを運営側が事前に選定
  • 暗黙知→形式知(→共有知)化
    • Notionを利用した暗黙知の形式知化
  • 極力参加者の負担が少なく、かつ参加者の利益を最大化
    • 各プロジェクト共有は、「トピックス」、「相談」、「しくじり」の3つにテンプレート化
      • 特に相談に時間を割く時間配分
    • 昨今のリモートの流れにのりzoom開催で各プロジェクト代表以外のメンバーも自由に参加可

弊社では上述の通り、暗黙知を形式知化(ひいては共有知化)するべく、後述のポイントを重視し、技術共有を推進するツールとしてNotionを採用しました。

Notion

Notionは、ドキュメントや表計算、データ管理やタスク管理などなど、数々のツールを網羅し、ひとまとめにした情報共有ツールです。

弊社で採用する際に重視したポイントは以下です。

  • 気軽に記述できる
    • 簡単にブロックの装飾や機能変更できる
    • 構造体を自由にネスト可能
    • テンプレートが簡単に作成可能
  • DBとして利用可能でナレッジを貯めるのに適している
  • 必要十分なユーザー管理機能

その他にもレイアウトが自由、機能が豊富、複数人での同時編集可能などなど、様々な便利さがありました。

逆に使い辛い点としては、あまり思い当たらないのですが、強いて言うならば、

  • 多機能過ぎて、どこから使い始めれば良いか迷う
  • ページが乱立し、目的のページへのたどり着き方が分からない

前者については使って慣れるとして、後者については、FAVORITESやQuick Note、タグを活用したり、まとめページを作ることである程度解消できると思います。

以下技術共有の会の1施策として実施した弊社のアドベントカレンダー鑑賞会での活用事例を紹介します。

ブロック

Notionは各要素がブロックという単位になっており、その名の通りブロックのようにレイアウトの組み立てが可能です。 ドラッグアンドドロップで配置できるため、直感的にレイアウトが構築できます。


f:id:sumzap_engineer_blog:20210313235654p:plain
レイアウト例

DB

NotionはDB機能が強力で、エンジニアであればお馴染みかと思いますが、各プロパティでフィルターやソートしたり、様々なビューが提供されており、選択するだけでいつものテーブル形式からボードや、ギャラリー、カレンダー形式等で表示することが可能です。


f:id:sumzap_engineer_blog:20210327120606p:plain
テーブル形式

⬇⬇⬇

(ビューの形式を変更するだけで)

⬇⬇⬇


f:id:sumzap_engineer_blog:20210327120623p:plain
ギャラリー形式(先程のテーブル形式と同じDB)

ランキング

ランキングは、Notionのソート機能と関数機能(Formula)を使ってそれっぽくしてみました。

弊社ではアドベントカレンダー鑑賞会を開催した際に、エンジニアが「参考にしたいランキング」や「面白いランキング」、「響いたランキング」等を作って盛り上げに活用しました。

気になる!興味あり!と思った人が名前(PROPERTY TYPE:person)を記載し、別のプロパティー(PROPERTY TYPE:Fomula)で人数をカウントし、響いたランキングとしてソートしました。


f:id:sumzap_engineer_blog:20210327115328p:plain
アドベントカレンダー鑑賞会サンプル

まとめ

プロジェクト横断の技術共有の会を作った話をしてきました。
まとめると、会議の設計においては、以下の点を大事にしました。

  • マンネリ化させず
  • 参加者の負担を減らす
  • 参加者の利益を最大化する

Notionについては、先のようなメリットの他、もっと幅広い、使い切れない活用方法があると思います。
またまだβ版ですがAPIも公開されており、今後より便利に使えるようになることが期待されます。

まだ開催回数も少なく、成果はこれからといったところですが、これまでより有意義な議論が交わされ、刺激的な会になっているように感じています。

以上、少しでも同じような課題に悩まれているチームや組織のお役に立てれば光栄です。

おわりに

主にマネジメント&ファシリテートを買って出ていただいた斎藤さん
エンジニアが興味を持ちそうなツールやサービスを感度高く情報収集し、共有してくれた石井さん
サムザップ生え抜きで、プロジェクト横断組織の立場からアイディアをくれた島田さん
Notionを使い倒し、生き字引となって布教をしてくれた熊倉さん
豊富な経験からのアドバイスをくれた若田部さん

これまでご助力ありがとうございました!
引き続きサムザップのエンジニア組織を進化させていくためにご協力よろしくお願いします。

ちなみに皆さん去年のアドベントカレンダーを記載してくれていますので、読んでもらえると励みになります!

qiita.com qiita.com