DEV Community

Cover image for The Hidden Cost of Everyday Software Friction
Caterfli
Caterfli

Posted on

The Hidden Cost of Everyday Software Friction

Your software might be working perfectly. So why does getting simple work done still feel so difficult?

There is a particular kind of frustration that happens in almost every business.

You have the software. You have the data. You have people who know what they are doing. You might even be paying hundreds or thousands of dollars every month for tools designed to make your team more productive.

And yet, someone still has to send a message asking, “Can you check this order for me?”

Someone else needs a developer to pull a report. A customer support representative spends fifteen minutes clicking through an admin panel to find a detail that should take five seconds to retrieve. Meanwhile, a manager is waiting for an answer that is already sitting somewhere inside the company's database.

Nothing is technically broken.

That's the frustrating part.

We tend to think of software problems as crashes, bugs, slow loading screens, or missing features. But some of the most expensive problems are much quieter. They happen when software works exactly as designed, yet the people who need it cannot use it efficiently.

I call this everyday software friction.

And I think businesses underestimate how much it costs them.

The Small Interruptions That Add Up

Imagine a developer named Alex.

Alex works at a growing e-commerce company. Most of the day involves building features, fixing bugs, and keeping the platform running. But several times a day, someone interrupts him with a question.

“Can you check whether this customer has paid?”

“Could you find all orders placed yesterday that haven't shipped?”

“Can you export the latest customer list?”

These are reasonable questions. The employees asking them aren't being lazy. They simply don't have the access, tools, or technical knowledge required to get the answers themselves.

So Alex stops what he is doing, opens the database, writes a query, checks the results, and sends the information back.

Five minutes here. Ten minutes there.

Let's say this happens six times a day, taking an average of eight minutes each time. That's 48 minutes of interruptions every working day.

Across 20 working days, that's 16 hours.

Two full working days spent answering questions instead of doing the work Alex was hired to do.

And that estimate only counts the time spent responding. It doesn't include the mental effort of switching between a complicated coding task and a supposedly simple operational request.

Once you lose focus, getting back into the original task takes time, too.

Now multiply this across a team of developers, analysts, and operations specialists.

The numbers become uncomfortable.

The real cost isn't one interruption. It's the system that makes those interruptions necessary.

Your Admin Panel Works Fine. So Why Does Everyone Still Ask a Developer?

Here's something I've noticed about business software: a tool can be perfectly functional and still be frustrating to use.

Consider a customer support team working inside a CRM.

The CRM contains customer names, contact information, order history, previous conversations, payment status, and all the other details needed to help customers. It might even have excellent search and filtering features.

But a support representative wants to answer a slightly unusual question:

“Which customers have an upcoming anniversary this month and haven't purchased anything in the last 60 days?”

Perhaps the CRM doesn't support that combination of filters.

Or perhaps it does, but the process involves several screens, custom reports, and a few awkward workarounds.

The representative gives up and asks someone technical.

This isn't necessarily a software failure. It's a gap between what the software can do and what people can easily ask it to do.

I've seen this kind of situation described as a training problem. Sometimes it is. Better onboarding and documentation can help.

But training isn't always the answer.

You can train someone to navigate a complicated interface, but that doesn't automatically make the interface the best way to complete every task.

Sometimes the employee doesn't need another tutorial. They need a more direct way to access the capability that already exists.

For example, imagine being able to ask a connected system:

“Show me customers whose anniversaries fall this month and who haven't purchased recently.”

Instead of manually configuring filters, the system interprets the request, retrieves the relevant information through permitted operations, and returns the result.

The underlying CRM hasn't changed.

The database hasn't moved.

Nobody has spent six months rebuilding the application.

The interaction has simply become more natural.

That's the interesting possibility behind AI-powered software interfaces, including platforms such as AI agents for existing business systems.

The goal isn't to replace every screen with a chatbot. It's to make the capabilities already inside business software easier to use when clicking through screens isn't the most sensible option.

Story Two: The Support Team That Waited for Answers

Picture a small online retailer during a busy sales week.

Orders are coming in. Customers are asking about deliveries. The warehouse is processing shipments, and the support inbox is filling up faster than anyone would like.

A customer asks whether an order has shipped.

The support representative opens the admin panel. The order isn't immediately visible in the default view, so they try searching by email address. No luck.

They check another screen, then another.

Eventually, they discover that the order was placed under a slightly different email address.

