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

重要だけど、 よく忘れる仕様との付き合い方

Hayato Nakamura
March 08, 2024
43

重要だけど、 よく忘れる仕様との付き合い方

運用期間が長いシステムでうっかりシステムを落とす対応をいれないようにするにはどうすればいいのかというのを考えてみました。

Hayato Nakamura

March 08, 2024
Tweet

Transcript

  1. 2 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 自己紹介 • 名前

    ◦ 中村 隼人 • 業務 ◦ カート周り(PHP/Kotlin/TypeScript) • おすすめ🍰 ◦ 子どもが野菜を食べてくれる ◦ 大人が食べてもおいしい
  2. 3 © Cake.jp Co.Ltd. All Right Reserved.|Confidential • システムの規模が大きい。 •

    歴史が古い。 • まとまった仕様書がない。 • 普段あまり使わない。 全仕様の把握って大変ですよね?
  3. 4 © Cake.jp Co.Ltd. All Right Reserved.|Confidential • システムの規模が大きい。 •

    歴史が古い。 • まとまった仕様書がない。 • 普段あまり使わない。 全仕様の把握って大変ですよね?
  4. 5 © Cake.jp Co.Ltd. All Right Reserved.|Confidential • 同じログイン体系で複数のカートシステムが存在する。 •

    カートをまたぐときにログイン状態を維持できない。 • カートBは特定のエンドポイントしかアクセスすることができない。 ◦ 特定のエンドポイント以外にアクセスするとログアウトされる。 事象の説明 システム カートA カートB
  5. 6 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 1. コントローラを追加する 2.

    カートAでは通常に動くので、リリースする 3. カートBで注文に失敗する。 発生したこと だいぶ大げさです。
  6. 7 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 1. レビューで防げない。 (変更頻度が少なく、レビュー漏れしてしまう)

    2. 動作確認テストで防げない。 (変更箇所のテストだけでは、パスしてしまう) 3. 失敗したときの影響が大きい。 (問い合わせ対応工数がかかる。売上毀損する) 困っていたこと
  7. 8 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 自動テストへの組み込み コントローラを追加したら、絶対に落ちるテストの作成 解決への道

    カートBが利用 可能なコント ローラ カートBが利用 不可なコント ローラ Controller どちらかに追加しないと落 ちる