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

10年以上続くシステムと向き合い始めた事例の紹介

Recruit
November 05, 2021

 10年以上続くシステムと向き合い始めた事例の紹介

2021-09-22
RECRUIT TECH MEETUP登壇時の資料です

Recruit

November 05, 2021
Tweet

More Decks by Recruit

Other Decks in Technology

Transcript

  1. 『じゃらんnet 』|システム関連 • Java(独⾃FW) • オンプレ環境 6 ೥ͷ૿վஙͷ݁Ռ • クラス数:数万

    • リポジトリ数:数百 • テーブル数:数千 構成 規模感 ※ 関連システム、じゃらんの全サービスを考慮
  2. 開発者から⾒た当時のクーポン 12 複雑性 ⼤ システム負荷 ⼤ • 定期的に⼤型クーポンを配布 • 配布⽇の10時は恐怖

    • 機能改修の頻度が⾼い機能 • 仕様が複雑で全体感が 
 把握できない • 実装はそれ以上に複雑
  3. 開発者から⾒た当時のクーポン 13 複雑性 ⼤ システム負荷 ⼤ • 定期的に⼤型クーポンを配布 • 配布⽇の10時は恐怖

    • 機能改修の頻度が⾼い機能 • 仕様が複雑で全体感が 
 把握できない • 実装はそれ以上に複雑 ΫʔϙϯػೳΛͳΜͱ͔͠ͳ͍ͱʜ ࠶ߏஙઆ͕ೱްˠݕ౼Λґཔ͞ΕΔ
  4. 戦略サマリ|短期と中⻑期の2階建て 18 2階 (中⻑期) 1階 (短期) セール時の 
 システム負荷 取り組む課題

    得られるもの 仕様と実装の複雑性 セール時の安⼼感 周りからの信頼 素早く質の⾼い 
 機能開発 仕様理解
  5. 戦略サマリ|短期と中⻑期の2階建て 19 2階 (中⻑期) 1階 (短期) セール時の 
 システム負荷 取り組む課題

    得られるもの 仕様と実装の複雑性 セール時の安⼼感 周りからの信頼 素早く質の⾼い 
 機能開発 仕様理解 イマココ 今回の内容は基本的に短期の内容のみ。 短期⽬標プロジェクトにどれくらい中⻑期を⾒越したものを混ぜたのか。を話す
  6. 情報収集フェーズ 中⻑期を⾒越した幅優先での情報収集と対外的な印象づけ 22 開発軸 ユースケース軸 ‣ 対象機能⼀覧 ‣ リソース使⽤状況の整理 ‣

    画⾯遷移図 ‣ クーポン系障害整理 ‣ ソースコードリーディング ‣ ⽤語整理 ‣ 使われ⽅整理 
 (データのライフサイクル) 情報 収集 対策 検討 実装 効果測定
  7. 中⻑期を⾒越した幅優先での情報収集と対外的な印象づけ 情報収集フェーズ 23 情報 収集 対策 検討 実装 効果測定 クーポンでこういう問題が

    起きてて整理してるんです! 分からないところを 教えてください! اը୲౰ऀ όοΫΦϑΟεܥ୲౰ऀ ։ൃऀ この⼈たちは クーポンの⼈なんだな ヒアリングを⾏いつつ課題感を共有 「クーポン関連で開発者が動いてそう」という認識を持ってもらう
  8. セール導線の課題詳細と打ち⼿ • 結果がどこにも使われていないSQLがある ‣ 消す! • ⼤量のマスタデータを取得するSQLがリクエストのたびに実⾏されている ‣ キャッシュ化 •

    クーポンを発⾏時、発⾏枚数をカウントするために⾏ロックを取得。⼤量ア クセスが来るとロック解放待ちが発⽣(何度かリトライしてロックが取れな かったらエラーへ遷移) ‣ 即時のカウントアップではなく定期バッチで発⾏枚数を集計するように仕様変更を提 案 27 情報 収集 対策 検討 実装 効果測定 注:発⾏枚数は「クーポンが使われた予約数」とは別の概念。『じゃらんnet 』を使うユーザからは⾒えない。
  9. 戦略サマリ|短期と中⻑期の2階建て 36 2階 (中⻑期) 1階 (短期) セール時の 
 システム負荷 取り組む課題

    得られるもの 仕様と実装の複雑性 セール時の安⼼感 周りからの信頼 素早く質の⾼い 
 機能開発 仕様理解 再掲
  10. 短期から中⻑期への移⾏はどうだったのか 🙆 うまくいったこと • クーポン系の機能開発の時に⾃分たちに声がかかるように ‣ クーポンを網羅的に調査したことで仕様を⼀番理解しているのが⾃分たちになっていた ‣ 社内的に「ちょっと聞いとこ」や「頭出ししとこ」という存在に 🙅

    うまくいかなかったこと • 機能開発に向けたプロセス整備が遅れ、移⾏期に混乱が発⽣ ‣ 別チームの開発者から「⼀応設計⾒ておいてもらおう」で来た依頼が、クーポン全体を 破壊しかねない修正だったりして企画担当者に「ほんまゴメンやけどやり直させてく ださい」ってお願いしに⾏った ‣ 必要な⼿戻りだったが、もう少し⼿前で指摘できればよかった 37