This is a rejoinder to Frank’s article on the same topic. He discusses 13 scenarios. I would like to point to one simple way to spot a bad architect and also how you can spot a good architect.

A bad architect will inevitably show lack of practical knowledge and use specifications and authorities to justify his statement. They are swayed by fads and lacking a grounding on reality will tend to adopt and force anything new and shiny on the poor developers. They are also the over-engineering types. The tendency to over-complicate design is a sure-fire sign of poor architects. It is easy to spot them. Jot down the points above and go to your next meeting. You will know how good your architect is.

A real architect will have a strong grounding on reality. He knows when to use any technology and when not to. He will justify with solid understandable logic when questioned and will not rely upon highfalutin words and specifications. A good architect will also choose the simplest solution that meets the requirements.

PS. I always had this nagging suspicion that UML thumping architects (this who generate reams of UML documents and almost nothing else) are most often than not bad architects. Recently I was trying to use a JSP Table component from a project which repeatedly touted its clean design and UML diagram but didn’t even have a 5 minute user guide. After honest effort to decipher the nearly non-existent documentation and doc-less javadocs I gave up and chose Ext Grid component instead. Have you seen any correlation between UML thumpers and bad architects?