The information was there all along.

Now imagine a second situation.

The representative asks a connected assistant, “Find the latest order for this customer and tell me its payment and shipping status.”

The assistant retrieves the available information and presents it in one response, subject to the representative's permissions.

The difference might be only a few minutes per customer. That doesn't sound dramatic.

But consider what those minutes mean during a busy day.

A team of five representatives each handles 40 inquiries. If a more direct workflow saves just two minutes per inquiry, that's 400 minutes saved across the team.

That's six hours and 40 minutes.

In one day.

Of course, this is an illustrative calculation, not a guaranteed result. Actual savings depend on the system, the quality of the integration, the complexity of each request, and how much time the original workflow takes.

Still, the underlying point is worth considering.

Small reductions in friction can create meaningful gains when repeated hundreds of times.

The benefit isn't limited to speed, either. Representatives spend less time hunting for information and more time helping customers. They can respond with greater confidence because they have a clearer picture of what's happening.

And customers don't have to wait while an employee navigates a maze of screens.

That's a better experience for everyone involved.

The Hidden Cost Goes Beyond Wasted Minutes

Time is the easiest cost to calculate, but it's not the only one.

Everyday software friction creates several less obvious problems that are harder to measure.

1. Your most expensive employees become human search engines

Developers, data analysts, and system administrators are hired for specialized skills.

Yet in many businesses, they become the unofficial gateway to information.

Need a report? Ask the analyst.

Need to inspect an order? Ask the developer.

Need a list of customers matching an unusual condition? Ask whoever understands the database.

These requests are often necessary, and some should absolutely remain with technical specialists. But routine questions shouldn't automatically require expert intervention.

When your most experienced employees spend too much time retrieving information for others, the company pays for expertise and then uses it for basic navigation.

That is an expensive habit.

2. People stop asking useful questions

This is the cost I find particularly interesting.

Suppose an operations manager has a question about customer behavior. Answering it requires exporting a spreadsheet, combining two reports, and asking an analyst to verify the results.

The manager might do it once.

The next time, they might decide it isn't worth the effort.

Eventually, they stop asking.

That means the business loses more than the time needed to retrieve an answer. It loses the opportunity to make a better decision.

What if the manager had been able to explore the question in a few seconds?

They might discover a recurring issue with delayed shipments, identify a group of customers who need attention, or spot an unexpected change in sales.

Not every question leads to a breakthrough. Most don't.

But when asking questions becomes expensive, people naturally ask fewer of them.

And a business that asks fewer questions about its own operations may miss opportunities hiding in plain sight.

3. Workarounds become unofficial infrastructure

When software is difficult to use, employees find ways around it.

Someone builds a spreadsheet that combines information from multiple systems. Another person creates a private document with frequently used customer details. A manager asks for a daily export because navigating the reporting interface is too cumbersome.

At first, these workarounds seem harmless.

Then they become part of the workflow.

The spreadsheet needs maintenance. The export becomes outdated. The person who understands the workaround goes on vacation, and suddenly nobody knows which version is correct.

Now the business has two systems: the official software and a collection of unofficial processes that exist because the official software is inconvenient.

This creates its own risks around accuracy, access, and accountability.

Sometimes a spreadsheet is exactly the right tool. I'm not suggesting every workaround is bad.

The problem begins when workarounds become necessary simply because the existing system is too difficult to operate.

4. Employees become dependent on a few key people

Every company seems to have someone who knows how everything works.

They know which report to run, which database table contains the relevant information, and which combination of filters produces the correct result.

When that person is available, everything moves.

When they're busy, sick, or away from work, basic tasks slow down.

This is often described as a knowledge-sharing problem. Again, that's partly true.

Documentation helps. Training helps. Better internal processes help.

But there is another question worth asking: why must so much everyday work depend on one person's ability to navigate a technical system?

What if more employees could retrieve the information they need through an interface that understands ordinary requests while respecting their existing access permissions?

That wouldn't eliminate the need for experts. It would give experts more room to do expert work.

You Already Paid for the Software. You're Just Not Using Half of It.

This is where things get particularly interesting.

Companies spend considerable money on software licenses, custom development, integrations, and infrastructure. They invest in systems that can manage orders, track leads, store customer records, generate reports, and automate business processes.

But the value of a system isn't determined only by the features it contains.

It's also determined by how easily people can use those features.

