1200x630_04

こんにちは!クラウドファンディングプラットフォーム Makuake の吉田慶章 ( @kakakakakku ) です.先週木曜日 2017/06/22 に「タップル誕生」を運営する株式会社マッチングエージェントと「Makuake」を運営する株式会社サイバーエージェント・クラウドファンディングのメンバーが集まり,勉強会を実施しました.今回はこの勉強会の開催レポートを紹介したいと思います.

テーマ

今回の勉強会のテーマは「急成長スタートアップ x 技術的負債」にしました.両サービスとも急成長中であり,日々様々な技術的負債と戦っています.過去にも『技術的負債をどう解決するか?~とあるスタートアップがサービス成長のために取り組んだこと~』や『「経営層を巻き込まないと開発組織は変わらない」――急成長するクラウドファンディングサービス「Makuake」エンジニアが社長と取り組んだこと』などの記事を公開しており,非常に状況が似ていたこともあり,このようなテーマ選定となりました.

トークセッション

技術的負債は終わらない / MatchingAgent 河野

th_DSC_9858.NEF

課題が続出する中で「クリティカルな状態から脱却する」という目標を立て,技術的負債専任ラインを確保することにより,一歩一歩改善をされたそうです.また,検索エンジンとして利用していた MongoDB を Elasticsearch にリプレイスしたり,ネイティブのコードベースを Swift / Kotlin にするなど,中長期的な目線で価値のある改善にも積極的に取り組まれている点が非常に印象的でした.

技術的負債を “なるべく” 作らないためのコツ / Makuake 吉田

th_DSC_9872.NEF

続いて,私の発表でした.個人的な経験ですが,技術的負債の課題を突き詰めていくと最終的には「組織の課題」に収束すると考えています.そこで,今回はあえて技術的な話はせず,心理学やファシリテーションといった領域のプラクティスを,私が日々どのように組織の中で実践しているかという話をしました.私の好きな書籍も合わせて紹介しているため,是非読んで頂きたいなと思っています.

LT 大会

iOS のコーディング規約を作成してみた話 / MatchingAgent 佐々木

th_DSC_9882.NEF

Swift のコーディング規約の話でした.資料では「不満の掃き溜め」と表現されていましたが,一方的に決めるのではなく,メンバーから意見を吸い上げながら決めていくという合意プロセスが凄く良いなと感じました.是非良い形に仕上がったら,公開して頂きたいですね!

テストを遅くしないように気をつけること / Makuake 菊川

th_DSC_9885.NEF

「テストは高速であるべき!」という思想の元,MySQL のチューニングとテストコードのリファクタリングにより,テスト時間を 1/3 にまで軽減したという話でした.データベースアクセスが低速であることはよく知られていると思いますが,データベースアクセスが不要なテストを明確に切り分けてクラスを分割するなど,非常に実践的な内容でした.素晴らしいですね!

Elasticsearch の活用と課題 at タップル / MatchingAgent 島谷

th_DSC_9886.NEF

検索基盤を Elasticsearch にリプレイスし,チューニングをしたという活用事例でした.具体的にはデフォルト設定のまま運用するのではなく,ヒープのチューニングをすることにより Full GC を減らすことができ,安定化に繋がったそうです.「フリックスキームで更新クエリが頻発する」というのは,マッチングアプリ特有の機能で非常に興味深かったです!

古株の Value の出し方 / Makuake 中村

th_DSC_9890.NEF

技術的負債の話をするときに,サービスの立ち上げメンバーである「古株」の目線は非常に重要だと感じました.発表でも話がありましたが,一番に技術的負債に向き合うと良いとのことです.「誰が」ではなく「何が課題か」にフォーカスをして,日々改善していきたいですね!

Kotlin 導入してみた / MatchingAgent 向中野

th_DSC_9894.NEF

Android アプリのアーキテクチャを MVVM 化したり,コンポーネント化を推進したりして技術的負債を改善するだけではなく,開発言語を Kotlin にリプレイスしているそうです.単純に Kotlin にリプレイスをするだけではなく,毎週社内勉強会を開催したり,経験者にレビューを依頼したり,チームに Kotlin を浸透させるアプローチが素晴らしいなと感じました.

UX的負債を軽減した話 / Makuake 牧野

th_DSC_9898.NEF

「活動レポート」と呼ばれる機能の UI / UX をリニューアルした事例紹介でした.特定の画面のデザインを変えるのではなく,機能のニーズ調査から実施し直して,機能を2個に分割させるなど,非常にユーザーファーストな事例だなと感じました.

最後に

th_DSC_9852.NEF

th_DSC_9884.NEF

勉強会を通して,技術的にも,組織的にも,様々なノウハウを知る機会になりました.特に今回はテーマを「急成長スタートアップ x 技術的負債」にしたこともあり,懇親会でも「あるある話」などで盛り上がっていました.技術的負債を完全に無くすことはできませんし,サービスが成長し,日々稼働しているからこそ起きる問題もあるため,ある意味で技術的負債は「嬉しい悲鳴」なのかもしれませんね!

今回の発表資料が,技術的負債に悩む多くの皆さんの参考になれば,嬉しいです.