16 Solution Architect Anti-patterns

by John Spacey

A few common anti-patterns that every solution architect should know.

1. Re-inventing the wheel - Needlessly engineering a proprietary solution to a problem that already has a standard solution.

Example: Building your own web server.

2. Technology Proliferation - Needlessly increasing the complexity of the technology stack.

Example:The organization uses three web server products and you introduce another.

3.Over Engineering - Building complex functionality when a simple solution would suffice.

Example: Introducing a complex workflow product to handle simple approvals.

4. Under Engineering - When the architecture can not support the business requirements.

Example: A solution that can not support business volumes (performance requirements).

5. Stubborn Silo - Refusing to use common solutions without a good reason.

Example: Building point to point integrations instead of using the enterprise ESB.

6. Bleeding Edge - Using the latest hype technology before all the bugs have been worked out.

Example: Expensive hardware that is marginally faster than slightly older models.

7. Silver Bullet - When architects use a single technology for all projects.

Example: Using SOA for everything — even when there is zero chance of service reuse.

8. Ivory Tower - A highbrow or ascetically pleasing design that is not practical.

Example: Spending excessive time designing a elaborate solution to a simple problem.

9. Garden in the Desert - Building a solution on the wrong platform.

Example: Building a complex business application with office productivity software.

10. Vendor Lock-in - Building too much functionality on a proprietary platform.

Example: Using one large vendor for all your systems.

11. Gold Plating - Adding bells and whistles to a system that don't add value.

Example: Optimizing a mobile website for devices that few of your customers own.

12. Politics Oriented Architecture - Allowing office politics to interfere with design decisions.

Example: The CRM has the data you need but your boss has a bad relationship with the CRM team — so you get the data from some downstream system that has stale data.

13. Path Of Least Resistance - A lazy architecture that fails to plan for change — choosing the cheapest implementation.

Example: Choosing point to point integration over ESB because it is easier.

14. Over the Head - Ignoring requirements that the architect fails to understand — assuming they have no impact.

Example: Business requirements specify compliance with a set of regulations — architects ignore the requirement because they don't understand it.

15.Perception Mismanagement - When the solution architect makes promises and then can't deliver.

Example: Promising real time calculations that are almost impossible to calculate in real time.

16. Pattern Happy - Overuse of patterns.

Example: Designs that have factories that do nothing.