はじめに年末ですね。街を歩いていると、そこかしこで工事が行われています。まちづくり、ビジネス的な要請、さまざまな理由に並んで老朽化に伴う改築があります。 ソフトウェア開発でも、日々工事は行われています。建造物と同じように、ビジネス的な要請だったり老朽化対策だったり理由は様々です。 昔より作り直しに取り組みやすくなった技術的負債という言葉が(提唱者の意図した意味から逸脱したりしながらも)ある程度普及したこと、そしてソフトウェア自体が長寿化したことから老朽化対策としての工事が行われる機会はひところより増えたように思います。 ふるまいは変えずに内部構造を改善するリファクタリング。 アーキテクチャレベルでの改善を行うリアーキテクチャ。 そもそもゼロベースで作り直す、リプレイス。 作り直しといってもそのレベル感はまちまちです。まちまちですが、「作り直そう」という動機に共通するのは「開発スピードが低下
![作り直すといっておきながら「仕様は前のシステムと同じで」とは何事だ|dora_e_m](https://cdn-ak-scissors.b.st-hatena.com/image/square/37f0d77193d41604cb1d9168a6b827ae2c242ec4/height=288;version=1;width=512/https%3A%2F%2Fassets.st-note.com%2Fproduction%2Fuploads%2Fimages%2F92768935%2Frectangle_large_type_2_2a3d8b09525eca457a5f77d3fef5b4de.png%3Ffit%3Dbounds%26quality%3D85%26width%3D1280)