Thursday, August 27, 2026

When Does Customer Service Start Breaking Your SaaS Product?

One of the easiest things for a software company to say is “Yes, we can do that.”

A good customer asks for a feature. Sales wants to close an important deal. An existing client has a workflow that’s just a little different from everyone else’s. The request makes its way to Product and Engineering, everyone talks it through, and eventually someone says, “It’s not ideal, but we can make it work.”

So we do. And in isolation, that decision may make perfect sense. The problem usually isn’t that decision. It’s the next 50 decisions just like it.

Customer Focus Is a Good Thing

I want to be clear about something upfront: listening to customers is not the problem. Great products are built by understanding the people who actually use them. Some of the best product ideas I’ve encountered didn’t originate in a conference room. They came from customers doing real work and discovering something the software didn’t handle particularly well.

That feedback is invaluable. But there is an important difference between learning from customers and building a different product for every customer. Those two things can look surprisingly similar in the beginning, but over time they lead to very different places.

“Just This Once”

Imagine Customer A needs a slightly different workflow, so we add an exception. Customer B needs a different approval process, so we add another. Customer C has a special reporting requirement. Customer D wants a field to behave differently. We can handle all of those.

Pretty soon, however, the platform starts accumulating logic that effectively says: If Customer A, do this. If Customer B, do that. Unless Feature X is enabled. Except when Workflow Y applies. But only when they’re using Integration Z.

At some point, you’re no longer developing a platform. You’re maintaining a collection of exceptions.

And nobody intentionally designed it that way. It happened one perfectly reasonable decision at a time.

Sales Probably Isn’t Trying to Break the Product

This is where these conversations sometimes become unnecessarily adversarial. Engineering blames Sales. Sales blames Product. Product blames Engineering. Support blames everyone.

That usually isn’t particularly helpful. Sales is trying to win business. Product is trying to satisfy customers. Engineering is trying to deliver what the business needs. Support is trying to keep customers happy. Everyone may be doing exactly what the organization has asked them to do.

The real problem is that nobody owns the cumulative effect of all those individual decisions. That’s a governance problem, not a people problem.

Customization Has a Compounding Cost

The first customer-specific feature might be inexpensive. The second probably is too. But every exception creates another path through the system, and that path has to be understood, tested, supported, documented, maintained, and considered every time something else changes.

This is where the economics become deceptive. A customization that takes a developer two days to build does not necessarily cost the company two days. The organization might have to support that decision for the next ten years.

Every future developer touching that area now has another condition to understand. Every QA cycle has another scenario to validate. Every production issue has another possible cause. Every architectural decision has another dependency.

The cost isn’t just building the exception. It’s carrying it.

Eventually, Everyone Becomes Afraid to Change Things

This is one of the clearest signs that customization has gotten out of control. A developer proposes changing something fundamental, and somebody asks:

“Do we know which customers depend on this?”

Someone thinks Customer X uses it. Someone else remembers Customer Y had something similar three years ago. Nobody is completely certain.

So the safest decision becomes: Don’t change it.

That’s how innovation starts slowing down. Not because the developers aren’t capable. Not because Product doesn’t have ideas. Not because leadership stopped caring. The organization has simply accumulated so many exceptions that the cost of understanding change has become greater than the perceived benefit of making it.

Configuration Is Different

Mature platforms eventually learn an important lesson: customers need flexibility, but flexibility doesn’t always require custom code.

That’s where configuration becomes incredibly powerful. Instead of saying, “We’ll modify the application for your workflow,” the conversation becomes, “How can we make the workflow configurable?”

Instead of building five customer-specific versions of something, we build one capability with well-defined options. That might mean feature flags, rules engines, configurable workflows, templates, permissions, business rules, APIs, metadata, or something entirely different depending on the product.

The exact implementation isn’t the important part. The principle is: move variation out of custom code and into intentional platform capabilities whenever practical.

The customer still gets flexibility, but the platform remains a platform.

Sometimes You Should Still Say Yes

None of this means every customer-specific request should be rejected. Business isn’t that simple. A major customer may have a legitimate requirement that justifies customization. A regulatory requirement may demand it. A strategic customer might expose a use case that eventually benefits the entire market.

Sometimes the correct business decision absolutely is “Yes. Build it.”

But that decision should be intentional. The organization should understand whether it is creating a product capability or a customer exception. Those aren’t necessarily the same investment.

Product Governance Matters

This is why healthy SaaS organizations need strong product and technical governance. Someone needs to ask questions beyond “Can we build this?”

Of course we can build it. That’s rarely the interesting question.

The better questions are: Should we build it? Is this solving a customer problem or one customer’s implementation problem? Will other customers benefit from it? Can it become a configurable capability instead of custom logic? What long-term support obligation are we creating? Does this move the platform forward, or make it harder to move forward later?

Those conversations aren’t bureaucracy. They’re how you protect the future of the product.

The Customer Who Pays for the Feature Isn’t the Only Customer Paying for It

This may be the most important part. When excessive customization makes a platform harder to maintain, every customer eventually pays.

They pay through slower releases, more bugs, longer support cycles, and new capabilities that take increasingly longer to develop. Eventually, the organization accumulates so much complexity that somebody walks into a meeting and says:

“We need to rewrite this thing.”

Sound familiar?

Build a Platform, Not a Collection of Exceptions

A mature product organization doesn’t stop listening to customers. It gets better at listening.

Instead of asking only, “What does this customer want us to build?” it starts asking:

“What is this customer teaching us about what the platform needs to become?”

That is a very different conversation. One produces another customization. The other produces product strategy.

Over enough years, that distinction can determine whether you’re building a scalable SaaS platform — or maintaining hundreds of customer-specific exceptions held together by increasingly nervous developers.

Thanks,

 

Michael Cronin

Website: https://www.michaelcronin.info

LinkedIn: https://www.linkedin.com/in/michaeltcronin/details/experience/

 

When Does Customer Service Start Breaking Your SaaS Product?

One of the easiest things for a software company to say is “Yes, we can do that.” A good customer asks for a feature. Sales wants to clo...