Be the Dreamer of Dreams
Imagine how people feel when they work on your project. Imagine the good feelings when a system is obvious, and the right way to do things is clear. Imagine what the architecture would look like in such a system. Make it easy for people to know how to go about things. Make them feel comfortable.
Then, imagine an architecture so intimidating, so foreboding, and also simple. Imagine building a system from simple components, but in such a way that there is no obvious way for anything new to be added. Any change will break something not directly related. Sometimes no change will break things. Imagine how uncomfortable this would be.
As the architect, you make decisions that will affect the community revolving around your project for many years. In a way, the software design itself is part of the architecture. The way people come into the community and the way people leave are also part of it. A complicated architecture is difficult because the connections between the parts are blurred by the volume of noise, and many good people turn away. An architecture simple by decree is hard to work with because only things declared simple are allowed, and people feel helpless.
(More to come)
By Evan Cofsky
This work is licensed under a Creative Commons Attribution 3
Back to 97 Things Every Software Architect Should Know home page