Architecture 2026-02-05

Good Architecture Strategy, Bad Architecture Strategy

Exploring the differences between effective and ineffective architecture strategies.

Read in: ja
Good Architecture Strategy, Bad Architecture Strategy

Even when an architecture strategy is written, it may not function effectively. It can become a mere formality or fail to be executed.

This article organizes the differences between good and bad strategies.

Key Points of a Good Strategy

A good strategy consists of three elements: problem analysis, policy, and measures. This is an interpretation of the "kernel" defined in Good Strategy, Bad Strategy in the context of architecture strategy.

With these three elements, it becomes clear what needs to be done, allowing for optimal resource allocation. It enables focus and concentration in various decision-making processes, such as determining priorities, choosing methods, defining scope, selecting technologies, designing organizations, allocating personnel, and budgeting.

Characteristics of a Bad Strategy

Conversely, a bad strategy has the following characteristics:

These can be said to be states where one or more of the three elements of problem analysis, policy, and measures are missing.

Causes of a Bad Strategy

Importance of Problem Analysis in Strategy

Among the three elements of a good strategy, problem analysis is the most important. Since policy and measures are derived from the results of problem analysis, if this is wrong, everything else will be wrong.

Things to be aware of in problem analysis:

Ask the Right Questions

Instead of "How to transition to microservices," ask "Why does it take so long to change the system?" Avoid starting with the means. Starting with the means can prevent verification of whether the means are truly necessary, potentially overlooking fundamental issues.

Example: Proceeding with microservices from the start, but the actual problem was the complexity of dependencies between modules. Even after splitting services, dependencies were not resolved, and only the complexity of the distributed system increased.

Structure the Issues

Distinguish between superficial symptoms and root causes, and organize the relationships between issues. Addressing superficial symptoms will lead to recurrence if root causes remain. Also, if the relationships between issues are not visible, it is impossible to correctly judge priorities.

Example: In response to the symptom "Deployment takes time," investigating the causes revealed multiple factors such as "unstable tests," "inefficient CI pipeline," and "monolithic requiring full builds." By organizing these relationships, it becomes clear where to start.

Identify Fundamental Issues

Do not try to address everything, but identify the most impactful issues. Resources are limited, and trying to address everything leads to dispersion and half-hearted results.

Example: Multiple issues such as "performance problems," "technical debt," "scalability," and "developer experience" were raised. By evaluating the impact on the business and the difficulty of addressing them, it was decided to focus on performance issues first.

Examples of Good and Bad Strategies

Even with the same theme, the quality of a strategy can change significantly depending on how it is written. Below are before and after examples.

Example of a Bad Strategy (Before)

Strategy: Transition to Microservices

We will move away from a monolithic architecture and transition to a microservices architecture. This will improve scalability and development efficiency, enhancing competitiveness.

Example of a Good Strategy (After)

Strategy: Improve Delivery Speed

Problem Analysis

Currently, it takes an average of 4 weeks to release a feature. The main causes are as follows:

The most significant impact is from module dependencies, which also affect the other two causes.

Policy

Aim to reduce module dependencies and enable teams to make changes and deploy independently.

What to do:

What not to do:

Measures

Conclusion

A good strategy consists of the three elements of problem analysis, policy, and measures. With these three elements, it becomes clear what needs to be done, allowing for optimal resource allocation.

A bad strategy lacks these elements. Causes include insufficient problem analysis, avoiding difficult decisions, and confusing goals with strategy.

Problem analysis is particularly important. Ask the right questions, structure the issues, and identify fundamental issues. If this is wrong, both policy and measures will proceed in the wrong direction.

Tags: Architecture Strategy Architecture Design
Share: 𝕏 Post Facebook Hatena
✏️ View source / Discuss on GitHub
☕ Support

If you enjoy this blog, consider supporting it. Every bit helps keep it running!


Related Articles