subscribe for upcoming articles and periodical summaries of the most read ones

Random Thoughts on Leadership & Technology

Requirements - Politics in Disguise

requirements-politics

Every organization has at least one requirement that has been discussed more times than it has been implemented. It has a document. The document has version history. The version history has moods. Reasonable, well-paid adults have gathered around this requirement on four separate occasions, produced diagrams of increasing beauty, and left the room with less clarity than they arrived with, which is an impressive trick when you consider that they were all trying to help.

The usual explanation is that the requirement is unclear. It isn't. The usual remedy is more precision. It won't work. You can define the term nine ways, benchmark all three options, and produce a decision matrix so thorough it qualifies as a minor academic contribution, and the argument will still be waiting for you on Monday, well rested and slightly better dressed.

That is because the argument was never about the requirement. It was about who gets to decide, conducted in technical language, because technical language sounds like something a referee could settle and authority sounds like something you have to claim out loud in front of witnesses.

Why the costume is always technical

Technical claims arrive with the promise of adjudication. There is a benchmark, a standard, a load profile, the folk memory of an outage. Even when nobody intends to run the test, the appeal to fact implies a court, and a court implies that this will end. You might lose, but you will lose to reality, which is not humiliating.

Authority claims arrive naked. If I say the retry logic belongs in the client, I am inviting you into a disagreement with rules. If I say I am the one who decides where the retry logic goes, I am inviting you into a disagreement about me, in public, with my colleagues watching and taking notes on the kind of person I turn out to be.

So nobody does that. Nobody says "because I outrank you here." We all learned instead to say "because of latency." Latency is a wonderful thing to say. It is true, it is measurable, it is nobody's fault, and it does not require you to admit that what you actually want is for your judgment to prevail over someone else's.

This is not cynicism about your coworkers. It is the opposite. The costume exists because most people are conflict-averse and reasonably decent, and would rather have a defensible technical argument than an honest hierarchical one. The disguise is a courtesy. It is also the reason the meeting keeps happening.

What is actually being contested

Underneath the looping requirement there is usually one of a small number of questions, none of which appear on the agenda.

Whose model of the future becomes the default assumption. Who is accountable when the thing is wrong in eight months. Whose roadmap absorbs the cost of the decision. Whose team gets to be the one with taste. Whether the last reorganization actually meant what people said it meant.

Requirements attract these fights because a requirement is the smallest unit of organizational commitment. It is the point where strategy stops being a slide and becomes falsifiable, and where blame stops being ambient and becomes assignable. Anything unresolved upstream will come downstream and settle here, because here is the cheapest place to fight and the only place where the fight looks like work.

A spec, viewed this way, is a peace treaty drafted by parties who have not agreed to stop fighting. No wonder the wording is so contested.

A field guide to the tells

You can learn to spot it, usually within about ten minutes of the second meeting.

The argument resets. Every session opens from zero, as though the previous three were rehearsals. Nothing accumulates. This is the single most reliable signal, because genuine technical disagreements have memory and political ones cannot afford it.

New information produces new arguments rather than new conclusions. You bring the benchmark. Everyone congratulates you on the benchmark. The goalposts relocate with real athleticism. Data changes what people believe. It does not change what people are entitled to, so if the fight is about entitlement, your data is just ammunition being handed to both sides.

Precision goes up while agreement goes down. The fourteen-page document has less alignment in it than the original whiteboard photo did. You have not clarified anything. You have raised the stakes of the eventual surrender.

The vocabulary abstracts at exactly the moment it should concretize. Flexibility. Future-proofing. Best practice. Scalability, a word that has never in recorded history been used to describe an actual load profile. The user, invoked in the singular, like a deity, always wanting whatever the speaker wants. These are not requirements. They are requests for deference wearing a lanyard.

The cast expands. People who have never opened this repository develop sudden and passionate views. That is not curiosity. That is a coalition assembling.

Someone suggests taking it offline and it does not come back. Offline is where decision rights get settled in the dark by whoever is most comfortable being persistent.

