Managing Resistance to Change in Software Teams
- Contributor
- May 16
- 6 min read
When engineering leaders announce a change — a new tool, a new process, a reorg — and the team pushes back, the default response is to treat the resistance as an obstacle to be overcome. "How do we get the team to accept this?" That framing is wrong. Resistance to change is information. The team is telling you something specific, and the first job is to figure out what.
Sometimes the information is "your plan has problems we can see and you can't." Sometimes it's "we've been burned by changes that looked like this before." Sometimes it's "we don't trust the people behind the decision." All three are real, all three are different, and all three need different responses.
This guide is a working framework for diagnosing resistance and choosing the right response — not for steamrolling it.
Resistance Is a Signal, Not a Problem
Reframe the situation. If half your senior engineers are pushing back on a proposed change, one of four things is true:
The change is wrong. They see issues you don't.
The change is right, but the plan is wrong. They support the goal and dislike the execution.
The change is right and the plan is right, but trust is low. They've seen previous changes go badly.
The change is right, the plan is right, trust is fine — but the timing or framing has triggered legitimate concerns.
Each of these has a different response. The pattern of treating all four as "resistance to overcome" produces leaders who lose their best engineers.
The job of a leader facing resistance is not to push through. It's to diagnose which case you're in.
Diagnostic 1: Is the Change Wrong?
Start here. Honestly. Are the resisters making technical or organizational arguments that you can't refute?
If a senior engineer says "this migration assumes a property of our traffic pattern that isn't true," your first move is to evaluate the claim, not to defend the migration. Many disastrous projects could have been avoided if leadership had treated early technical resistance as expert input rather than as friction.
Signs the change might be wrong:
The resisters are people whose judgment you respect on similar topics
Their objections are specific, technical, and falsifiable
The objections are different from each other (which suggests independent observation, not coordinated complaint)
The objections include data or evidence you don't have
Response if the change is wrong: stop. Revisit the plan. Acknowledge publicly that the original direction was off. Yes, this is uncomfortable; it's also the only response that preserves credibility.
The single biggest predictor of organizational damage is leadership refusing to update on real evidence. The cost of admitting error is small compared to the cost of executing a known-bad plan.
Diagnostic 2: Is the Plan Wrong?
If the destination is right but the execution is questioned, the team usually has specific concerns:
Wrong order of operations
Wrong people on point
Wrong timeline
Wrong scope
Wrong rollback story
Wrong communication
Signs the plan is wrong:
Resisters agree with the goal when asked directly
Their objections are about how, not whether
They can name a better plan
Response if the plan is wrong: revise it openly. Invite the resisters into the planning. This is harder than it sounds because the original plan has owners who don't want to admit it was flawed. Leadership has to make it safe to revise.
The most powerful move here: take a credible objection from a resister and incorporate it visibly. The next time you propose something, the team knows their input lands.
Diagnostic 3: Is Trust Low?
If the change and plan are both reasonable but resistance is strong, the issue is usually trust.
Signs trust is the issue:
The objections are vague — "this won't work" without specifics
Resisters reference past changes that went badly
The same group resists every change
New hires don't share the resistance — only people who've been through previous changes do
Response if trust is low: the change itself is not the right venue to fix trust. You can't push through a change while simultaneously rebuilding trust; the change is the thing the team is using to express their distrust.
Two options:
Slow down. Do the change in smaller, lower-risk pieces. Each piece that goes well rebuilds trust incrementally.
Address the trust issue directly. Acknowledge the prior failures. Identify what was different and what's the same. Be specific about why this time should be different.
The pattern that fails: insisting on the change and claiming trust is fine. The team experiences this as gaslighting and the trust gap widens.
Diagnostic 4: Is It About Identity or Power?
The hardest case. Some resistance is about more than the change at hand. It's about what the change means.
A new tool that replaces work an engineer is known for. A reorg that reduces a manager's scope. A process change that signals the org now values speed over quality (or vice versa). These changes touch identity, status, or power.
Signs identity/power is involved:
The objections are disproportionate to the size of the change
The resister is someone whose role is affected
The arguments shift — when one is addressed, a new one appears
Response: name the underlying issue, gently and privately. Not in a meeting, not in a Slack channel. In a 1:1. "I notice you've raised concerns about this change. I want to understand what's behind that. The technical objections don't quite add up for me — what else is going on?"
Sometimes the answer is "I'm worried about my role." Sometimes it's "I don't want to look like the person who couldn't keep up." Sometimes it's "I've been the expert in the old system and I'd be a beginner in the new one."
Once the underlying issue is named, it can be addressed. The role can be redefined. The transition can be designed to leverage existing expertise. The recognition for the old work can happen separately so the new work doesn't have to erase it.
What Doesn't Work
A few patterns that look like change leadership and aren't.
Compliance theater. Mandating attendance at training, requiring sign-off, sending follow-up emails. The team complies on paper and continues doing whatever they were doing.
The villain framing. "We have to overcome resistance from a few negative voices." This is poisonous. It turns the team against itself, isolates the resisters into a real opposition, and signals that disagreement is disloyalty.
The asymmetric urgency. "We don't have time to discuss this in detail." Combined with "we need everyone on board," this produces resentment. Either there's time for the conversation or there isn't enough certainty to demand alignment.
The PIP threat. Performance-managing engineers who push back on changes. Sometimes the engineer genuinely is the problem; usually they're the canary, and managing them out turns the warning into silence.
When to Push Through
There are real cases where leadership must execute a change against resistance. Compliance deadlines. Existential strategic threats. Decisions made at the level above where input is solicited.
In those cases:
Acknowledge that the change isn't optional and that you've heard the concerns
Explain, without spin, why it's happening
Be honest about what you can and cannot change about the plan
Don't pretend you've achieved consensus when you haven't
Don't punish dissent that respects the decision
Most teams will execute a change they don't love if the leader doesn't insult them by pretending they love it.
A Useful Conversation Pattern
When a respected engineer pushes back, try this in a 1:1:
"Help me understand what you'd recommend instead."
(Listen. Take notes. Don't argue.)
"What's the strongest version of your concern? What's the worst case you're worried about?"
"What would have to be true for this to work for you?"
The fourth question is the one that opens space. Most resisters haven't articulated their own conditions. Asking forces them to. Often, what they need turns out to be smaller than the resistance suggested — a clearer rollback plan, a faster decision process, public acknowledgment of a prior failure.
Resistance vs. Disengagement
Active resistance is information. Disengagement is worse.
If a previously-vocal engineer goes quiet — stops pushing back, stops commenting, stops engaging with the change at all — that's the dangerous state. They've concluded that engagement is pointless. They're either job-hunting or quiet-quitting.
The fix for resistance is conversation. The fix for disengagement is also conversation, but more urgent, and harder, because the engineer no longer believes the conversation will produce anything.
If you see disengagement after resistance was dismissed, you have a real problem. Address it before the engineer leaves.
Key Takeaway
Resistance to change is information about your plan, your trust level, or the underlying meaning of the change. Diagnose which before responding. If the change is wrong, change the plan. If trust is the issue, slow down and rebuild it. If identity or power is in play, name it privately. The patterns that don't work — compliance theater, villain framing, false consensus — produce short-term movement and long-term damage. The patterns that do work treat the team as adults whose input matters, even when the leader has more decision authority than they do. The job is not to overcome resistance. It's to listen, sort signal from noise, and adjust.
Related reading
Keep learning. This article is part of the Project Delivery & Change Management path in the ShiftQuality Learning Center. Ship change without breaking trust or production.


