O'Reilly logo

97 Things Every Software Architect Should Know by Richard Monson-Haefel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 62. Make Sure the Simple Stuff Is Simple

Chad LaVigne is a solutions architect and technical hired gun for Baltimore-based TEKSystems, Inc. He works primarily in the Minneapolis area designing and implementing solutions utilizing Enterprise Java technologies.

Chad LaVigne
image with no caption

SOFTWARE ARCHITECTS SOLVE a lot of very difficult problems but we also solve some relatively easy ones. What we don’t want to do is apply a complicated solution to an easy problem. As obvious as that advice sounds, it can be hard follow. People who design software are smart—really smart. The simple problem-complex solution trap can be an easy one to fall into because we like to demonstrate our knowledge. If you find yourself designing a solution so clever that it may become self-aware, stop and think. Does the solution fit the problem? If the answer is no, reconsider your design options. Keep the simple stuff simple. You’ll get plenty of chances to showcase your talent when the difficult problems arise, and they will.

This doesn’t mean that we shouldn’t implement elegant solutions. It means that if we’re tasked with designing a system that only needs to support selling one type of SKU-based widget, it’s probably a bad idea to design for hierarchies of dynamically configurable products.

The cost incurred by a complicated solution may seem small, but chances are that it’s larger than you’re giving it credit for. ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required