こんにちは、CTOの山岡(@hiro_y)です。 ソフトウェア開発(特にWebアプリケーション開発)に携わっていると「レガシー」という表現をよく聞きます。でもよくよく考えてみると、ソフトウェアは放っておいても腐りませんし、錆びてしまうこともありません。しかし現実問題として、ソフトウェアは放っておくと否応なく「レガシー化」します。どうしてそうなってしまうのでしょうか。 (「レガシー」それ自体は悪い意味の言葉ではないはずですが、不思議とソフトウェア開発の文脈だとよくない意味合いの方が強くなってしまいますね…。) レガシー化する理由とその対策 動いているソフトウェア自体が変化しなくても、周りの環境が変化します。OSのバージョンが上がったり、その上で動いているミドルウェアが変わります。また、最近だとクラウド環境を利用することが多いので意識することが減りましたが、ハードウェアも新しいものがどんどん出