The general success rate of any software development project is at best 68% – just about 2 for 3, or Two Sigma – and we’re expecting reliability of services to be in the Nine nines or Six Sigma, then perhaps we should do all we can to at least get a single nine or improve onto the 3 Sigma.
Why is this an issue?
Primarily this is an issue because computing is pervasive and software is ubiquitous, interconnected, and in the hands of common people – not just experts. This means that the software solutions provide services for anything, and if mistakenly trusted – that is, trusted to provide the service without hiccups but failing to do so – then at best it is a nuisance to the user, at worst it is catastrophic.
While Apple Maps have some fun pictures – being misled into the Australian outback is probably not a minor nuisance. Putting drivers on the runway is not only dangerous for the driver or the people on board an airplane, but anyone in the vicinity.
Common sense should prevail – Darwin awards and whatnot.
Well, that would be an argument, but if you have to double or triple check all information, then the smart devices aren’t really helpful in anything but increased bewilderment. If all resources point to the same mistake, then any number of double check will fail. If you combine services, e.g. Siri + Apple map + Google self-driving car, then you are betting against the combined odds.
The common sense should be to trust the services provided. That the services are added to be helpful and not in the challenging sense. I know gamification is a hot topic the stakes should just not be the life of people. At the very least that is detrimental to most sales.
Professionalism
If any other business would have success rates of 2/3 – I’d be surprised if they would stay in business for long. I’m pretty sure I would get aboard an airplane if the success rate of getting to the right destination was only 2/3 – I’m not saying “on timeâ€.
Some surgeons are trying to improve on their success rate targeting 97-99% instead of the 90-95% range they currently reside in – and we can’t even reach the 90% level.
Money
It seems funny that we have audit requirements – at least in Denmark – regarding the financial state of a company. It seems natural that the pervasive entity known as money is managed and controlled, checked and audited. The flows accounted for. But in the end it is only money, it is less pervasive than the elusive software.
I bought my computer with money some years ago, that is, I exercised my financial resources at that time for the specific purpose. Every day I turn on the computer, thereby exercising the operating system and various other software entities.
Money: Once. Hardware: Every day. Software: Every day
It wouldn’t seem like an unfair comparison to expect the same engineering effort and dedication to go into both software and hardware, but my hardware hasn’t failed yet, whereas my software has failed often and sometimes unbeknownst to me.
You might not see it, but that doesn’t mean it is not there.
Waste
Getting my hair cut my hairdresser wanted some profile information for their cash register/customer management system. As I had been there before my ID should recall all the information, but it didn’t. If they are spending 5 minutes per day on mistakes or circumventing oddities in flow dynamics of software, then they are wasting 20 hours per year, which naturally the customer will have to pay for in the end.
240 days at 5 minutes/day = 1200 minutes = 20 hours waste
I would rather pay the same and have the business blooming than know that the more software they add which isn’t really working, the more I have to pay to keep them in business.
As it turns out – they are using other software besides the CMS – at least 3 other programs. If they are at the same level of waste, then every year the hairdresser is wasting 80 hours approximately half a month or 4%.
No matter what you have as an acceptable wastage rate, starting out at 4% requires seems unacceptable to me.
4% correlates to the process fallout for Sigma level 2 in process capability index – we really should strive for a better world going for at least Sigma level 3 for starters.
Possible Solution
The other day my Windows 7 installed 16,000+ updates. I was baffled. I don’t think we can get to perfect, but we can strive towards it, we can do better.
If a financial audit exists to add credibility to whatever management does, then we should add a source code audit to add credibility to the software product for the benefit of the end user.
And the source code audit should be obligatory.
A certificate is insufficient to solve any of the issues.