Wednesday, April 6, 2011

(My) System architecture principles

I recently had cause to be explicit about the principles of systems architecture that I think are important.  These are very personal, meaning these have worked for me in the past when architecting a system.  I thought I would share them here, in a series of blog posts, for all the world to see.  These influence how I think about systems, how I design them, how I critically judge systems, and the guidelines I use to evolve an existing system.  I would welcome any feedback on your experiences and thoughts on architecture principles.

Principle 1:   (My) Definition of Good Architecture.
Principle 2:   You can't do everything for everyone.
Principle 3:   What can go wrong will go wrong.
Principle 4:   Systems exist to solve a need.
Principle 5:   Systems exhibit emergent behavior.
Principle 6:   System design drives life cycle costs.
Principle 7:   You can't escape the laws of physics.
Principle 8:   Beware of software.

No comments:

Post a Comment