Imagine buying a powerful kitchen appliance with twenty functions, then using only two because the controls are confusing.

Technically, you have all the functionality you paid for. Practically, you're getting a fraction of the value.

Business software can work the same way.

A CRM may support advanced reporting, but if only one person knows how to build those reports, most employees won't benefit from that capability.

An internal API may expose useful operations, but if interacting with it requires programming knowledge, non-technical staff won't use it directly.

A database may contain answers to hundreds of business questions, but those answers remain inaccessible to employees who don't know SQL.

This doesn't necessarily mean the software is poorly designed. Many systems were built for a particular purpose, and their interfaces reflect the needs of their original users.

The problem is that businesses evolve.

The people who need information today may be different from the people who needed it when the software was first built.

That's one reason I'm interested in approaches that let teams interact with existing systems through natural language.

Instead of asking everyone to learn the same complicated interface, businesses can give people another way to access the operations they're authorized to perform.

Platforms such as Caterfli are built around this idea: connect existing databases, APIs, or MCP servers and let an AI-powered agent operate the available capabilities under defined permissions.

The appeal is straightforward. You don't necessarily need to replace a working system to make it more accessible.

You may only need to improve how people interact with it.

Why Rebuilding Everything Is Often the Wrong Answer

When employees complain about software friction, the instinctive response is often to build something new.

A new dashboard.

A custom internal application.

A replacement CRM.

A completely redesigned workflow.

Sometimes that is the right decision. If a system is unreliable, insecure, or fundamentally incapable of supporting the business, replacing it may be unavoidable.

But rebuilding should not be the automatic response to every usability problem.

Consider a company with a well-established order management system. It has years of historical data, established integrations, carefully defined permissions, and workflows that employees already understand.

The problem is that retrieving certain reports takes too long.

Does the company really need to replace the entire application?

Or does it need a better way to request and retrieve those reports?

The difference matters because software projects carry costs that aren't always obvious at the beginning.

There are development expenses, testing cycles, data migration, employee training, downtime risks, and ongoing maintenance.

A project intended to fix a relatively small usability problem can grow into a major engineering commitment.

Meanwhile, the original problem remains unsolved for months.

A more practical approach is to identify the friction first, then choose the smallest reliable change that removes it.

Maybe that's a better search interface. Maybe it's a saved report. Maybe it's an API integration. Maybe an AI agent can provide a useful natural-language interface to existing tools.

The technology should follow the problem, not the other way around.

If you want to explore that approach, making existing software easier to use with AI is one option worth examining before committing to another major rebuild.

But Isn't Giving AI Access to Business Systems Dangerous?

Yes, it can be.

And pretending otherwise would miss one of the most important parts of this discussion.

An AI assistant that can retrieve customer information is one thing. An agent that can issue refunds, modify records, or delete data is another.

The moment an AI system can perform actions in a real business environment, convenience is no longer the only consideration.

You have to think about permissions, validation, accountability, and what happens when the model misunderstands a request.

Imagine an employee asking an agent to remove a duplicate customer record.

The agent might identify the wrong record. It might misunderstand which customer the employee meant. It might generate an invalid operation or respond to misleading instructions contained in retrieved data.

These aren't reasons to dismiss AI agents entirely. They're reasons to design the system carefully.

A sensible implementation should include several safeguards.

First, restrict access to the minimum necessary. An agent should not receive unrestricted database access simply because it's convenient.

Second, validate proposed actions independently. The application should check the requested operation, its arguments, and the user's permissions before allowing the action to reach the connected system.

Third, require approval when appropriate. High-impact or destructive operations may need explicit human confirmation before execution.

Fourth, keep an audit trail. Teams should be able to understand what was requested, what was proposed, what was approved, and what actually happened.

Finally, test realistic failure scenarios. It's not enough to demonstrate that the agent works when everyone asks clear questions and nothing unusual happens.

What happens when someone requests an unauthorized action? What if the arguments are malformed? What if the model proposes deleting a record that the user can view but cannot modify?

These are the questions that matter.

The best design isn't an AI model that promises to behave responsibly. It's an application that enforces the relevant rules even when the model makes a mistake.

For anyone considering this approach, secure AI agents for business operations should mean more than putting a chatbot in front of a database. It should mean creating a controlled path between a human request and a real operation.

Convenience is valuable. But it shouldn't come at the expense of control.

How to Find the Friction Hiding in Your Own Business

