16
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ちょうぜつAdvent Calendar 2020

Day 19

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

Last updated at Posted at 2020-12-20

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

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

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

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

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

16
2
0

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
  3. You can use dark theme
What you can do with signing up
16
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?