Sunday, February 13, 2011

Random Thoughts on Software Design and Architecture


While discussing with my fellow architects and designers, I realized some of us are infected by disease of too much analysis and drive for perfection. This excessive analysis and perfectionist behavior lead to complicated software which can be simpler.

I have summarized my thoughts on this topic in few sentences:

Most of the software to be architected and designed for happy path, and exception paths not for the disaster paths. For disasters one should have disaster recovery plan which must be separate from core software. Software design should strive to bypass the disaster not to handle it.
It is also true that there are some mission critical systems which must try to handle disaster up to an extent. Some of the examples of such systems are space craft, missile, aircraft, etc.

Good Enough is Good.

No comments:

Post a Comment