Leer en español · Lire en français · Auf Deutsch lesen
Chapter 1 of 12 · Beginner to intermediate
What Software Architecture Is
This chapter explains what software architecture is and why it matters. It compares the standard definitions, separates architecture from design, shows through real incidents how structural decisions drive cost, quality and risk, and describes what architects do. It then covers stakeholders and their concerns, decisions and trade-offs, technical debt and erosion, and where architecture fits in modern iterative delivery. It is written for developers moving towards architectural responsibility and for anyone who works with architects, and it assumes only the building blocks from Chapter 0.
Video introduction to Chapter 1
6 min · narrated, with captionsListen only (audio)
Read the transcript
Welcome to Chapter 1: What Software Architecture Is. Chapter zero gave you the building blocks. This chapter steps back and asks what it means to arrange those blocks deliberately, who does it, and why it is worth the effort. It gives you the vocabulary the rest of the course depends on, and a way of thinking you can apply to any system, from a small booking app to a national payments platform.
Every software system has an architecture, whether anyone designed it or not. It is the set of fundamental structures that make up the system, and the significant decisions that produced them. Those structures decide far more than most people realise: how fast and reliable the system is, how much it costs to run, and how many teams can work on it at once. Above all, they decide how expensive the system will be to change next year. Features are what a system does. Architecture largely decides how well it does them, and what it costs to do something different.
This chapter is written for developers who are moving towards architectural responsibility. It is also for anyone who works with architects and wants to understand what they do, and why. It builds on the building blocks from Chapter zero: components, data stores, networks and APIs. If you are comfortable with those, you are ready. And it leads into Chapter 2, which takes the goals of an architecture and makes them precise and measurable, as quality attributes.
The chapter has eight sections. Section one point one compares the definitions that matter, from the international standard and from the Software Engineering Institute, or SEI, to practitioners who stress shared understanding and decisions that are expensive to change. Section one point two tackles the most common confusion: where architecture ends and design begins. The answer is that there is no wall, only a continuum ordered by significance. Section one point three makes the case for caring, grounded in three real cases: the Knight Capital trading loss of twenty twelve, the troubled HealthCare dot gov launch of twenty thirteen, and a twenty twenty-three change at Amazon Prime Video.
This diagram from Section one point one shows the ideas the definitions share, using a food-delivery system. The dashed line is the system's boundary. The boxes inside it are elements: a mobile app, an order service, an orders database, a courier service and a payment module. The arrows are relations. The app calls the order service over HTTPS. The order service queries the database with SQL, and sends an event to the courier service. Small labels record properties. The order service, for example, is stateless, with three copies running. Outside the boundary is the environment: the customers, couriers and restaurants, and the card payment provider. And the environment is more than other systems. It also includes law, budget, the organisation and its teams, and the cloud platform. You cannot understand an architecture without them.
Section one point four looks at the people: what architects actually do, the different kinds of architect, why architecture is a role before it is a job title, and the long-running debate about whether architects should still write code. Section one point five widens the lens to stakeholders, everyone with an interest in the system, from users and developers to regulators. It shows how conflicting concerns are made explicit, rather than settled by whoever shouts loudest. Section one point six turns to decisions and trade-offs: what a good decision contains, which decisions can easily be reversed and which cannot, and the idea of deciding at the last responsible moment.
The last two sections are about time. Section one point seven explains technical debt as Ward Cunningham originally meant it, how it differs from mere mess, and how architectures erode and drift away from their intended shape. Section one point eight places architecture in the delivery lifecycle, between big design up front and purely emergent design, and shows a practical middle ground: just enough architecture, at the right time, checked continually.
This diagram from Section one point two shows how to tell architecture from design. Decisions towards the left are more architectural; towards the right, more a matter of design and code. The first test is the cost of reversing a decision: months of work for many teams at one end, minutes for one person at the other. The second is scope of impact: the whole system or organisation, or just one function or class. The third is the effect on key qualities. The dots place one real decision, the choice of message format, on each line, and on all three it leans towards the architectural end.
If you remember one thing from this chapter, make it this. Architecture is the set of decisions that are expensive to get wrong. The architect's job is to identify those decisions, make them deliberately with the right people, record why, and keep them under review, while making as many other decisions as possible cheap to change. The rest of the course applies that idea.
You can read the sections in order, which is best if the ideas are new, or dip into the ones you need. The whole chapter takes about two and a half hours to read. Each section ends with a few self-check questions. Try to answer them in your head before you look, so you can see what has stuck. When you are ready, there is an optional chapter test, with twenty multiple-choice questions and two written answers. Allow about forty five minutes. The pass mark is eighty per cent, the same as for every chapter test in the course.
That is the map of Chapter 1. Begin with Section one point one, where we compare the standard definitions of software architecture and find what they have in common. See you there.
At a glance
You will learn to
- Explain the ISO/IEC/IEEE 42010:2022 and SEI definitions of software architecture and the ideas they share.
- Distinguish module, component-and-connector and allocation structures, and an architecture from its description.
- Classify decisions as architectural or design using reversibility, scope and effect on quality attributes.
- Analyse how structural decisions contributed to real incidents such as Knight Capital and HealthCare.gov.
- Describe the responsibilities, skills and kinds of architect, and how architects stay hands-on.
- Identify stakeholders and their concerns, and make conflicting concerns explicit.
- Evaluate architectural decisions as trade-offs, considering reversibility and timing.
- Explain technical debt, erosion and drift, and how to detect and manage them across the lifecycle.
Before you start
Chapter 0, or a working knowledge of components, databases, APIs, networks and the cloud.
Time
About 2½ hours to read; 45 minutes for the test.
Key terms
Software architecture · Architecture description · Structure · Architecturally significant · Quality attribute · Cost of change · Stakeholder · Concern · Trade-off · Reversibility · Technical debt · Architecture erosion · Fitness function · Conway's law
Why this chapter comes first
Every software system has an architecture, whether anyone designed it or not. It is the set of fundamental structures that make up the system (its main parts, how they connect and what properties they have) and the significant decisions that produced them. Those structures decide far more than most people realise: how fast and reliable the system is, how much it costs to run, how many teams can work on it at once, and, above all, how expensive it will be to change next year. Features are what a system does; architecture largely decides how well it does them and what it costs to do something different.
Chapter 0 introduced the building blocks: programs, data stores, networks, APIs, servers and the cloud. This chapter steps back and asks what it means to arrange those blocks deliberately, who does it, and why it is worth the effort. It gives you the vocabulary that the rest of the course depends on, and a way of thinking that you can apply to any system, from a small booking app to a national payments platform.
What architecture is, and what it is not
The first two sections are about definitions, because muddled definitions lead to muddled work. Section 1.1 compares the definitions that matter: the international standard ISO/IEC/IEEE 42010:2022, which speaks of the fundamental concepts or properties of a system in its environment and the principles that govern its evolution; the Software Engineering Institute's definition, which speaks of the structures needed to reason about a system, made of elements, relations and their properties; and practitioners' definitions that stress shared understanding and decisions that are expensive to change. It shows what they have in common, and introduces three kinds of structure every system has: how its code is divided, what runs and talks to what, and how software maps onto infrastructure and teams.
Section 1.2 then tackles the most common confusion: where architecture ends and design begins. The answer is that there is no wall, only a continuum ordered by significance. A decision is architecturally significant when it is costly to reverse, wide in scope or decisive for a key quality, which is why a humble convention such as how money amounts are stored can be more architectural than a large box on a diagram. The section also separates the levels at which the word is used: enterprise, solution and software architecture, with data, security and infrastructure architecture cutting across them.
Why it matters and who does it
Section 1.3 makes the case for caring. It shows how quality attributes such as availability and performance emerge from structure rather than from individual lines of code, how the cost of change grows as more is built on a decision, and how architecture shapes risk, team organisation (through Conway's law), communication and estimation. Three real cases, told from primary sources, ground the argument: the Knight Capital trading loss of August 2012, the troubled HealthCare.gov launch of October 2013, and Amazon Prime Video's 2023 decision to move one monitoring service from distributed serverless steps to a single process, which reportedly cut its cost by over 90% and illustrates that architecture is about fit, not fashion.
Section 1.4 looks at the people. It describes what architects actually do, using the eight expectations set out by Mark Richards and Neal Ford and the tasks in the iSAQB Foundation curriculum; the different kinds of architect; why architecture is a role before it is a job title; why architects value breadth of knowledge; and the long-running debate about whether architects should still write code.
Section 1.5 widens the lens to stakeholders (everyone with an interest in the system, from users and developers to operations staff, data protection officers and regulators) and their concerns, and shows how conflicting concerns are made explicit rather than settled by whoever shouts loudest. Section 1.6 turns to decisions and trade-offs: the anatomy of a good decision, the difference between decisions that can easily be reversed and those that cannot, the idea of deciding at the last responsible moment, and the cognitive traps that lead capable people astray.
Architecture over time
The last two sections are about time. Section 1.7 explains technical debt as Ward Cunningham originally meant it in 1992, how it differs from mere mess, and how architectures erode and drift away from their intended shape; it shows how to detect the damage and how to explain it in business terms. Section 1.8 places architecture in the delivery lifecycle: the old argument between big design up front and purely emergent design, and the practical middle ground of risk-driven, continuous and evolutionary architecture in which a team does just enough architecture, at the right time, and keeps checking that it still fits.
The one idea to take away
If you remember one thing from this chapter, make it this: architecture is the set of decisions that are expensive to get wrong, and the architect's job is to identify those decisions, make them deliberately with the right people, record why, and keep them under review, while making as many other decisions as possible cheap to change. Everything else in this course, from quality attributes in Chapter 2 to the design of AI-enabled systems in Chapter 12, is an application of that idea.
The 8 sections
Chapter test
Test your understanding of Chapter 1
Optional: 20 multiple-choice questions and 2 short written answers, drawn afresh from a bank of 72 questions. Pass mark 80%. Passing every chapter test, then the final assessment, earns the Be Wise Certificate of Completion.
Take the Chapter 1 test in the appFurther reading
- Software Architecture in Practice, 4th edition, Len Bass, Paul Clements and Rick Kazman (2021), Addison-Wesley. The standard textbook from the SEI: structures, quality attributes and tactics, and the definition used throughout this course.
- Fundamentals of Software Architecture, 2nd edition, Mark Richards and Neal Ford (2025), O'Reilly Media. A practical, readable introduction to the architect's role, trade-off thinking and architectural styles.
- ISO/IEC/IEEE 42010:2022 Software, systems and enterprise: Architecture description, ISO/IEC JTC 1/SC 7 and IEEE (2022), ISO. The international standard for architecture descriptions, stakeholders, concerns and views.
- Documenting Software Architectures: Views and Beyond, 2nd edition, Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord and Judith Stafford (2010), Addison-Wesley. The source of the module, component-and-connector and allocation categories of structure.
- Who Needs an Architect?, Martin Fowler (2003), IEEE Software. A short, influential essay on what architecture is and what kind of architect a team needs.
- Just Enough Software Architecture: A Risk-Driven Approach, George Fairbanks (2010), Marshall & Brainerd. Explains how much architecture work to do, driven by the risks a project actually faces.
- The Software Architect Elevator, Gregor Hohpe (2020), O'Reilly Media. On the architect's role in large organisations, connecting business strategy and technical delivery.
- The WyCash Portfolio Management System (OOPSLA '92 experience report), Ward Cunningham (1992), OOPSLA 1992. The short report in which the technical debt metaphor first appeared.