It is time to wrap up the season of software architecture from scratch.  We have covered a broad range of topics and now are able to look over them as a whole.  There are common themes across the various areas that point us to software architecture best practices.  Here are a few core concepts we should take from this season.

Clarity is Key

We have to communicate our results.  These deliverables are essential in making our work valuable.  Think about it, even the best architectural design is useless if it can not be implemented.  When we fail to properly communicate our ideas, we reduce the likelihood of successful implementation.  Therefore, pay attention to the details and note them in your deliverables. 

Likewise, provide some reasoning behind your decisions.  A sort of historical record of your thought processes is invaluable to future architects.  The world is constantly changing.  Therefore, your architecture will be reviewed with an eye towards what needs to change.  Your notes and “color commentary” can help speed the review by those down the road.

Validate The Architecture

A common newbie mistake is to build an architecture from an “ivory tower.”  Thus, the result is an academic masterpiece.  However, it is not viable in the real world.  We all know of concepts that look good on paper, but pale when we move into implementation.  Every bit of the architecture that fails to be viable will reduce the faith in all of the work.  It is best to avoid these confidence killers and instead validate your assumptions where possible.  Yes, this may require a proof-of-concept or similar demo.  On the other hand, your comfort in your assumptions will be worth the effort.

A Place For Everything

We sometimes get carried away with our architecture.  This situation is particularly common when requirements change while we are working through architectural tasks.  We may create a piece that is not needed or may forget to connect together some of the pieces.  That means we need to do a final review of our architecture against the requirements before we wrap it up.  Even a short amount of time can highlight blatant gaps we left in our design amongst the hectic schedule of changes.  Sometimes the software architecture best practices amount to simply checking our work.

 

Rob Broadhead

Rob is a founder of, and frequent contributor to, Develpreneur. This includes the Building Better Developers podcast. He is also a lifetime learner as a developer, designer, and manager of software solutions. Rob is the founder of RB Consulting and has managed to author a book about his family experiences and a few about becoming a better developer. In his free time, he stays busy raising five children (although they have grown into adults). When he has a chance to breathe, he is on the ice playing hockey to relax or working on his ballroom dance skills.

Leave a Reply