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

ログラスの継続的ライブラリアップデートのWhyとHow / Why and How to Update Libraries Continuously in Loglass

YuitoSato
August 16, 2023

ログラスの継続的ライブラリアップデートのWhyとHow / Why and How to Update Libraries Continuously in Loglass

YuitoSato

August 16, 2023
Tweet

More Decks by YuitoSato

Other Decks in Technology

Transcript

  1. 2 ©2023 Loglass Inc. 自己紹介 株式会社ログラス 開発部 エンジニア 佐藤有斗(@Yuiiitoto) 2020年12月にソフトウェアエンジニアとしてログラスに入社。

    React、Kotlinが得意で、ログラスのフロントエンド全般の設計・開 発と経営データの集計・分析エンジンのバックエンドを開発してい る。 KotlinのOSSをちょこちょこ開発・保守しています。
  2. 15 ©2023 Loglass Inc. ライブラリアップデートのレベルイメージ。もちろんライブラリによる。 Level3: LTSが切れている。破壊的な変更があり、メジャー バージョンがNつずれている。 Level2: メジャーバージョンが

    1つずれている。破壊的な変更が あるが、マイグレーションガイド通りに行えば影響は限定でき る。 複雑性 Level1: 破壊的な変更がない or 少ないパッチ、マイナーバー ジョンアップデート。多くは CIが通ればマージできる。
  3. 16 ©2023 Loglass Inc. 複雑性が増えれば、必要工数が増える Level3: LTSが切れている。破壊的な変更があり、メジャー バージョンがNつずれている。 Level2: メジャーバージョンが

    1つずれている。破壊的な変更が あるが、マイグレーションガイド通りに行えば影響は限定でき る。 複雑性 工数 Level1: 破壊的な変更がない or 少ないパッチ、マイナーバー ジョンアップデート。多くは CIが通ればマージできる。
  4. 17 ©2023 Loglass Inc. 必要工数が増えれば、ステークホルダーと説明コストが増える Level3: LTSが切れている。破壊的な変更があり、メジャー バージョンがNつずれている。 Level2: メジャーバージョンが

    1つずれている。破壊的な変更が あるが、マイグレーションガイド通りに行えば影響は限定でき る。 Level1: 破壊的な変更がない or 少ないパッチ、マイナーバー ジョンアップデート。多くは CIが通ればマージできる。 複雑性 工数 説明コスト 経営陣 エンジニアリング マネージャー
  5. 19 ©2023 Loglass Inc. Level2までで対応したい。末期がんになる前に治療する。 Level3: LTSが切れている。破壊的な変更があり、メジャー バージョンがNつずれている。 Level2: メジャーバージョンが

    1つずれている。破壊的な変更が あるが、マイグレーションガイド通りに行えば影響は限定でき る。 複雑性 工数 説明コスト 経営陣 エンジニアリング マネージャー Level1: 破壊的な変更がない or 少ないパッチ、マイナーバー ジョンアップデート。多くは CIが通ればマージできる。
  6. 23 ©2023 Loglass Inc. 2. 固定で時間を取る(Level1の解消) • 1ヶ月に1時間とか時間取る(ログラスは隔週 30分) •

    DependabotのPRを確認してマージしていく • みんなでやると楽しい • ナレッジを貯めよう
  7. 24 ©2023 Loglass Inc. 2. 固定で時間を取る(Level1の解消) • 1ヶ月に1時間とか時間取る(ログラスは隔週 30分) •

    DependabotのPRを確認してマージしていく • みんなでやると楽しい • ナレッジを貯めよう • 善意に頼らずみんなで仕組みの中でやろう
  8. 27 ©2023 Loglass Inc. 4. 特殊部隊を作る(Level2~の解消) • 機能開発 vs メジャーバージョンアップデートの優先順位を測るのは難しい

    • 最初から横断で技術的な投資をするチームを設けておけば優先順位判断をスキップできる
  9. 32