How Agile and Waterfall Shape Sustainable Software Architecture
This article compares waterfall and agile approaches to software architecture, examining the architect's role, time span, deliverables, and documentation practices, and offers practical guidance for building sustainable, adaptable system designs in modern development environments.
Software architecture defines the skeleton of a system, guiding behavior under functional and non‑functional requirements.
The article compares traditional waterfall architecture with agile‑driven architecture, reviewing the author’s experience and highlighting three aspects: the role of architecture, its time span, and its deliverables.
What is software architecture?
According to IEEE, it is the basic organization of a system, its components, their relationships, and the relationship with the environment, providing guiding principles for design and evolution.
Waterfall software architecture
Waterfall development consists of sequential phases with fixed start and end dates; architecture work typically starts after requirements are fixed. The architect, often a senior developer, focuses on big‑picture vision, compliance, blueprint creation, and rarely participates in coding.
Real‑world pain
In a multi‑year project for a major brewery using waterfall, the architect left early, leading to spaghetti code and a failed project.
Agile software architecture
Agile treats architecture as a continuous activity, allowing iterative changes within sprints (e.g., Scrum sprints of 2‑4 weeks). The Scrum roles (product owner, Scrum master, development team) are described, and several ways to embed architects in agile teams are discussed, including a dedicated architect team serving multiple development teams or placing an architect within each team.
Changes in the architect’s responsibilities
Balancing current work with the long‑term vision.
Hands‑on development experience.
Prototyping for informed decisions.
Focusing on sustainability.
Sharing architect resources across teams may require an independent architect team, but embedding architects in development teams often yields better collaboration.
Time span of agile architecture
Agile may start with a “sprint #0” for initial decisions, but teams should avoid extending it indefinitely; architecture evolves throughout the project.
Control principles
Keep It Simple, Stupid (KISS)
You Aren’t Gonna Need It (YAGNI)
Decisions should be made when responsibility is highest, not at the last minute.
Documentation
Instead of heavy upfront documentation, agile teams document incrementally, using whiteboards, sticky notes, wikis, or lightweight diagrams. Tools like Visio or draw.io can recreate whiteboard sketches for consistency.
In summary, sustainable software architecture balances the long‑term vision with current development, embraces iterative decisions, and uses lightweight, continuously updated documentation to support evolving systems.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
21CTO
21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
