Article

Why good software teams argue before they build.

AuthorShalini MirchandaniHuman Resources
CategoryTeam Culture
Reading time2 min read
Last reviewedAugust 10, 2026
Topics
Engineering cultureTeam collaborationArchitecture decisionsProduct developmentTechnical leadership
Five people marking up a floor plan set in still-wet concrete, with a building being demolished in the background Shalini Mirchandani, Human Resources at Script Lanes

Teams that never disagree are not necessarily aligned. Sometimes they are just finding the disagreement later — in production, where changing direction costs far more.

Healthy disagreement is a risk-reduction tool.

Agreement can be suspiciously cheap

Early requirements sound simple because nobody has said their assumptions out loud. ‘Add team permissions’ can mean three fixed roles, or a policy engine anyone can configure. ‘Make search faster’ can mean indexing, better ranking, or simply fewer clicks.

If everyone says yes before the choices are on the table, the alignment may be an illusion.

Argue about the expensive decisions

Not every detail deserves a debate. Save the disagreement for decisions that are expensive to undo: the data model, outside dependencies, security boundaries, the main user journeys, platform choices and what you have promised to deliver.

Make reversible decisions quickly and irreversible ones deliberately.

Two platforms across a gap: one built from hinged doors and swappable puzzle pieces, the other bolted shut behind a vault door
Spend debate where reversal is expensive.

Use evidence, not hierarchy

The loudest person, or the most senior one, should not win a technical argument by default. Bring constraints, a prototype, something a user said, what broke last time, a cost, or a small experiment.

A five-hour spike — a rough throwaway build that answers one question — can settle a week-long opinion battle.

Two dark speech bubbles colliding while a small red machine on a track pushes between them and throws a beam of light
A small experiment can end a large argument.

Separate the idea from the person

Healthy teams can say ‘this approach is risky’ without saying ‘you are bad at your job.’ Leaders set that tone by inviting challenge and changing their own minds visibly when the evidence changes.

Psychological safety is not the absence of disagreement. It is knowing that disagreeing will not be held against you later.

Document the decision after the argument

Once the team decides, write down why: what else was considered, the trade-offs that mattered, and what would make you revisit it.

That prevents the same argument from respawning six months later with a completely new cast.

Disagree early, commit after

Debate has to end. Chasing total consensus does as much damage as silent agreement. Once whoever owns the decision has enough to go on, they choose, write down why, and the team builds it.

A team that can argue clearly and then move together is faster than one that avoids the conflict until the code is already written.

The goal is cheaper learning

The point of arguing is not to win. It is to get the hidden assumptions out while changing a diagram is still cheaper than changing production.

Good teams argue early because they care about shipping together later.

Found this useful? Build with us.

Tell us what you have in mind. Within 48 hours you'll hear back with an honest plan, clear pricing, and friendly, straight answers.

Start a projectStart a project