Your Architecture Starts To Be Sub-Optimal If:
- There are lot of experts involved, but no one is really excited.
- You are talking for more than one day about concepts and architectures, without a single Proof Of Concept or even discussing some code.
- You are just selling the features - without explaining the consequences.
- Your are starting with a multi-layer architecture without highlighting the "added value" of each layer and its individual responsibilities
- You are searching for the "silver bullet" architecture, with that all already known and even future requirements can be fulfilled.
- You are trying to identify hotspots and shortcomings in advance with ...UML.
- There is no clear vision defined - there is no clear relation between the vision and the resulting architecture.
- The is no secondary strategy - you have only one "master plan"
- You are thinking in pictures - not in code. You are believing, that pictures are more valuable, than code.
- The architect believes, that he can be smarter / have more experience than his whole development team.
Another awesome entry, Adam... I personally like the number 3 and 9.
Posted by Talip Ozturk on December 02, 2008 at 06:35 PM CET #
That made my day.
It is sometimes refreshing to read the known truth.
Posted by Thomas on December 03, 2008 at 05:19 PM CET #
Thank you for these clear words :-)
Posted by Frank Caputo on December 03, 2008 at 05:31 PM CET #
I want to add some known topics:
11. You'll never achieve a long lasting systemarchitecture by just starting to code
12. If you're only allowing a certain degree of freedom only by refactoring, your managment/sponsor will "love" you
13. You'll never convience your (project) management by code.
Posted by Dirk on December 04, 2008 at 11:46 AM CET #
seems you lost at least one big fan with this post.
On the other hand you made some people feel good by sharing and publishing their thoughts.
Note to all whom it may concern:
One needs to accept that there is no "long lasting systemarchitecture" known prior to solving at least some of the problems.
Read "solving" as in getting your hands dirty while actually *doing* things, not talking.
One also need to accept that the developers do not need to "convince" someone, not even their own management.
Adam, I owe you a big cookie!
Posted by Guido Goldstein on December 04, 2008 at 02:46 PM CET #
"11. You'll never achieve a long lasting systemarchitecture by just starting to code "
Absolutely not. But a few days (at most) for conceptual work should be enough. After that, you should start to code and proof the theory with spikes and POCs.
"12. If you're only allowing a certain degree of freedom only by refactoring, your managment/sponsor will "love" you"
This is true - clear decisions are important. But they should be backed by code, not slides.
"13. You'll never convience your (project) management by code."
This is true - I do it with slides either :). But I use the slides ONLY to convince the management and not to explain the architecture to the developers. Code (in my opinion) is always better suitable...
I have to talk to your management :-),
thanks for the interesting thoughts!,
Posted by Adam Bien on December 08, 2008 at 05:50 PM CET #
thank you - looking forward to the cookie. It wasn't my intention to offend someone with my posts - I use my blog just as notepad to keep my ideas in a central place.
Posted by Adam Bien on December 08, 2008 at 05:54 PM CET #