search
LoginSignup
2

More than 1 year has passed since last update.

posted at

updated at

マンガでわかるシステムのおんぼろ煙突化アンチパターン

1BE8DBFE-C460-480F-AF16-E44F799E3F43.png
http://wiki.c2.com/?StovepipeSystem

全社的おんぼろ煙突化と同様の問題が単独のシステム内で起きるのが、システムのおんぼろ煙突化です。レガシーシステムと呼ばれるものの多くは、おんぼろ煙突化が原因となっています。

古くから使われているシステムには、顧客の思いつきで不作法に作られたような箇所がいくつもあります。無作法というのは、修正スコープが閉じていないにもかかわらず、他の文脈を無視して、点々とある問題箇所だけに手を入れることで、ストーブパイプに共通する特徴です。このつぎはぎのせいで、結合が疎だったモジュールが、時間の経過とともに密になってしまうと、アーキテクチャのストーブパイプ化がひどくなり、コードも追跡困難なスパゲティになります。

一貫性のあるアーキテクチャの土台を設け、モジュール間の凝集度を最適に保ちましょう。必要に応じて、依存関係の逆転を適用するのも有効です。

ストーブパイプシステムになる原因は、アドホックな思いつきバイパスです。凝集度をないがしろにすると、比較的新しい技術を使ったモダンなシステムでありながら、ストーブパイプシステム化してしまうことはあります。私は個人的にこのパターンを「新たなレガシーを作ってしまったな」と言うことがあります。妥協や負債ではなく、単なる無知からリリース前にすでにレガシーになってしまうと、初手からマイナススタートっぷりがきついですね。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2