Posted by mikeb on February 7, 2014
This came from my personal notes several years ago and I found it while cleaning my shelf off just before Christmas. I put it here as a draft to remember as I still find it to be a good point. Just wish I could remember where I first saw it as I’m sure there is other good information there and attribute appropriately.
Regardless, this is great advice when you are working on solutions for your system(s) solutions for your business or your business partners.
What is an effective architecture?:
- Provides stable foundation and integrity for the growing system(s), enabling desired system qualities for the business solutions.
- Ensures seamless and consistent integration, well defined interfaces and interaction between subsystems, external systems and operational environment.
- Supports emerging abstractions, key system elements and frameworks for conceptual integrity, efficiency and reuse.
What defines an effective architect?:
- Guards a system against failure, sensing worrying changes in the project dynamic, system and business requests.
- Keeps the trinity of system qualities in balance and prevent degradation and Shannon entropy (least you want O’Brien’s Law to reign):
- Firmitas (Strength) – the system is reliable, secure, has good performance and easy to support
- Utilitas (Utility) – the system is usable, meets business needs and adds business value every day
- Venustas (Beauty) – system structure is clean, easy to understand, and minimal
- Encourages constant improving of the design, enhancing system abstractions and structure, removing duplication, defining boundaries and interfaces of the subsystems.
- Keeps solutions as simple as possible, maintains intellectual control over system and avoids over-engineering.
- Most important – grows and coaches others to become architects