レガシーミミックパターンで安全にシステム移行しよう! by 田中D

PHP Conference Japan 2023
LT(5分)

レガシーミミックパターンで安全にシステム移行しよう!

田中D d_tanaka_g
10

「システム移行の際に、リリース後に不具合が発生した」という苦い経験をお持ちの方は多いのではないでしょうか?
特に、影響範囲が大きい機能に手を入れると、不具合の規模も大きくなってしまい、後始末に追われることになります。

影響範囲を狭めて段階的にリリースするための手法として「レガシーミミックパターン」というものがあります。
弊社においても直近の開発で採用し、かなりの安心感を得られたので、知見を共有したいと思います。

開発概要

  • メール送信の機能がフレームワーク標準のものではなく独自拡張されていました
  • これをフレームワーク標準のものに戻すための開発をしました
  • しかしメールは 50 種類ほどあり、不具合が起きるとメールの再送などの後始末が大変そうです
  • そこでレガシーミミックパターンを採用し、メールの種類ごとに新旧版を切り替えられるようにしました