How to Use Slider Bars to Make Software Architecture Decisions


Today, I’ll teach you how to leverage The Slider Bar Principle to make better software architecture decisions.

The Slider Bar Principle teaches us that most software architecture decisions are fuzzy rather than binary. That is, the possible choices lie along a spectrum.

Understanding this principle is critical, but it’s only the first step. Using it to guide your decision-making process is the only way it can positively impact your team’s outcomes.

Unfortunately, most teams get caught in the trap of binary decision-making.

And they go looking for villains and heroes.

Recognize any of these false dichotomies?

  • Monoliths vs. Microservices
  • SQL vs. NoSQL
  • Public Cloud vs. Private Cloud

Write a tweet painting one as the villain and the other as the hero and watch the engagement roll in. But we’re here to write software, not build our brand.

Here’s how to start “slider barring” your decisions tomorrow:

Step 1: Identify the Architectural Characteristics You Care About Most

Things like modularity, resiliency, scalability, security, etc. While there are dozens of characteristics, our success is usually driven by a few. Pick the ones that matter most.

Step 2: Pick the Characteristic You Want To Vary

To have a slider bar, we need a characteristic we can slide. For this discussion, let’s choose modularity.

Step 3: Identify the Extremes and Waypoints

Identifying the extremes is the easiest part. For modularity, the obvious choices are monoliths and microservices.

Waypoints are “steps along the way.” Start with a monolith, and identify a choice that is one step closer to microservices.

Step 4: Profile Each Waypoint’s Impact

Examine the other characteristics you identified in Step 1. How are they impacted each time you slide the bar one waypoint?

Step 5: Choose the Optimal Waypoint for Your Context

In most situations, one waypoint’s profile will jump out as the best choice. Now, not only have you made the best possible decision, but you’ve also assembled the elements necessary to communicate that decision effectively.