You don't need a large software audit to get started.

In fact, I'd begin with something much simpler.

For one week, pay attention to the questions people ask each other while trying to get their jobs done.

Listen for phrases such as:

  • “Can you pull that report for me?”
  • “Do you know where I can find this?”
  • “Can someone with admin access check?”
  • “I know the system has this information somewhere.”
  • “I'll ask the developer.”
  • “Can you export that to Excel?”

These are clues.

They suggest that a person needs information or functionality that the current workflow makes difficult to access.

Once you have a list, evaluate each example using a few straightforward questions.

Step 1: Identify the repeated task

Choose a task that happens frequently and causes noticeable delays.

Don't start with the most complicated process in the business. Start with something small enough to understand and measure.

Step 2: Calculate the actual cost

Estimate how often the task happens, how long it takes, and which employees are involved.

For example, 30 requests per day taking four minutes each represent 120 minutes of daily effort.

That's two hours every working day spent on one type of request.

Then consider whether delays affect customer response times or prevent employees from doing other work.

Step 3: Find out why the task is difficult

Is the information difficult to locate? Does the employee lack permission? Is the interface confusing? Does the task require a technical query? Is the information spread across several systems?

The answer determines the solution.

A natural-language interface won't fix missing data or incorrect business processes. Nor should it bypass legitimate access restrictions.

Step 4: Choose the smallest useful improvement

Possible solutions include a better search function, a saved report, a dashboard, an API integration, improved training, or a carefully permissioned AI agent.

Avoid turning every small problem into a major project.

Step 5: Measure the result

Compare the new workflow with the old one.

Measure task completion time, the number of developer interruptions, support response times, error rates, and employee satisfaction.

Also measure the cost of running and maintaining the solution.

A workflow that saves five minutes but introduces frequent errors isn't necessarily an improvement.

The objective is not to add AI to everything. It's to remove unnecessary effort without introducing new risks.

The Future of Software Might Be Less About More Features

For years, the software industry has largely competed on features.

More integrations. More dashboards. More customization. More sophisticated reporting. More buttons that promise to make work easier.

There's nothing inherently wrong with that progress.

But I wonder whether the next meaningful improvement will come from a different direction.

Instead of asking, “What else can this software do?” businesses might start asking, “How much effort does it take for someone to get the software to do what they need?”

That question changes the conversation.

It puts the employee's experience at the center rather than treating the interface as an unavoidable obstacle.

It also makes us reconsider what a good software product looks like.

A powerful system isn't necessarily the one with the most features. It may be the one that lets the right person access the right capability with the least unnecessary effort.

And this doesn't mean every application needs to become a chatbot.

Sometimes a button really is better than a conversation. Sometimes a structured form prevents mistakes. Sometimes a traditional dashboard provides a clearer picture than a paragraph of generated text.

The best interface depends on the task.

What matters is having options that fit the way people actually work.

For routine questions, natural language can be remarkably convenient. For complex analysis, a dedicated dashboard may be better. For destructive actions, a confirmation screen and explicit approval may be essential.

The opportunity is to combine these approaches intelligently.

That is a much more useful goal than adding an AI label to every existing product.

A Final Thought: Your Team Shouldn't Have to Fight Its Own Tools

I keep coming back to a simple idea.

People shouldn't have to become experts in navigating software just to do the jobs they were hired to do.

A support representative shouldn't need to understand database relationships to answer a straightforward order question. An operations manager shouldn't need to interrupt an analyst every time they want to inspect a routine business metric. And a developer shouldn't spend half the morning responding to requests that a properly designed workflow could handle safely.

Of course, some complexity is unavoidable. Businesses have complicated rules, imperfect data, legacy systems, and responsibilities that cannot be reduced to a simple chat interface.

But unnecessary complexity is different.

That's the kind we should challenge.

If your team constantly asks the same questions, waits for the same reports, or relies on the same person to navigate the same screens, don't immediately assume you need more software.

First, look at what you already have.

You might discover that the information is available, the capability already exists, and the only real problem is the effort required to connect a human need with a system that can satisfy it.

That's a problem worth solving.

And sometimes, the most valuable software improvement isn't another feature, another dashboard, or another expensive rebuild.

It's simply making the tools you already own easier to use.

Because the hidden cost of everyday software friction isn't just wasted time. It's all the useful work your team could have been doing instead.

Top comments (0)