All Blog Posts

The Value of Simulations in Building Better Software

At this year’s ABI Conference, I attended the University of Iowa Medical Innovation Tour where I got to see the Stead Family Children's Hospital, the Nursing Clinical Education Center, and the Advanced Driving Simulator. I was amazed by the innovation happening in this space right here in Iowa!

The part of the tour that most resonated with me was the Nursing Clinical Education Center where we saw how they use simulations to practice their response to potential medical situations. Their teams set aside time to practice real-life scenarios, which in and of itself wasn’t too surprising. I did have some unexpected takeaways, though.

  1. Simulations can improve team interactions, not just individual learning. In an emergency situation, there could be up to 20 people in one room working to save one patient. How is everyone communicating? Are individuals knowledgeable in their specific tasks and well-equipped to perform their role in the larger picture? The sessions are recorded, allowing the people involved to observe and assess their own actions and behavior, and to learn from what they did individually and as a team.
  2. Simulations allow them to test the environment, not just the people. By taking their experiments to the actual locations—be it a hospital room or the middle of a field—they are able to identify missing equipment or ineffective processes, exposing issues before real patients are involved.
  3. The ROI of simulations is hard to measure. In a healthcare setting, catching issues during a simulation could literally save lives, but how do you measure that? Especially when you can’t prove that someone would have made a different decision in the same scenario without that simulation?

As I toured, I realized there are a lot of similarities in the underlying reasons behind—and the challenges of—doing these kinds of simulations in a healthcare environment and in testing software.

First of all, people are unpredictable. Because of this, we recommend our clients have beta users start interacting with their systems as soon as possible during the development process. It’s also important that they use it in scenarios that are as close to real-life situations as possible to help catch any use cases that we may have missed. Simulating real life in these ways can help uncover things we couldn’t have anticipated because of the unpredictable nature of the human experience.

Similar to the simulations in the medical environment, it’s hard to measure the value of user testing.  Even without a clear measurement, we believe that before a software system is built, you can learn a lot by using wireframes and mock-ups with potential users. By having them work through scenarios in a simulated software environment—anything from post-it notes to a prototype—you can make adjustments before it’s too late or too costly. These activities help us understand how a software system might function in the real world before it’s even built, and that helps us build the right thing the first time.

So, what do I hope you learn from this article?

Understand your tolerance for risk and know you have options.

There is a whole spectrum of options for managing the risk in software projects. By performing user testing, you can find issues early in a controlled environment that gives you time and space to think through how to respond to or avoid the issues altogether. Or, you can skip user testing, wait until an issue occurs, and then figure out the solution when the pressure is high. Both options require an investment of time and money. Testing ahead of time means making a predictable investment ahead of time (because it’s planned). Waiting to fix an issue until it’s discovered by a customer delays the investment and also increases the risk of the problem negatively impacting your reputation along with your bank account. In this scenario, the cost is unpredictable because we have less control over the environment and timing of finding the issue.

Understanding your tolerance for risk is the key to helping you take the most appropriate course of action for you and your business. 

If you have questions about user testing and the value it brings to your software project, reach out.