Architecture 2025-02-16

Considering Architecture Strategy

Understand architecture strategy as systematic policy for building and evolving systems, covering vision, principles, and scalability planning.

Read in: ja
Considering Architecture Strategy

Considering Architecture Strategy

In software development, even if you are not in a clear position like CTO or architect, there are opportunities to feel the "necessity of architecture strategy" and think about it.

This article organizes the necessity and utilization methods of architecture strategy to answer such questions.

Background and Disclaimer

There are times when I wonder, "What strategy is this plan being executed under?" or "What is strategy in the first place?"

At such times, abstract thoughts swirl in my head, but since I couldn't properly verbalize them, I decided to organize my thoughts and study on my own to summarize the content.

Since I have no experience as a CTO or architect, and little practical experience in thinking about architecture strategies, it may just be a figment of my imagination.

So, if there is anything clearly wrong, I would be happy if you could let me know quietly.

1. Introduction

Before talking about architecture strategy, let's first organize the words "architecture" and "strategy." These are concepts often used in the field of software development, but they are surprisingly ambiguous and can be perceived differently by different people.

This article will outline the following flow.

2. What is Architecture Strategy?

2.1 What is Architecture?

In software development, "architecture" refers to the overall structure and design policy of a system. Specifically, it includes elements such as:

  1. System Structure
  1. Design Principles and Patterns
  1. Consideration of Non-functional Requirements
  1. Technology Selection
  1. Development and Operation Processes

These elements are examples and are not exhaustive.

Architecture is a higher-level concept than design, indicating the "framework of the system" or "design policy." Based on that guideline, the stage of concretizing individual modules, classes, data models, etc., is "design."

2.2 What is Strategy?

Strategy refers to the major direction or plan to achieve goals. While tactics indicate "individual specific means" or "measures," strategy defines the direction of the entire organization or project from a more long-term and comprehensive perspective.

According to Good Strategy, Bad Strategy, the quality of a strategy is described as follows:

2.3 Definition of Architecture Strategy

Combining these concepts of "architecture" and "strategy" results in architecture strategy. It can be defined as "a policy or plan to systematically indicate how to build and evolve systems within an organization or project."

Specifically, it includes elements such as:

  1. Clarification of Vision and Goals
  1. Architecture Principles and Guidelines
  1. Technology Stack Selection
  1. System Scalability and Extensibility
  1. Security and Compliance
  1. Operation and Monitoring Strategy

3. Purpose and Benefits of Architecture Strategy

Formulating an architecture strategy provides the following benefits:

  1. Unification of Business and Technical Direction
  1. Suppression of Technical Debt
  1. Improvement of Development Speed and Productivity
  1. Improvement of System Quality and Stability
  1. Team Consensus

A good architecture strategy eliminates all waste in the project and supports efficient resource allocation towards achieving business goals.

4. Areas Requiring Architecture Strategy

Architecture strategy can be formulated and applied at various scopes, from team units to the entire organization.

As the scope expands, the cost of coordination and the difficulty of consensus building increase.

5. Process of Formulating Architecture Strategy

The formulation of an architecture strategy is a process to clarify "what business objectives to achieve, with what technical approach, and how to operate and govern."

Whether the architecture strategy should be formulated top-down, bottom-up, or hybrid depends on the case and varies according to the organization's culture and business situation.

Below are example steps in the process of formulating an architecture strategy.

1. Confirmation of Business Strategy and Vision

  1. Understanding Business Goals and Strategy
  1. Identification of Stakeholders

2. Understanding the Current Architecture (As-Is)

  1. Investigation of Current Systems and Architecture
  1. Extraction of Issues and Risks

3. Formulation of Architecture Principles and Direction

  1. Setting Architecture Principles
  1. Policy for General Direction and Prioritization of the Roadmap

4. Definition of the Target State (To-Be)

  1. Architecture Design
  1. Consideration of Scenarios and Use Cases
  1. Architecture Evaluation and Selection (Option Comparison)

5. Gap Analysis and Roadmap Creation

  1. Gap Analysis between As-Is and To-Be
  1. Formulation of Migration Strategy
  1. Creation of Roadmap

6. Preparation of Execution Plan

  1. Clarification of Execution Plan and Project Plan
  1. Awareness and Consensus Building within the Organization

7. Continuous Evaluation and Feedback

  1. Monitoring during Implementation and Operation Phases
  1. Regular Review of Architecture
  1. Organizational Learning and Deployment

6. Example: Architecture Strategy in HR and Labor SaaS

Here, we present a partial example of an architecture strategy assuming "HR and Labor SaaS" as a simple sample.

1. Technical Vision

"Achieve strict permission management for large-scale tenants while balancing rapid feature expansion and operational efficiency."

2. Current Analysis

  1. Existing System
  1. Problems and Challenges

3. Architecture Principles

  1. Cloud-Native Centered on GCP
  1. Single "Permission Service" Microservice
  1. Thorough Infrastructure as Code and CI/CD
  1. Standardization of Operational and Audit Logs

4. Example of Technology Stack Selection

  1. Authentication
  1. Permission Management (Authorization)
  1. Each SaaS Module
  1. Monitoring and Log Collection

5. Roadmap (Example: 3 Phases)

  1. Phase 1 (up to 3 months)
  1. Phase 2 (up to 6 months)
  1. Phase 3 (up to 12 months)

7. Skills and Knowledge Required for Consideration

The following skills and knowledge are important when considering and executing an architecture strategy.

  1. Basics of Software Design
  1. Perspective to Overlook the Entire System
  1. Understanding of Business Requirements
  1. Grasp of Technology Trends
  1. Leadership and Communication
  1. Understanding of Organizational Strategy

8. Conclusion

This article introduced what architecture strategy is, its necessity, the formulation process, and specific examples. The key points can be summarized into the following three:

  1. Long-term Perspective Connecting Business and Technology
  1. Visualizing Technical Debt and Trade-offs and Building Consensus
  1. Continuous Verification and Improvement

By clarifying the architecture strategy, the team's direction aligns, and in the long term, development efficiency, quality, and business promotion power are expected to improve significantly. It is important to judge whether a strategy is necessary according to the situation of your product or organization and adopt an appropriate approach.

9. References

Books

Blogs and Sites

Tags: Architecture Organizational Design Design System Design Architecture Strategy
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