エンジニアチームのナレッジ共有と改善

ドワンゴアドベントカレンダー2019の24日目です

qiita.com

こんにちは、@tsuwatch です。主にRubyを書きます。今はN予備校、ニコニコQをやっていて、昔はニコナレもやってました

クリスマスイブですね。年末にニコ生に耽るのが楽しみです

早速ですが今回は、エンジニアチームのナレッジ共有と改善ということで、N予備校のバックエンドチームで勉強会を開催しているのですが、開催してよかったことなどを書こうと思います

勉強会

現在N予備校のバックエンド開発チームでは、1ヶ月に1度の頻度で業務内で勉強会を実施しています

やることになった背景としては、やはりチームもサービスも日々大きくなっていっており、もっとコミュニケーションを取っていれば…情報共有していれば…ということも増えてきます

業務をしているなかで発見したプロダクトや技術のいいナレッジやプラクティスなどを共有することで、

  • いいプロダクト開発をする意識を継続的に持っていく
  • 技術的負債をできる限り未然に防ぐ

ことを狙い、結果として

  • プロダクト(コードベース)の品質維持
  • プロダクティビティの向上

することを目的としています

なので勉強会とはいっても発表する内容は、好きな技術のことではなく、業務内で発生した

  • 改善したこと
  • 改善したいこと
  • 改善したほうがいいこと
  • 知ったこと
  • 知ってほしいこと

など、チーム内の業務やプロダクトを改善できるものを共有する会になっています

開催形式としては、

  • 持ち時間は10分(発表、質疑、雑談含む)
  • プレゼン資料は作らず、メモ的なもの(GitHub・その他...)を見ながらでもOK

としています。継続的に開催していくのに毎月プレゼン資料を作るのはとても大変ですし、プレゼン資料を作ってしまうと内容も結構なボリュームをもってしまいがちです

なので、あまりかっちりしたプレゼン発表というよりも、ざっくばらんに気軽に雑談するくらいの感じでやっています

そのほうがリラックスしてチーム内のコミュニケーションもはかどります。会自体の名前も勉強会ではまだ少し堅いイメージがあり、テックトーク会という名前で開催しています

結果

やってみた結果として、

こういったカジュアルにでも、というかむしろカジュアルに集まって自分たちの業務やプロダクトについてアウトプットできる時間は重要でした

自分たちのプロダクトについて、この処理はこう書くべき、こういう便利なメソッドがあるというようなちょっとした話もとても大事で、こういった話を少しずつでも積み重ねていくことで、品質やチームのスキル向上につながっていくのではないかと思いました

ほかにも、

  • 実はそんな問題、苦労があったのか
  • こういうことがあったんだが、どうしよう
  • それはこうすれば解決できる
  • こんな便利な方法がある

など、実は個人に眠ってしまっている共有したほうがいい知識は多くあり、それを共有することができています

実際に、

  • 業務でよりいい設計、実装ができる知見が得られた
  • この会でプロダクトの品質についての問題を共有できてると思う
  • 悩んでいたことが解決した

などについてアンケートしており、よい評価を得ています

しかしまだまだ実際に、客観的に品質、プロダクティビティが改善しているということまでは言えないので、具体的に可視化し、実際に効果が出ているのかを継続的に判断していけると良さそうです

おわりに

今回はバックエンドチームで実施している勉強会について書かせていただきました

あらためて個人の暗黙知や、かかえてしまっている問題点を共有する場の重要性を感じました

もちろん個人に眠る、既存の問題点や改善点、気になってる点なども共有されていて、この会だけではプロダクト自体の具体的な改善まではつながらないものも出てきています

例えば、

  • このGemのメンテナンス状況が芳しくない
  • rubocopがちょっとよくない

などなどこれから手を動かして改善していかないといけない課題も出てくるので、ちゃんと記録していき、それらを倒していかなければいけません

じゃあ、それを具体的にどう倒していくのかというのはまた少し難しい話で、また機会があれば書ければと思います