While experience is an excellent teacher, it is not a silver bullet.  Every problem we tackle is a little different.  Thus, we should follow best practices even when we think we have done this all before.  When we instead believe we can take short-cuts, we are likely to be practicing architecture by implication.

Defining the Architecture By Implication Anti-Pattern

We go with a lengthy definition this time around.  I recommend you check out the whole page for even more details about this problem. [Click Here to See The Page]

“This AntiPattern is characterized by the lack of architecture specifications for a system under development. Usually, the architects responsible for the project are experienced with previous system construction, and assume that documentation is unnecessary due to their competence and experience. This overconfidence leads to exacerbated risks in key areas affecting system success.

This is definitely an architecture level anti-pattern.  You will not even recognize it unless you have worked on multiple projects.  Fortunately, you will also not be susceptible to it.  In those case, you may make architectural mistakes, but they will be due to lack of experience, not ignoring what experience taught you.

Address Past Mistakes

Experience teaches us what to do to be successful.  However, it also shows us traps and mistakes to avoid.  If we lean only on the things that lead to success, then it is architecture by implication.  Think of it as a “gimmee” in golf or a related sport.  The implied assumption is that the task is so simple it cannot be done wrong.  The mere idea of anything in system development being this simple should have you on the floor laughing.  

I Know This

The three words above should always be a warning sign to you.  When you look at a spec or requirements and estimate based on prior knowledge, you may miss an essential factor.  Treat each task or module as unique.  You should be able to ask good questions and verify assumptions quickly.  Nevertheless, that procedure must still be completed to avoid missing a twist this latest project requires.

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