Blog articles

The Iowa Caucus Debacle: What technology teams can learn from it

February 04, 2020

Regardless of what caused the breakdown in Iowa Monday night, one thing is clear: Technology that was supposed to streamline the caucus process ended up breaking it. Whether the app had critical bugs, users weren’t properly trained, or devices lacked the necessary bandwidth, the debacle likely could’ve been avoided with ample testing at scale.

Here’s what Pluralsight authors and technology experts have to say about lessons you can take away from the 2020 Iowa caucus snafu.

John Papa, Microsoft Principal Developer Advocate

“The importance of field testing an app cannot be understated. While we like to believe our standard testing is enough, nothing works quite like a test run in the field. Considerations should include low WiFi/cell coverage, saturated WiFi/cell coverage, data transmission load tests, security certificate compatibility and installation. These are critical for apps that rollout to a massive usage in a moment in time, such as this.”

Twitter | Pluralsight Courses

Nate Walkingshaw, Pluralsight CXO

“Data is great, if it’s represented correctly. The Iowa caucus app issue revealed that the app wasn’t ready for primetime. This often happens with apps where critical components aren’t thoroughly tested and is one of the reasons why app developers need to repeatedly test, re-test, and test again. A bad, first experience can ruin an app because it creates a lack of confidence and trust. Continuous testing helps app developers catch those failures ahead of time.”


Chloe Condon, cloud advocate at Microsoft

“Test, test, and test again. Then test some more, and add more tests, then repeat. Data integrity, unit, integration, and load testing are key. Failures in your app can make the difference between a successful launch and a dumpster fire- or, in some cases, a customer or no customer (ex: ‘Uber down? Guess I'll call a Lyft!’). Do not underestimate the power of testing! In our ‘move fast/break things’ culture, tests may seem like a ‘nice to have,’ but they should be top of mind from the initial design of your app. Failure happens, but tests can help you catch those failures ahead of time. You can find a great course about it here.”


Jeremy Morgan, Pluralsight technical marketing manager and author

“This debacle reinforces the importance of testing at scale. It appears the application was overwhelmed with people trying to use it. The application was also installed on the volunteer's personal phones. That's a security concern in itself, and it adds complexity to the testing process that may not have been adequately addressed. Organizations should always overestimate the amount of usage they might see and test for as many use cases as possible.

Issues like this invite attackers to seek vulnerabilities. In this case, it enables disinformation campaigns to go into high gear, as the perception of the process is damaged. While there was a paper backup in place, and the data seems intact, the public's confidence in the process is not.”

Twitter | Pluralsight Courses

“Expect issues and preemptively build tools to confront them!”


Christopher Blackden, Pluralsight author

“Taking all the accusations of hacking off the table, the biggest problem from the Iowa caucus app reporting is that it wasn't tested properly after only a few months of development. It's unfortunate that the DNC would make this the primary method of voting without having sufficient backup method, or even only offering the app to a section of users first. I'll bet that in the coming months we'll see a similar story to the rollout, where no proper load testing was done, requirements kept changing, and developers were not given time or resources to rollout a mission-critical app.”

Dr. Jared DeMott, Founder VDA Labs and Pluralsight author

"At this time there's not a lot of detail on the exact nature of the technical flaw, but having worked in software security for 20 years, it's not all that surprising to see a bug of this nature crop up in early use of a new application.  Particularly when you drill into the team behind the tech, they look vastly underpowered, with LinkedIn only showing 10 employees.  It's surprising they were given such a big task. Typically a larger team that has been around longer would be desirable. For example, LinkedIn doesn’t show any staff with a security or testing role." 

Twitter | Pluralsight Courses