Back to General STAR Scenarios
Q9Question 9 of 10

Saying NO to a Feature Request or Stakeholder: how did you communicate it?

Key Concepts
  • A good no is backed by clear reasoning and a better alternative.
  • Understand the real underlying need behind the request before refusing.
  • Quantify the cost of saying yes so the no is grounded in facts.
  • Lead with the reasoning before the verdict so the stakeholder feels heard.
  • Offer a safer alternative that still addresses the underlying need.
  • Never refuse reflexively; always evaluate honestly first.
  • The goal is to protect the business while preserving the relationship.

Definition

A good no is backed by clear reasoning and a better alternative, so the stakeholder feels heard even when the answer is no.
  • Understand the need – Find the real goal behind the request before declining.
  • Quantify the risk – Show the trade-off with concrete numbers so the no is fact-based.
  • Reasoning before verdict – Lead with why before saying no, so the person feels heard.
  • Offer alternatives – Propose a safer way to meet the underlying need.
  • Preserve relationship – The stakeholder should walk away feeling respected, not dismissed.

Imagine a stakeholder at National Bank of India asks to skip the fraud check on large transfers to make them faster for customers like Rajesh. Saying no is like a bank officer refusing to hand over cash without verifying identity: you explain the risk, offer a safer alternative, and keep the relationship warm.

Understanding the Concepts

What is this question really testing?

Judgment, communication, and constructive pushback. The worst answers either always say yes (no backbone) or say no bluntly without explanation (poor collaboration).

JAVA
package com.bank.interview;
public class SayingNoTest {
    enum Signal { CONSTRUCTIVE, BLUNT, PUSHOVER }
    public static Signal evaluate(boolean understood, boolean offeredAlternative) {
        if (!understood) return Signal.BLUNT;
        if (!offeredAlternative) return Signal.PUSHOVER;
        return Signal.CONSTRUCTIVE;
    }
    public static void main(String[] args) {
        System.out.println(evaluate(true, true)); // CONSTRUCTIVE
    }
}

What was the request?

A stakeholder at National Bank of India asked to skip the fraud check on large transfers so they would feel instant for premium customers.

JAVA
package com.bank.interview;
public class TheRequest {
    public static void main(String[] args) {
        System.out.println("Request: skip fraud check on large transfers for speed");
        System.out.println("Real need: faster experience for premium customers");
        System.out.println("Problem: removes safety on highest-risk transactions");
    }
}

How did you understand the real need?

The real need was speed, not actually removing fraud protection. Separating the need from the proposed solution opened up better alternatives.

JAVA
package com.bank.interview;
public class RealNeed {
    public static void main(String[] args) {
        System.out.println("Proposed solution: skip fraud check");
        System.out.println("Real need: faster perceived transfer speed");
        System.out.println("Better solution: async fraud check (customer sees instant, check still runs)");
    }
}

How did you quantify the risk of saying yes?

Skipping the check saves two seconds but exposes the bank to large fraud risk on its highest-value transfers.

JAVA
package com.bank.service;
import java.math.BigDecimal;
public class RiskQuantification {
    public static void main(String[] args) {
        BigDecimal timeSaved = new BigDecimal("2"); // seconds
        BigDecimal potentialFraudLoss = new BigDecimal("5000000"); // 50 lakhs per incident
        System.out.println("Benefit of skipping: " + timeSaved + " seconds saved");
        System.out.println("Risk of skipping: up to " + potentialFraudLoss + " per fraud incident");
        System.out.println("Risk clearly outweighs benefit.");
    }
}

How did you communicate the no?

Led with the reasoning, acknowledged the valid goal, then offered the async alternative.

JAVA
package com.bank.interview;
public class CommunicatingNo {
    public static void main(String[] args) {
        System.out.println("1. Acknowledge: 'Your goal of faster experience is completely valid.'");
        System.out.println("2. Reasoning: 'Skipping fraud exposes us to 50L+ per incident on large transfers.'");
        System.out.println("3. Alternative: 'Async fraud scoring gives the same speed perception while keeping the check.'");
        System.out.println("4. Outcome: stakeholder agreed to async approach");
    }
}

What was the alternative you proposed?

Move the fraud scoring to run asynchronously so the customer perceives the transfer as instant while the check still happens in the background.

JAVA
package com.bank.service;
public class AsyncFraudCheck {
    public static void main(String[] args) {
        System.out.println("Customer experience: transfer appears instant (< 1 second)");
        System.out.println("Behind the scenes: fraud scoring runs async within 5 seconds");
        System.out.println("If suspicious: transfer flagged and reversed before settlement");
        System.out.println("Result: speed AND safety preserved");
    }
}

How do you preserve the relationship after saying no?

The stakeholder should feel respected, not dismissed. Acknowledge their goal, explain the risk clearly, and deliver a better way to meet their need.

JAVA
package com.bank.interview;
public class RelationshipPreservation {
    public static void main(String[] args) {
        System.out.println("Respected: I took their goal seriously and investigated it");
        System.out.println("Informed: I showed the risk with real numbers");
        System.out.println("Served: I delivered an alternative that met their real need");
        System.out.println("Result: trust strengthened, not damaged");
    }
}

What are common interview follow-up questions?

JAVA
package com.bank.interview;
public class SayingNoFollowUps {
    public static void main(String[] args) {
        System.out.println("What if they insisted? -> Escalate with evidence, stand on safety");
        System.out.println("Did the async approach work? -> Yes, customers got speed, bank kept safety");
        System.out.println("How often do you say no? -> Rarely, but always when safety is at stake");
    }
}

Visual Overview

DIAGRAM
┌────────────────────────────────────────────────────────┐
│         Saying No Constructively                       │
├────────────────────────────────────────────────────────┤
│  ┌──────────────────┐                                  │
│  │ 1. UNDERSTAND     │  Real need: speed, not less      │
│  │    the real need  │  safety                          │
│  └────────┬─────────┘                                  │
│           ▼                                            │
│  ┌──────────────────┐                                  │
│  │ 2. QUANTIFY RISK  │  Skip saves 2s, risks 50L+      │
│  └────────┬─────────┘                                  │
│           ▼                                            │
│  ┌──────────────────┐                                  │
│  │ 3. LEAD WITH      │  "Your goal is valid. Here is    │
│  │    REASONING      │   why skipping is dangerous."    │
│  └────────┬─────────┘                                  │
│           ▼                                            │
│  ┌──────────────────┐                                  │
│  │ 4. OFFER          │  Async fraud: speed + safety     │
│  │    ALTERNATIVE    │  Stakeholder agreed               │
│  └──────────────────┘                                  │
└────────────────────────────────────────────────────────┘

Key Takeaway

At National Bank of India, a stakeholder asked us to skip the fraud check on large transfers so they would feel instant for premium customers like Rajesh. The request came from a genuinely good place, but it asked us to remove a safety-critical control on exactly the transfers where the bank is most exposed.

I did not refuse reflexively. I made sure I understood the real need, which was speed, not removing protection. Then I quantified the trade-off: two seconds saved versus potential fraud losses in the lakhs. I led with the reasoning before the verdict, acknowledged that their goal was valid, and offered a better alternative: async fraud scoring that gives the same perceived speed while keeping the check.

The stakeholder agreed to the async approach, the speed they wanted was delivered, and fraud protection stayed intact. What I learned is that a good no is never just no : it is the reasoning, respect for the person's real goal, and a safer alternative.

Remember one sentence: When saying no, understand the real need, quantify the risk, lead with reasoning before the verdict, and offer a better alternative that meets the underlying goal.

---

Share
Use ← → arrow keys to navigate