Debunking the Myths of Flawless Software cover

May 31, 2024

Debunking the Myths of Flawless Software

It’s happened to us all: We open an app on our phone, and the screen suddenly freezes, or the app inexplicably crashes and returns us to our home screen and stubbornly refuses to reopen.

Or, we receive a notification to update our operating system; sometimes the updates are for significance features, such as addressing newly found vulnerabilities.

Many of these calls for updates come from multi-billion-dollar companies that could seemingly have expended significant resources in building programs that were bug-free.

So why didn’t they?

That’s the question we posed to Flint Hills Group’s CEO, Dave Cunningham. A few years ago, Dave penned this blog to detail how chasing perfection in software would come at a steep price, and it’s a price that customers would ultimately NOT pay, and would accept a slightly less-than-perfect product in the end. Here’s a more in-depth look at why.

Photo by Ilya Pavlov on Unsplash

Myth #1: Perfection in software is attainable for good developers.

Fact: Unequivocally, no software is perfect.

Competent software developers working within their customers’ budgets will follow best practices to develop well-structured code that adheres to standards and conventions so that it is readable, efficient, and provides the customer with the desired outcome with minimal complexity. It is also easy to understand, maintain, and modify.

“Every piece of software on the planet has bugs, from the least important to the most important,” said Cunningham.

Myth #2: If the customer has the budget for it, they should expect perfect software.

Fact: The biggest software makers in the world with billion-dollar budgets produce products with bugs.

And you know who they are.

You’ve likely already paid hundreds of dollars or more for your smart phone; how much do you think the phone would cost if developers strived for perfection?

“The reality is we would not have smart phones,” Cunningham said. “As development teams get closer to perfection, the cost goes up so exponentially that the cost becomes too much of a burden for society. Even if perfection was possible – and it isn’t – humanity doesn’t have the budget to pay for it.”

What developers can do, however, is go back in later and fix those bugs that can be fixed or create user workarounds for issues that don’t cause enough user inconvenience to justify the cost of a post-development fix.

Photo by Piron Guillaume on Unsplash

Myth #3: If critical, life-saving applications can be bug-free, so can consumer applications.

Fact: Even the most critical software applications, such as missile systems, pacemakers, satellites, and jetliners have software bugs despite abundant budgets and testing.

You’ve likely heard stories about near-misses and tragedies plaguing air travel due to software imperfections. Beyond our earthly atmosphere, our space program has also encountered software glitches, including the International Space Station, even though at $100 billion, it ranks as the most expensive item we humans have ever created. Bugs have been discovered in satellite software 20 years post-development and testing.

For a more down-to-earth example, you or the person next to you may have been affected in some way by vehicle recalls in 2023, of which 15% were software-related.

“It’s not carelessness, it’s an infinitely complex thing that we’re doing that presents millions of opportunities for small defects,” Cunningham explained. “The simple truth is that no human being has ever written perfect software. It’s not through a lack of effort or money, it’s just incredibly complex.”

Myth #4: If it seems bug-free now, it should be bug-free in perpetuity.

Fact: Technology continues to evolve at breakneck speed. Future updates to underlying frameworks, libraries, or third-party integrations can reveal glitches that couldn’t be anticipated during the development process.

Many app users have experienced issues with an app after updating an operating system. Those issues only surfaced because the software was developed using older technology; as much as developers might try to anticipate future technology, the reality is they can’t account for every iteration that will affect a specific application.

“We encourage clients to report any bugs revealed by these technological evolutions,” Cunningham said. “It provides us with valuable feedback in the iterative development process and moves everyone along the ever-changing technology landscape.”

Photo by Hack Capital on Unsplash

Moving Forward with Customer Expectations

The takeaway from debunking these myths is that from government applications to small business software, some bugs are expected. The questions for the customer to consider are:

  • What can you live with?
  • Are there realistic workarounds that we can implement?

“When our team finds something that could potentially be fixed, but it would fall outside of the scope of the client’s budget, we discuss it with them to see how important it is to fix,” Cunningham said. “The customer isn’t paying for a perfect solution because they can’t. The additional cost and time taken for that pursuit may be an acceptable payoff in critical applications such as medical devices or national defense applications, but even then, they know that absolute perfection is not attainable. No government or business in the world has the money to pay for it or the extreme amount of time needed to achieve this near-impossible goal.”

One way to help set customer expectations is to compare it to home building or buying. The prospective homeowner may have a dream home in mind, but they also have budgetary parameters that limit upgrades or remodeling. They begin to prioritize what they can live with and live without – maybe some of the wood floor planks have some large knots in them, but does it really make sense to have them torn up and replaced? Can they live with something temporarily and fix it later?

“We know the software customer is very closely invested in their application,” said Cunningham. “We try to get them to understand how ubiquitous bugs are, regardless of time and money spent.”

Living With Imperfection Puts You Back in Business

Achieving perfection has a certain allure, but in software development, such a quest is not just unattainable, but the cost of its pursuit is impractical and detrimental to most businesses.

At Flint Hills Group we conduct manual and automated testing, as well as implement a rigorous quality assurance process, to detect and then resolve as many bugs as possible. We also recognize that certain bugs may only manifest in real-world use and behaviors, which is why we strongly recommend involving our clients in early testing before final delivery. We deem this critical to early bug detection that will save the client time and money in the long run.

Any bugs that do escape this initial screening are likely to be glitches that we can go back and fix for far less money than if we had spent additional time chasing every minor glitch during the development process. It also allows our clients to get back to their business; chasing perfection for perfection’s sake while the client loses revenue seems a distorted definition of perfection.

That’s why at Flint Hills Group, our real-world lens recognizes that true “perfection” is best led with priorities, and our priority is meeting our customers’ needs so they can get back to what’s important, with the software built to do the job as close to perfectly as humanly possible.

Karen S Johnson
Technology Enthusiast

Karen S. Johnson is a freelance writer, public relations consultant and technology enthusiast who traded farm life in North Dakota for a smaller-scale farm outside of Waco, Texas. When not writing articles and crafting messaging strategies for technology clients, Karen can usually be found jumping her horses around her 20-acre farm or watching the spectacular sunsets with her husband, dogs and cats.

Karen S. Johnson
Technology Enthusiast

Karen S. Johnson is a freelance writer, public relations consultant and technology enthusiast who traded farm life in North Dakota for a smaller-scale farm outside of Waco, Texas. When not writing articles and crafting messaging strategies for technology clients, Karen can usually be found jumping her horses around her 20-acre farm or watching the spectacular sunsets with her husband, dogs and cats.