目の前にある問題から目を背けない〜レガシーコード改善勉強会で得たもの〜

先日9/27に「納品のない受託開発を支える レガシーコードを作らない仕組み」というテーマでレガシーコード改善勉強会にてお話をさせていただきました。

お話したスライド

レガシーコード改善勉強会、と銘打たれている場所で話すにしては、レガシーコードへの直接的な対処法についてお話している内容ではないので、見る人によっては期待とズレてしまっていたかも知れません。

ただスライドで述べている通り、実際にレガシーコード化してしまうとシステムへの変更に多大なコストがかかってしまいます。更にシステムへの変更という観点ではアプリのコードだけでなくインフラの構成自体も問題になることがあり、個々のシステムの総体を含めてレガシー化させることなく継続的に保守を行うためには、どんな観点で対策を考える必要があるのか?というのが話の趣旨でした。

そもそもレガシーコードを改善できたとしても、レガシーコードが生まれる仕組みがある限りはまた生まれてきたしまうのだから、最終的にはそもそも生まれないように仕組みづくりをするしかない、というのがまとめです。

目の前にある問題から目を背けない

レガシーコード改善勉強会でいろいろな人の話を聞く中で強く感じたのは、<レガシーコード>という凶悪な問題に遭遇したときに、その問題からいかに目を背けずに対処すべきか、というテーマでした。

一見、隣のチームは良いコードに包まれて幸せそうに開発しているかも知れません。しかしそういうチームでも何らかの問題には遭遇している訳で、目の前のレガシーコードという問題から逃げたところで、また別の問題に突き当たるだけなんですよね。いかにしてシステムを変更できる状態に持っていくか、そしてそれを継続/維持できる状態にするか、これは本当にエンジニアの腕が問われる問題だな、と実感しました。