結構年季が入ったJavaのレガシーなwebアプリをRailsに移行するというプロジェクトを進めている。レガシーシステムは以下のような状態。 ・オリジナルを作ったエンジニアは既に不在 ・ビジネスロジックに対するドキュメントは殆ど存在しない ・単体テストは存在しない ・社内WAFで、ドキュメントなし ・複数のシステムが連動している このような状態は、年季の入ったシステムではわりとよくあることだと思うが、いかんせん「仕様がわからない」ということが色んな所でボトルネックになっていた。その対策方法について、メモしておく。 仕様を理解するための時間を確保する 「その内時間が経てば理解できるよ」という考えもあるだろうが、ある程度年季が入ったシステムをリプレースするなら、初期段階で多少コストをかけてでも、既存仕様を理解するための時間を作った方が効率的だと思う。既存仕様をよく理解しないまま移行開発を行っても
![レガシーシステムを理解する方法 - maeharinの日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/88fbaf4f221b834097c6cc81b22f63d79439705d/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmaeharin%2F20150112%2F20150112171454.gif)