Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FiNCのサービスライフサイクルに応じた施策の振り返り

 FiNCのサービスライフサイクルに応じた施策の振り返り

TECH PLAYのイベントで利用した資料です
DeNA×Ubie×FiNC presents 「とりあえず打った施策」のアンチパターン ~ 一旦はじめてみたけれど、うまくワークしなかった打ち手をぶっちゃけ公開 ~
https://techplay.jp/event/845155
===
FiNCはサービス運用を始めて2022年で9年目に入ります。 立ち上げ、成長・拡大、安定運用というサービスの局面の変遷に伴い、サービスに要求されることは変わります。その結果ある局面では良いとされた施策も別の局面では悪影響を生むこともあります。例えば、拡大フェーズにおいて疎結合なシステムと組織を作ることは開発速度を上げますが、運用フェーズではサービス複雑化による生産性の低下にも繋がります。 このような事例をいくつか挙げながら、負債とならないためにどういったことを考慮すれば良かったのか、今はどのように対策しているのかを紹介します。皆様のサービスの今後の施策に活かしていただければ幸いです。

Shinozuka Fumiya

February 25, 2022
Tweet

More Decks by Shinozuka Fumiya

Other Decks in Technology

Transcript

  1. 7 CONFIDENTIAL 本資料は株式会社FiNC Technologiesの許可なく複製・配布しないようお願いいたします。 施策1 マイクロサービスとして新規事業の立ち上げ 行なったこと 既存事業とは別チームで新規事業チームを作り、 新規事業で利用するサービスを新しいマイクロサービスとして実装した 背景

    新機能の追加、既存機能の拡張を止めることなく、 新規事業の立ち上げを早く行いたいという要求があった 課題 新規事業で利用するサービスをどこに実装するか? メインとなるサービスは初期からあるモノリシックサービス ここに実装すると既存機能の拡張も新規サービスの立ち上げも遅くなる その他いくつかのサービスがあるがどこに実装するにしても収まりが悪い
  2. 9 CONFIDENTIAL 本資料は株式会社FiNC Technologiesの許可なく複製・配布しないようお願いいたします。 運用フェーズにおけるコストとは? • 新規実装の際の開発速度の低下 • アーキテクチャ起因による企画の制限 •

    メンテナンスの対応コスト • メンテナーの維持コスト、採用コスト • 障害リスクの向上、障害時の対応コスト • サーバー、インフラ費用 何のコストかを正確に把握しようとすることが重要 開発速度の低下など機会損失につながるなら影響は大きい サーバー、インフラ費用の増加は事業計画次第では許容できる
  3. 20 CONFIDENTIAL 本資料は株式会社FiNC Technologiesの許可なく複製・配布しないようお願いいたします。 施策2 逆コンウェイ戦略に沿ったチーム分割 行ったこと アプリケーションの開発チームをマイクロサービスに合わせて以下の3つに分割 • ライフログサービスを中心に担当するチーム

    • コミュニティサービスを中心に担当するチーム • 基盤系サービスを中心に担当するチーム 背景 開発チームの人数が増えていた(20人 => 30人 => 40人) 元々は案件に対して人をアサインしていたが、 チームとしてのナレッジが貯まらないことやアサインに時間がかかる問題が発生していた そのような状況下で関心の分離をし、開発を並列化して素早く進めたいという要求があった
  4. 24 CONFIDENTIAL 本資料は株式会社FiNC Technologiesの許可なく複製・配布しないようお願いいたします。 対策:事業目標に応じたチーム分割 マイクロサービスをベースにチームを分けるのではなく、 事業目標をベースにしたチームの分割に変更 達成したこと • 各チームで新しくドメイン知識を獲得する必要はあったが、知識の冗長化が行えた

    • 開発を担当するサービス領域がいい意味でファジーになり、柔軟にアサインが行えるようになった 一方で、チームとチームの間で責任者が不在となるサービスが生まれ、 メンテナンス基準、実装方針が1サービス内で統一されない問題が起きた