Iowa shows that “roll it back” isn’t enough
So here we go, the 2020 election cycle is fully underway and software is at the heart of the first debacle, an app used for the voting is apparently not up to the job, and thus democracy is at best delayed.
As software becomes ever more important then the criticality of design and verification becomes ever greater. “Just roll it back” is at risk of becoming a mantra in some software organisations, a religious chant recited in the belief that it is true rather than understanding what is meant. Somethings can indeed just be rolled back. If your recommendation engine isn’t as efficient with the new model as the old model then just roll it back. If customers don’t like your new UX then roll it back. But if your new release enables people to get all your products for free then “just roll it back” becomes more problematic.
“Just roll it back” doesn’t work when dealing with Aircraft engines, aircraft themselves, trains, democracy, hospitals, cars, etc. These are all things that rely on software and the design and verification of these various solutions varies hugely. In safety critical software there is often a design criteria laid down by Lewis Carrol in “The Hunting of the Snark”: What I tell you three times is true. If three separate systems all say the same thing then you are good, if they disagree you know you have challenges.
“Just roll it back” doesn’t work because verification isn’t simply about testing, its about understanding the business contract under which your solution sits, that business contract includes the bounds, the outcomes and most crucially the impacts of failure. An App that enables people to throw birds at towers is not critical for society, a temporary glitch may damage the firms reputation somewhat, but an app that is being used for the expression of one of the most fundamental rights: democracy, should be developed to a much higher standard.
“Just roll it back” doesn’t work as software becomes more important so do the standards against which it is held. This costs more money, its cheap to build something where quality is 99% against where it cannot fail, and its important to remember that verification is just as crucial. In a voting machine this can be as simple as a paper copy of the vote that the individual can verify and which can be used in the even of a major issue.
“just roll it back” didn’t work in Iowa and it is not good enough when dealing with things that truly matter.
GenAI expert, Global Data Governance and Privacy leader , EVP Product & Technology , Business Advisory, Global Data Management Leader
5 年Wonder if they ever tested the software. Often testing is on the butcher block because development is running behind and there is tight deadline. Deadlines are always tight if you did not figure out how to contain the scope or you didn’t bother to figure out the requirements. Test driven development approach exists for this same reason but we often ignore to fall for waterfall approach where “fall” is hard.
Time to sell immutability :)
Presales/Sales Enablement/Account Growth/Sales Strategy
5 年Makes one think if some things are best left for good ole human touch even though a professional harakiri from IT standpoint but many countries have switched back to ballot paper from EVMs.