It’s all over the news: an app designed to streamline primary results from the Iowa Caucus failed on the day of voting and is having repercussions on the Democratic primary and election security as a whole.  

The spotlight of this story has been on a start-up called Shadow Inc., whose app is responsible for the delay in results. 

History is a great teacher. Despite the emotional havoc that Shadow Inc.’s app has wreaked on much of the country, we have the unique opportunity to learn and grow from this mistake. 

Even if you’re not an app developer, there are great lessons for small-to-medium businesses to take away from this week’s political event.

So, What Happened? 

On Monday, February 3rd, thousands of eager voters gathered at the Iowa caucuses, ready to be a part of the historic reveal of the Democratic front runner for the 2020 campaign. To streamline results and expedite the voting count, the Iowa Democratic Party hired Shadow Inc. to build an app that would make it easy to tally caucus votes and send them in. But the app failed, and candidate votes did not make their way to the party.

The next day, eager citizens were left with unanswered questions about the true results of the Iowa caucuses. Instead of reporting on immediate results – which has been the case of caucuses in years past – the big story was the shock and a disappointment to politicians and citizens nationwide that such an important event could be bungled so poorly. 

Over the next few days, it was released that the delay in results was caused by inconsistencies in the data reported by the app. Piece by piece, the story began to unfold of an app that was rushed to market, inadequately tested and subsequently difficult to use and unreliable.

Now, Shadow Inc. is the most talked about app developer in the country, there’s no clear front runner for the Democratic party, and Iowa’s first-in-the-nation status is being called into question. 

Shadow Inc.: What They Did Right & What They Did Wrong

The makers of the app in question, Shadow Inc., set out to modernize a process that could be considered antiquated in the age of mobile technology. Their vision was a valiant one: optimize an integral legacy system that had remained stagnant for ages. 

The app was designed to replace manual vote-tallying work with a digital, automated system, freeing up time for important tasks that required human involvement. 

On paper, this improvement was exactly what the Iowa caucuses (and elections in general) needed. 

The execution, however, had the opposite effect.

With a national deadline to meet, the creators of the infamous app had little room for unexpected changes to their launch timeline. With only 3 months from the start of development to their deployment date, any bump in the road meant developer resources had to be pulled from other tasks . 

Quality-check measures like research, prototyping and testing were pushed aside due to the project’s time constraints. And while those tasks weren’t directly tied to the physical launch of the app, their exclusion ultimately caused the failure. 

One can only assume that had Shadow Inc. spent more time and resources testing and vetting their app’s core functionality, the bug responsible for corrupted voting results would have been discovered and fixed.

What Can SMBs Do to Avoid Shadow-esque Failure?

The lessons to be drawn from the past week’s public event are of vital importance to businesses looking to launch their own new initiatives. 

Whether it be a product, a service, new page layout, checkout feature, or a brand, there are crucial steps you need to take in the execution process that just aren’t worth skipping for a speedy launch.

You’ve seen what can go wrong when you rush through user research and testing first-hand. If you were watching the Iowa Caucus coverage, you probably saw it unfold in real time. Businesses of all sizes should invest time into 3 key aspects of the user-driven development process to avoid launching something that causes issues, loses customers, and (in the worst case scenario) potentially ruins a national election..

User Research

The first step of user-driven development is rooted in user research. When a company conducts thorough user research before and during the creation of their new initiative, they can uncover issues and subsequently fix them. Common issues include: 

  • Customer pain points your initiative doesn’t address
  • Common app and user errors
  • Usability likes/dislikes
  • Additional features that should be included but weren’t initially planned 

While you will need to allocate adequate development time into the user research phase in order to find these types of answers, you’ll often find that the increased time invested here saves time in later stages of development. 

With a thoroughly fleshed-out idea that is backed by user research, less time will be spent putting out unexpected fires or reworking things to include something that was initially forgotten or overlooked. And while user research on its own doesn’t squash all pre-launch issues, it teases out and reduces the number of things that could possibly go wrong. 


For businesses that don’t have access to their target audience in order to conduct user research or testing, iterative prototyping is the next best option. It’s unlikely that your internal team is an adequate representation of the customers that will come in contact with your new initiative, but having multiple team members interacting with a prototype can yield an end product that is more likely to succeed in future prototypes. 

We can break this idea down into two important parts: prototyping and iteration. 

  • Prototyping: the importance of prototyping in this situation is that it’s a lower risk way to test ideas for functionality and potential success
  • Iteration: adding in the process of iteration allows you to diagnose issues, alleviate them, then take a step back to look at your product as a whole so you can run through the diagnostic cycle again 

User Testing

User testing is best paired with user research, but businesses can benefit from user testing without user research too.  

Thorough user testing is probably the best way to diagnose and fix potential issues. Watching someone actually use your app, go through the checkout process, or navigate a new user flow can give you insight into issues you (the initiative owner) would have never foreseen.

Proper user testing can be tedious, time-consuming, and expensive. In the tech world, user tests for app and web products are often conducted with laboratory-quality precision and have rigorous standards and documentation. In addition to the cost of securing users to test your product, you will also have to consider the cost of fixing any issues, which could be numerous if you haven’t devoted adequate time to user research and prototyping first. 

Finding a Balance Between Over- and Under-Preparing

Preparation is a vital part of the launch of any new initiative, but there’s a point when extensive, overly-thorough preparation can hurt your chances of success. 

When you’re perpetually stuck in preparation mode and unable to progress, you slip into the realm of inaction, which is often a company’s worst enemy. When you are constantly plagued by the feeling that your work isn’t ready, or you push off launch dates because you aren’t 100% sure your initiative will succeed, you are struggling with inaction. 

Most of the time there will be a degree of uncertainty with any launch. If you are struggling to find the balance between inaction and under-preparation, there are steps you can take to break the standstill:

Minimize Risk

The best way to minimize risk is to invest in adequate user testing. Other ways to minimize risk include being honest about expectations, internally and externally. Avoid assumptions throughout your development process that could come back to bite you down the line.

Prepare for Some Things to Go Wrong

When NASA runs test flights for their astronauts, they test hundreds of challenges, screwups, and malfunctions so that their astronauts are prepared. Only the very first and very last test flights are conducted without any hiccups. This is designed to prepare astronauts to deal with challenges on the fly. Even if you feel like your product is perfect, consider everything that could possibly go wrong with a launch and prepare for it. Make a list of these things and come up with a plan of action if they occur.

Soft Launch with a Smaller Group

If it’s available, try out a soft launch of your initiative before diving head-first into your core market. If you have repeat customers, give them access to new features or designs first and get their feedback. Your most invested customers will be able to give you honest feedback. Listen to that feedback carefully, and address potential issues before doing a hard launch in your biggest market. 

A Eulogy for Shadow Inc.

We doubt that Shadow Inc. had plans of being a national news headline for any reason, let alone a massive screw up. They’re probably sitting in a board room somewhere going over their process and identifying all the places where they overlooked an issue that ultimately led to their failure. 

The last thing we can learn from Shadow Inc. is that failure doesn’t mean the end – it’s an opportunity to improve and get better. Did a recent site update cause customers an issue? That’s fine. It happens. Resolve it as quickly as you can and improve your process for making changes going forward.