By now you know about the chaos caused by the Iowa Democratic Party’s decision to use a mobile app to tabulate the results of that state’s caucuses. The caucus method of choosing nominees for delegates to the party’s national convention has long been viewed as complex and difficult to manage, but it worked for Iowans as they kicked off the Presidential campaign season. In 2020, however, it didn’t.
In fact, the software developed to tabulate results in Iowa and potentially other states that use caucuses may go down in history as the greatest software failure in a political setting ever. In fact, it’s one of the worst failures of any software implementation, ever. It’s so bad that the chair of the Democratic National Committee is requesting that the current results be thrown out and that the entire state be canvassed again so that people might believe the numbers.
Iowa Democratic Party Broke Every Rule on Deploying New Software
To accomplish this remarkable feat, the IDP (as the Iowa Democrats like to call themselves) broke essentially every rule that exists for software procurement. A large part of the problem was rooted in basic incompetence on the part of the IDP, but a share of it also needs to be laid at the feet of Shadow, Inc., the company hired to produce the tabulation app.
Here’s a list of the things that went wrong. Use them as a guide for not letting the same mistakes happen to your organization, especially when implementing a mission-critical piece of software.
- The project was started far too late. Shadow was contracted to develop the app about two months before the Iowa caucus date. Apparently the company misjudged the difficulty of developing the app, and thought it was possible to develop a complex, mission-critical app for two different mobile platforms in a few weeks.
- They chose the wrong vendor for the wrong reasons. The primary criterion for selecting Shadow was apparently that they were Democrats. Shadow’s history of app development was limited to text messaging and voter outreach. The IDP should have chosen a development team with depth in the specific area of expertise they needed. “You’d have been better off outsourcing to an offshore company,” said Dan McFall, CEO of Mobile Labs. “There are wonderful app developers in Argentina or Brazil.”
- They failed to perform any meaningful testing. There’s a misplaced belief among some Agile developers that testing isn’t necessary. “That’s not the idea of Agile.,” McFall said.
- There was no security testing. Despite offers by the Department of Homeland Security and others to perform such testing, the offers were declined, although it’s not clear by whom. Revelations since then have shown that the app was easily hacked, which may explain things.
- The app was not submitted to the Apple App Store nor was it submitted to Google Play. As a result, precinct managers were forced to side-load the Android app. Since side-loading isn’t available for iOS, the other solution would have been to jail-break the iPhones. This may explain the inability of many to actually install the apps.
- The IDP and Shadow failed to train the users. In many cases, the first time anyone actually saw the app was on the Monday morning of the caucuses. McFall pointed out that at least some of the problems with the app would have appeared during training and could have been fixed. He also said that user training would have provided at least some testing, which the app clearly needed.
- They had no real backup. Despite the fact that the IDP was using an untested app for a critical mission for the first time, the party failed to keep its manual systems in place. As a result the few available phone lines for reporting caucus results were jammed, meaning campaign workers spent hours on hold. This was made worse when Republicans also tried to jam the lines, but had the phone systems been in full swing, that would have been less of a problem.
What Did the Project Managers Do Right? Essentially Nothing
In reality, an easier question might have been to describe what the project managers did right. The answer to that is essentially nothing. In fact, they ignored a series of red flags that would have told them that the app wasn’t going to work as intended.
Instead, the Iowa Democratic Party let a variety of other priorities distract managers from making sure the app worked, and in the end remained ignorant of the true difficulty of designing and launching a mobile app intended to handle the complex reporting system that the party had agreed to.
And to make matters worse, they app was launched for the highest profile job they had. “They stumbled in a massive high-profile way,” McFall said. “I feel really sorry for them.”
The upshot of all of this chaos is that fewer people are likely to buy into the use of software in handling complex election tasks again, regardless of how experienced the developer is, and fewer people will believe the results when they’re reported. What will have to happen is that the next election-related software will need to be developed by an experienced developer, tested properly and delivered when it’s ready. And even then it will take years for the pain of the Iowa caucuses to fade.
Wayne Rash, a former editor of eWEEK, is a longtime contributor to our publication and a frequent speaker on business, technology issues and enterprise computing.