Soren Learning

Chapter 4

Navigating Ambiguity and Managing Scope

Listen to this article

Ambiguity is not a problem to be solved before the work begins. It is the medium in which senior engineering work happens. The engineers who thrive at senior and above are the ones who can make progress without needing everything to be clear first — and who can tell the difference between useful ambiguity and ambiguity that needs to be resolved before proceeding.

The Ambiguity Spectrum

Not all unclear requirements are the same. Before doing anything else, diagnose which type of ambiguity you are dealing with:

Unclear goals. Nobody has agreed on what success looks like. This is the most dangerous kind and the most expensive to leave unresolved. Build in this state and you will likely rebuild. Before writing any code, invest heavily in getting the goal clear — even if that means a week of discovery before a line of implementation.

Unclear scope. The goal is understood but the boundaries are not. This is common and manageable. Start with a time-boxed investigation to understand the surface area, then propose a scope with explicit out-of-scope items. Get agreement on the boundary before building.

Unclear implementation. The goal and scope are clear but the technical path is not. This is the comfortable kind of ambiguity for engineers. The right approach is usually a short spike — a focused timebox to learn what you need to know — followed by a decision.

Misidentifying the type of ambiguity is a common mistake. Engineers who treat goal ambiguity as implementation ambiguity will build confidently in the wrong direction. Engineers who treat implementation ambiguity as goal ambiguity will waste time in discovery when they should be building.

Where to Start

When faced with unclear requirements, the temptation is to ask for more information before proceeding. This is not always wrong, but it is often the slow path.

A faster approach: make your understanding explicit and share it. Write down what you think the goal is, what you think the scope is, and what you plan to build. Share that with your PM and stakeholders before you build it. This is not a design document — it is a two-paragraph email or Slack message that says "Here is my understanding, tell me if I'm wrong."

This approach does several things simultaneously:

  • It forces you to articulate your understanding, which often reveals gaps you had not noticed
  • It gives stakeholders an easy surface to correct rather than asking them to generate from scratch
  • It moves faster than waiting for perfect requirements, because you are working from a hypothesis rather than a question

The hypothesis approach: rather than asking "what should I build?", say "I think I should build X because of Y — does that sound right?" This converts an open-ended question into a yes/no correction, which is much faster to answer.

Calibrating "Good Enough"

Senior engineers have to answer the question "how much is enough?" constantly. The answer depends on what the stakes are, not on what their aesthetic preferences are.

A useful heuristic: ask what breaks if this is not perfect. If the answer is "a critical user path fails in production," then near-perfect matters. If the answer is "an internal dashboard shows slightly stale data," then good enough is actually good enough.

The failure mode is applying the same standard to every decision. Engineers who need everything to be right in the same way spend time on low-stakes correctness while high-stakes things get insufficient attention. Calibrate the standard to the stakes.

Managing Scope: The Cost of Yes

Every yes to additional scope is a no to something else. This sounds obvious. Most scope decisions are not made as if it were true.

The conversation that needs to happen when scope is added: "If we add this, what do we remove or defer from the current plan?" This is not intransigence. It is an honest accounting. If the answer is "nothing, we will just work harder," that is not a trade-off analysis — it is an optimistic fantasy that will resolve into a late delivery.

Senior engineers who manage scope well are the ones who make the trade-offs explicit. Not "I can't do this" — "If we add this, here are the three options for what we adjust: we defer feature X, we reduce the scope of Y, or we extend the timeline by two weeks. Which would you prefer?"

This framing keeps the conversation focused on the actual decision rather than on whether you are capable of delivering. It also puts the trade-off in the hands of the person who should make it.

Saying No Constructively

There are wrong ways to say no to scope. "That's out of scope" is one of them. It ends the conversation without explaining why, and it often sounds defensive or territorial.

More effective alternatives:

The conditional yes. "I can do that, but it will push the current delivery by two weeks. Do you want to make that trade?" This is not refusing — it is making the cost visible and asking for a decision.

The redirected yes. "I can't do this in the current sprint, but if we plan for it in the next one, I can scope it properly and build it correctly." This says no to now while keeping the door open to later.

The honest explanation. "This would require rearchitecting the session layer, which is a two-week project on its own. I'd recommend we file it as a separate piece of work and scope it independently." This is not a no — it is a reframe that gives the request its proper weight.

What all of these have in common: they treat the request as legitimate while being honest about its real cost. The engineer who says "that's out of scope" without explanation often comes across as protecting their schedule. The engineer who names the cost and offers a path forward comes across as competent and collaborative.

The Practical Move This Week

For the next unclear requirement that comes your way: write a two-paragraph hypothesis document before asking a single clarifying question. What do you think the goal is? What do you think you should build? Share it and see what corrections come back.


Next: the skills that multiply impact beyond your immediate team — influencing across organizational boundaries and making your relationship with your manager genuinely productive.