develpreneur podcast

The Rosetta Stone Pattern – A Common Format

Our new patterns include the rosetta stone.  This pattern provides a path to link disparate systems and their data formats.  It comes from the historical rosetta stone which was a multilingual text used to decipher ancient languages.  We use this as a sort of pathway to a common language for our application. The Rosetta Stone Pattern Defined Modern software often has multiple other systems that need to be integrated with.  That means we need to pass data back and forth.  The format and structure of the data we send can be challenging to map across multiple systems.  The rosetta stone pattern approaches this problem by designing a single format that all of our data will transform into or be exported... Read more

develpreneur podcast

The Worst That Can Happen – An Architectural Pattern

We continue on a series of new patterns and anti-patterns with “the worst that can happen.”  This pattern uses fear and hyperbole to help us tighten up a design.  We imagine what can go wrong and use that as a guide for applying fixes, hooks, and exceptions.  Thus, this pattern is more a process than a pattern per se.  However, it is an important step we can take to validate and strengthen our solution. The Worst That Can Happen Pattern Defined The pattern is applied by reviewing an architectural design or component with the mindset of the worst that can happen.  Thus, we force ourselves to think outside the box and play our way through difficult scenarios.  Disaster recovery planning... Read more

develpreneur podcast

Technical Debt – Yes, That Is A Pattern

The idea of technical debt is a hot topic among software development groups.  In particular, this concept shows up in agile efforts.  While it is more a concept than a pattern, we can use this as a pattern for our design and development work.  In fact, it lines up well with the Pareto principle and pushing details off until after delivery. The Technical Debt Pattern Defined I like to think of technical debt architecture as boxes and connections that are dotted lines.  We sometimes see a whole section of functionality surrounded by a dotted line fence.  These are referred to as future features or possibly optional.  These items are, in fact, technical debt in the design.  We are assuming they... Read more

develpreneur podcast

The Cancer Pattern – One Place The C Word is Ok.

The Cancer pattern has a word we do not have a favorable view of.  However, this pattern is becoming needed in more and more environments.  This pattern is one for conversions and migrations.  We do not always have a clean slate for our architecture.  Thus, we need designs to handle the modification of an existing architecture. The Cancer Pattern Defined The way Cancer evolves is that it replaces cells with something new while leaving things functional.  This approach is how we often want to replace a system in place.  We cannot shut things down and might not be able to do a swap.  The cancer pattern is a sort of “hot swap” of a system with a new solution.  We... Read more

develpreneur podcast

Keep It Simple – A Pattern To Avoid Complexity

We return to pick up a couple of new patterns.  In this episode, we look at the keep it simple pattern and how to apply it to architecture.  It is a pattern that we often overlook.  However, it is an essential piece of many successful solutions.  It is the heart of our desire to break complex things down into small pieces we can tackle. The Keep It Simple Pattern Defined We run into this pattern, or mentions of it, in many areas of life.  Software architecture is no exception.  When we face a decision to build a complex solution or a simpler one, we want to choose simplicity.  Yes, complex solutions can be fun to tackle and impressive.  However, they... Read more

develpreneur podcast

Misdirection Anti-Pattern : Solving The Wrong Problem

We looked at an incorrect focus based on faulty data analysis in our prior episode.  This time we explore solving the wrong problem with the misdirection anti-pattern.  While this situation can arise from the data bigotry anti-pattern, it is often a failure to grasp requirements fully.  It is a problem that comes from improper focus and lack of communication.  Those are two prevalent weaknesses in a project that lead to challenges and even failure. The Misdirection Anti-Pattern Defined This anti-pattern is simply defined.  We are not solving the correct problem.  Yes, there is a  problem described, and it might even be correctly addressed.  However, it is a red herring of sorts and not what we need to solve to make... Read more