Friday, November 06, 2009

Sick Architecture

You may wonder why my publication rate in this blog has decreased dramatically. I am staying at home due to an infection for three weeks now which wasn’t that helpful for my blog.

To keep things running I have decided to create a new posting. Well, the title is intentionally related to my current health situation.

To be honest, I think that software architecture design reveals some interesting commonalities with sickness:

Both often require intense treatment by experts

Different experts offer different opinions and treatment plans

Both are typically open-ended to some extent

Both are not subject to planning in most situations

Both mostly feel very miserable

To reduce the risk of getting infected some kind of prevention strategy is always a good advise

It is better to cure the cause not the symptoms. Thus, be aware of all interdependencies and follow a holistic approach

Viruses are a problem in both worlds

Healthcare never ends – it is important in the whole lifecyle

Learning from failure is recommended to avoid similar problems in the future

Prevention is always better (i.e, cheaper) than healing

Most software architectures I know are not in a good and healthy shape - at least in some intermediate phases. Why? Because they were not devleoped with the aforementioned bullet list in mind. Thus, health monitoring (i.e, reviews) and treatments (i.e., refactoring) should be an essential tool in the architect’s framework.

2 Comments:

I loved your blog on the "sick" architecture. I just finished taking antibiotics myself, I had an "inner" connections to the points you made and it was really spot on. I had a little time to think about it so I added a few points I thought of for your amusement:

1. It is preferred to have periodic exams rather than treating when the problem comes up to the surface.2. The younger you are the faster you recover from surgeryConstant changes (climate for humans and requirements for architecture) usually have negative impact on health.3. You don’t have to see the expert every time you sneeze but if you let its go for too long things can get complicated4. Sometimes when it hurts it might be too late for a surgery5. For Architecture and health, when you are overmedicate the results could be fatal

About

If you are a software engineer: DON'T PANIC!
This blog is my place to beam thoughts on the universe of Software Architecture right to your screen. On my infinite mission to boldly go where (almost) no one has gone before I will provide in-depth coverage of architectural topics, personal opinions, humor, philosophical discussions, interesting news and technology evaluations.
(c) Prof. Dr. Michael Stal