I've been thinking a lot lately about how organizations choose and evaluate software. The Iowa Democratic Party chose Shadow Inc. to work on the IowaReporterApp, and it is clear that there were missteps in the testing and delivery of the product.
First, the timeline was too aggressive for the given budget. Even a simple application requires adequate time for testing and operationalizing. For a one-and-done event, like this, load testing during a mock session was an absolute requirement.
Second, there was inadequate training on how to use the app. The caucus chairs should have installed the app and been trained on its usage weeks before the caucus vote. In the case of the IowaReporterApp, the clumsy install process would have been a red flag to decision makers, warning of the impending disaster.
This is why it is so important to keep options open after choosing a software vendor. Insist on prototypes, and get them into the hands of end users. Be on the lookout for warning signs, and be prepared to pivot, if necessary.