自社開発あるある
ある程度大きめのシステムに関わったときに、当時はちゃんと動いていて、ビジネス的にも問題はなかった。ただ、ちょっとした改修や追加がやたら重い。
- 小さな仕様変更なのに影響範囲が広い
- 「ここ触るなら、あそこも直さないと」が多すぎる
- 気づいたら if 文が増殖している
正直、触るたびに「嫌な汗」をかく。
こんな経験は私だけでないはず
紛れ込んでいるレガシー
改めて中身を見てみると、
いわゆる“ありがちなレガシー”が全部あった。
- 10年前のフレームワーク
- 手作業前提のデプロイ
- 仕様書はExcel、しかも最新か怪しい
- 「ここは触らないで」と言われる神システム
どれも当時は正解だったんだと思う。
でも今のチーム構成やスピード感には、正直きつい。
一番しんどかったのは「カスタマイズできないこと」
個人的に一番つらかったのはここ。
基盤の時点で、変更や拡張がほぼ想定されていない。
- 拡張ポイントがない
- 差し替え前提じゃない
- 結果、条件分岐で無理やり対応
最初は「これでいけるか」ってなるけど、
数年後には誰も全体を把握できなくなる。
モダナイズって、技術刷新の話じゃない
よくあるモダナイズの例としては、
- モノリス → マイクロサービス
- 手動リリース → CI/CD
- オンプレ → クラウド
でも、現場で感じたのはこれ。
問題は技術の古さより、
変更に耐えられない構造そのもの
新しい技術を入れても、基盤がガチガチだと結局つらいまま。
地味だけど効いたのは、ほんとに地味なこと
派手な改善より、
後から効いてきたのはこんなところだった。
- コメントを日本語で揃える
- 命名を規約通りにする
- 検索しやすい名前にする
正直、最初は「そんなところ?」って思ってた。
でも、後から入ってきた人が理解できるかは、こういう部分でかなり変わる。
結局、モダナイズって何だったのか
今思うと、モダナイズってこれだと思ってる。
「今どう動くか」より
「未来にどう変えられるか」を考えること
動くけど、つらい。
直せるけど、怖い。
そんな状態から、
安心して手を入れられる状態にする。