Playbook
Why Were We Repeating the Same Architecture Debate Every Sprint? (Why Were We Repeating The Same Architecture Debate Every Sprint)
The first article in the Architecture Playbook series on architectural knowledge vaporization, tribal knowledge, and decision theater inside software teams.
Architecture Playbook
Part 1 of 1
A series on software architecture, technical memory, and decision systems explained through lived delivery experience.
Why Were We Repeating the Same Architecture Debate Every Sprint?
I was working at a fast-growing technology startup in Istanbul. One lunch break, I went for a walk in the park with the team’s Senior Developer. He was enthusiastically telling me about the mobile application that would be released soon, the new modules to be added, and the investor presentations ahead.
I listened and asked a simple question: "So where is the architecture diagram? Where are we documenting these decisions?"
He looked at me and smiled. There was no plan. Forget a "Software Architecture Handbook" for the system, there was not even a rough sketch on a piece of paper. The manager going to sleep at night and waking up with a new idea in the morning was what defined our architecture that day. A customer’s instant error could throw the entire sprint into the trash. The project was not moving forward. It was just drifting in the wind. (In fact, when I later heard that they had integrated AI into that project overnight just because it had become popular, I was not surprised at all.)
While walking in that park, I understood that what destroys software projects is not "bad code." What destroys them is Architectural Knowledge Vaporization. We were making decisions, forgetting why we had made them, and then debating the same decision again 3 months later. That became the first front I declared war on as a technical leader.
The Tribal Knowledge Obsession of Traditional Companies
After seeing that chaos, my first question in every interview became: "What is your project-management process, and how do you make technical decisions?"
A few years later, I interviewed with the R&D department of a traditional manufacturing company. The manager across from me started the conversation by questioning my professionalism because I was not wearing a suit. (Even though I had already delivered critical external work for that company before. He did not even know it.)
I asked whether they used Jira, Agile practices, and technical documentation. The answer I got was the painful truth of the industry: "We tried those. They do not fit us. We just write down who will do what in a notebook during the meeting and move on."
Even if the hiring had been approved, I would have rejected that offer at that exact second. Because the architecture and fate of a project cannot be entrusted to fading ink in someone’s meeting notebook.
Decision Theater and Operational Chaos
Later, I joined a large logistics-transformation project. When I entered the system, it took me a full month just to understand who was doing what. Project management was zero. Technical memory was zero.
I immediately got to work. I brought in an Agile operating model, set up 2-week sprints, integrated Jira, and started daily stand-ups. Everything was going great. But there is a reality in the private sector: when you bring transparency and institutional memory into a system, the people whose power comes from "tribal knowledge" begin to feel threatened.
The mobbing started. They tried to take management away from me. No one was even looking at the ADR (Architecture Decision Record) outputs I had created at that time. One sprint later, a manager would come in and say, "Why did we change this database like this? No one told me!" Everything was written down, but they were not reading it. Our documentation had turned into Decision Documentation Theater.
That is when I understood this: using a tool alone is not enough. You have to inject that tool directly into the company’s OKR bloodstream.
The System That Ends Project Chaos: ADR
Today, in the infrastructure of the global e-commerce platform I lead as a Lead Developer, we run this system cleanly with a team of 6 to 7 people. When I joined that project, there was once again chaos. Issues were being opened in GitLab, but there was no answer to the question, "Why are we doing this?"
I gave the team an Agile spirit and, more importantly, mapped Michael Nygard’s ADR principles directly to annual quarter goals such as Q1, Q2, Q3, and Q4.
So what is ADR, and why does it save every engineer’s life? ADR is an immutable record that stores not only what an architectural decision is, but also why it was made and which trade-offs were accepted, right next to the code.
Today, whenever we make a decision, we record it with a simple but deadly effective template:
Context: What problem are we facing? (Example: Basket queries are exhausting the database.)
Decision: What are we doing? (Example: We will use Redis Cache.)
Alternatives Neglected: What did we eliminate? (Example: We eliminated database scale-up because of cost.)
Consequences / Trade-offs: What are we accepting? (Example: Latency will drop, but cache-invalidation complexity will be added.)
Result: We No Longer Ask "Why?"
Today, in sprint meetings or management presentations, nobody says, "Why did we do it like this?" Because under every target there is a solid ADR.
If a new developer joins the team during onboarding, we do not spend days explaining the architecture. We just hand over the ADR logs. We say, "Read our history. Understand which wars we fought and why we chose these weapons."
The secret to ending chaos is not writing fancy code. It is turning the "Why?" behind that code into an institutional inheritance. Every undocumented architectural decision is high-interest technical debt that you will be forced to pay in the future. Pay it today by recording your rationale while it is still fresh.
To my Software Architect and Tech Lead colleagues: in your projects, are decisions getting lost in a wiki desert, or are they living in the heart of the code?
Architecture Playbook Series
#1: Why Were We Repeating the Same Architecture Debate Every Sprint? (You are reading it now)
#2: The Engineering Principles a Software Architect Extracts from Experience (Next article)
FAQ
Frequently asked questions
What is "Why Were We Repeating the Same Architecture Debate Every Sprint?" about?
The first article in the Architecture Playbook series on architectural knowledge vaporization, tribal knowledge, and decision theater inside software teams.
What is the key takeaway?
The first article in the Architecture Playbook series on architectural knowledge vaporization, tribal knowledge, and decision theater inside software teams.
Who is this article for?
For engineers and technical leads who apply architecture, delivery, and production decisions.
Engineering Principles Learned
- An undocumented architectural decision is technical debt deferred into the future.
- Using a tool is not enough; the decision system must be connected to organizational goals.
- Projects are often broken not by bad code, but by evaporating architectural knowledge.
Continue reading
Continue reading
Related articles
DDD- Designing Software Around the Business, Not the Database
What is Domain-Driven Design? A guide to the limits of data-driven design, the power of ubiquitous language, and when DDD is a worthwhile investment.
Related articles
From CRUD (Create, Read, Update, Delete) to CQRS (Command Query Responsibility Segregation): The Problem Is Not Code, It Is the Model
What is CQRS, what is the difference between CRUD and CQRS, and when should CQRS be used? A guide to why one model stops being enough in larger systems.
Related articles
From a Monolithic Frontend to Next.js Multi-Zone Architecture
Why do monolithic frontend boundaries become strained in a growing marketplace? A decision record covering the alternatives, trade-offs, and production…