Fundamentals 17 min read

Is Good Architecture Designed or Evolved? Insights from Senior Software Architects

The article explores whether effective software architecture stems from upfront design or gradual evolution, presenting viewpoints from senior architects, discussing stakeholder concerns, non‑functional requirements, real‑world evolution cases like 58.com and Google, and urging readers to share their own conclusions.

Qunar Tech Salon
Qunar Tech Salon
Qunar Tech Salon
Is Good Architecture Designed or Evolved? Insights from Senior Software Architects

There is an ongoing debate about whether good architecture is the result of deliberate design or natural evolution; this article does not aim to provide a universal answer but rather to stimulate discussion by presenting contrasting perspectives.

1. How Senior Architects View Architecture

Author Yang Bo, Chief Architect at LVMH China, defines architecture as discovering stakeholders and addressing their concerns, echoing the book “Software Systems Architecture: Using Viewpoints and Perspectives to Collaborate with Stakeholders.”

Key points from the book include:

Every system has an architecture.

Architecture consists of elements and their relationships.

Systems are built to satisfy stakeholder needs.

Stakeholders have concerns.

Architecture is described by documentation.

Documentation presents multiple viewpoints.

Each viewpoint addresses specific stakeholder concerns.

The architect’s primary task is to identify all stakeholders—business, product, customers, engineering, operations, etc.—and understand their concerns to design solutions that balance conflicting needs such as manageability versus performance.

Architecture also focuses on non‑functional requirements (the “‑abilities”).

“Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change.” – Grady Booch

The goal is to manage complexity, changeability, and uncertainty so that parts of the architecture can evolve without causing unnecessary negative impact on the rest of the system.

2. How Architects View Application Architecture Evolution

Author Wang Qingyou, former Chief Architect at 1hao Shop, likens software evolution to human societal development: monolithic → distributed → SOA → micro‑kernel SOA, each stage reflecting increasing business complexity.

He explains how business architecture drives application architecture, which in turn relies on technology architecture, and how companies progress from simple internal MIS to complex, modular, and highly automated systems.

3. Viewpoint 1 – Good Architecture Evolves

Author Shen Jian, Chairman of 58.com Technical Committee, shares the evolution of 58.com from a tiny “ALL‑IN‑ONE” monolith on Windows/IIS/SQL Server/C# to a multi‑tier, distributed, cache‑enabled, and eventually highly automated architecture as traffic grew from tens of thousands to millions of requests per second.

Key evolution stages described:

Initial single‑machine setup.

Adoption of LAMP for rapid early development.

Scaling to multiple machines with read/write separation and master‑slave replication.

Transition from Windows to Java stack for performance and cost reasons.

Introduction of caching, vertical splitting, configuration centers, and automation to handle “spider‑web” complexity.

4. Viewpoint 2 – Good Architecture Needs Careful Design

Author Qie Xiaohu (Tiger), former Global R&D Director at Google, argues that architecture follows a cycle of design → evolution → redesign, using Google AdWords as an example.

He describes early two‑layer architecture, subsequent sharding by customer and keyword, addition of cache layers, geographic redundancy with dual primary data centers, and the development of custom pub‑sub mechanisms to achieve low‑latency data propagation.

He emphasizes that no single general‑purpose solution fits all cases; each evolution is driven by specific business and technical challenges.

5. Your Opinion?

The article concludes by inviting readers to share their own answers to whether good architecture is designed or evolved.

architecturescalabilitysystem designsoftware designevolutionstakeholder
Qunar Tech Salon
Written by

Qunar Tech Salon

Qunar Tech Salon is a learning and exchange platform for Qunar engineers and industry peers. We share cutting-edge technology trends and topics, providing a free platform for mid-to-senior technical professionals to exchange and learn.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.