Is it possible to write bug-free software for software quality?
I’ve been a software developer and manager for over 30 years and run Flint Hills Group, a custom software development company in Kansas as their CEO. I know from experience that bug-free software is possible. There is, however, a huge cost for this level of Software Quality in both time and money. Most companies are not willing to pay the cost to achieve perfection. Often, this goal of perfection does not make sense. but many CEOs and business leaders do not understand that. Apple, Microsoft, Google, and other big tech companies ship their products with hundreds of bugs each year. See how successful they are and how many people use their services! They do not ship perfect solutions when they understand it does not make sense to do so.
Customer Software Development and Bugs
The term “bug” was made famous by computer pioneer Grace Hopper. She publicized the cause of a malfunction in the Mark II computer at Harvard in 1946. Operators traced an error in the computer system to a moth trapped in a relay. This bug was carefully removed and taped to the log book. Thus the term “bug” is used to this day to describe defects or unexpected behavior in computer software.
My first job after getting my computer science degree was at Boeing, writing B-52 bomber avionics which delivered nuclear weapons. If ever there was a reason to write perfect code for Software Quality, this was it. We spent literally years writing and testing these custom software solutions before they were put into combat. The cost of building and testing solutions were in the hundreds of millions of dollars. Most companies cannot afford to do this but who wants to find a bug while dropping a nuke! Crazy as it sounds, we still found bugs in the avionics software years after it was delivered to the Air Force and being used in combat.
Building Clean Code
Many books and articles have been written on the subject of Software Quality, shipping quality code, and the high cost in time and money for perfect code. Custom software engineers like to call quality code “Clean Code”. That doesn’t mean it’s perfect but it’s good enough to solve the business problem without breaking the bank. This meets the needs of 99% of customers. Some exceptions might be avionic software as mentioned, nuclear power plant control software and pacemaker software. Even these solutions have some bugs but they are testing for much longer periods of time with more rigorous standards. This results in longer software development delivery times and much higher costs. A good book to read on this topic is Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin.
What we tell Flint Hills Group customers is that we build Quality Software Solutions that are 80–85% Clean Code solutions. They match their requirements and solve their business problems quickly at a reasonable cost. Then we partner with our customers on software testing so that they perform customer acceptance testing after our module and integration testing. We tell them that the cost of a 90% Clean Code solution is twice our normal price and takes far longer to develop. A 100% Solid Code solution is 8–10x our normal price and could take 1-3 years to develop and test depending on the size of the solution. Our customers appreciate our candor and partnership on these custom software projects. So far, no customer has pursued the 10x cost option of perfection.
Looking to create a custom piece of software, but don’t know how much it might cost? Fill out this short questionnaire and we’ll create a free estimate just for you!
Ninety percent of the US population now have smartphones. The new Android, iOS and Windows phones often cost between $700 and $1000 and last 2 – 3 years at best.
How many people experience problems with their smartphones? Have you ever had a dropped call, a locked-up phone app, or simply had to power cycle your phone to get a problem resolved? If so, you have experienced a bug in products from Apple, Microsoft, Google, Samsung and others. Would you be willing as a consumer to pay more for your phone to avoid these inconveniences?
If Apple or Google had a perfect bug-free smartphone for $10,000 — would you buy that phone? There may be a handful of people in the world who would say yes, but 99% of smartphone owners would say no. The cost of perfect software, in that case, is simply not worth the value received. This is true of the majority of software solutions in the world..
We use regular status (“scrum”) meetings with our customers.
We partner closely with our customers so that they affect the end solution and confirm our work as we develop.
By tracking the full set of test cases and knowing when we have clean runs, we can track the quality of our software products with our customers. Flint Hills Group takes the approach that finding a software bug earlier and resolving it is cheaper than later in the custom software development process. Much cheaper than when customers start using the software. We develop and test early and often, and ask our customers to play a large role in testing. Our most successful custom software solutions involved our customers testing with us every step of the way. We were recognized for how we work with customers as a custom software development company in Kansas with an Innovation and Enterprise Award for Startups by the Wichita Business Journal in October 2017 and again in October 2018.
Reach out to Flint Hills Group to start a project and get a free consultation or project estimate. You will love our team of 100% US-based engineers who will partner with you to Turn Your Vision into Software.