The scope keeps growing. It started as a checkbox. It is now a platform. Scope creep in a looping debate is rarely ambition. It is one side trying to enlarge the territory until it overlaps with land they already own.

The move

Stop debating the requirement. Say the quiet part, plainly, without accusation, and preferably while looking like the most reasonable person in the building, which you now are.

Something in the neighborhood of this works.

"I think we are stuck because we are answering two questions in one sentence. One is what the system should do. The other is who decides what the system should do. I have views on the first, but I do not think we finish it until we have settled the second, so can we do the second one first."

Notice what that sentence does not do. It does not accuse anyone of playing politics, which would be both rude and hypocritical, since you are in the same game. It does not claim the decision. It does not require anyone to confess. It simply moves the real disagreement into the room, where it can be handled by adults, instead of leaving it in the walls where it will keep chewing the wiring.

People are usually relieved. That relief is the confirmation of your diagnosis. Nobody enjoys the fourth meeting. Everybody suspected. What was missing was permission to say so without seeming political, and you just supplied it by going first.

What to do once it is on the table

Surfacing the question is most of the work. Answering it has a handful of moves that reliably help.

Name the decision, not the domain. Ownership fights over "the API" are eternal, because domains are identities and nobody negotiates their identity in a Thursday meeting. "Who decides the retry semantics for payments before the end of the quarter" is a question with an answer.

Anchor rights to consequences. Whoever gets woken up at four in the morning by this decision should have unusual weight in making it. If several people share that pain, say so out loud and name a tiebreaker in advance, while everyone is still calm and pretending not to care.

Separate input from authority, explicitly. A surprising share of people fighting for decision rights only want a guarantee of being heard before the fact. Offer consultation on the record and the fight often deflates on the spot. The insult was never losing. The insult was finding out afterward.

Price reversibility. Cheap-to-undo decisions belong to whoever is closest, decided fast, revisited if wrong. Expensive ones deserve a slow, named process with a named owner. Most looping requirement debates are cheap decisions being litigated at expensive-decision cost, which is how organizations spend eleven thousand dollars of salaried attention avoiding a two-hour rollback.

Time-box and pre-commit a default. "If we have not converged by Thursday, Priya decides." A named default turns a standoff into a deadline, and deadlines are the only known cure for the fourth meeting.

Write the decision rights down next to the requirement. Rights that live in a hallway agreement will be re-litigated by the next person who joins, and they will be right to do it, because from where they stand there is nothing there.

Three ways to get this wrong

Using the meta-move as a weapon. Whoever names the decision-rights question gets first crack at framing it, and it is very tempting to ask the question and answer it in the same breath, in a tone of weary neutrality. People notice. Ask openly. Leave a real pause. If you have a claim, make it as a claim, not as an assumption smuggled in behind a diagnosis.

Diagnosing politics where there is only physics. Sometimes the argument really is about the spec. Two people who each own their side and simply read the constraint differently will converge the moment someone runs the test. The check is simple. Does new information move anybody. If yes, you are having a technical disagreement, and it is going fine, and you should let it finish instead of dragging everyone into a conversation about governance for sport.

Concluding that everything is politics and nothing is real. This is the most flattering error, because it feels like seeing through things, and it is just the same abdication in a black turtleneck. The requirement still has to be right. Latency is still real. The costume being a costume does not mean there is nobody inside it.


Politics is not the opposite of engineering. Politics is the part of engineering that runs on people, which is all of the interesting part. It got its bad name from being conducted badly and in secret, by people who insisted they were merely being rigorous. Conducted in the open, with names attached and consequences mapped, it takes about eleven minutes and then it is over.

And the reward is not winning. The reward is that the requirement becomes boring again. It goes back to being a sentence about what the system should do, argued about on the merits, decided by someone, and shipped. A requirement that is merely a requirement is a rare and beautiful thing, and you will only ever get one by first admitting, out loud, that this was never a fight about the requirement.