/ How to Fail-Fast in app development in 2021
Successfully failing fast in app development is much more than just choosing the right software packages. This post will act as your tech startup guru, taking you right the way through from team attitudes to automation hacks. Strap in and get ready to successfully Fail-Fast.
Thu Jul 15 2021 - 5 min read
Startup culture obsesses over “Fail-Fast” - and with good reason. For the uninitiated, Fail-Fast is the idea that you should test your ideas and challenge your assumptions as early and as quickly as possible.
Originally used in system design, the Fail-Fast philosophy gives us a mantra with which to guide our business experiments. And ultimately, help us find what works quicker than traditional business approaches.
However, successfully failing fast in app development is much more than just choosing the right software packages. This post will act as your tech startup guru, taking you right the way through from team attitudes to automation hacks.
Strap in and get ready to successfully Fail-Fast.
Most human societies deplore failure. In the world of exams, driving tests and new app launches failure is the one thing we seek to avoid. Individuals often express this in a series of negative emotions ranging from shame to imposter syndrome. Failure can feel raw and personal so remember to be kind when discussing it with your team.
The first step in building your Fail-Fast culture is making sure that you and your team recognise and make peace with the positive side of failure. Knowing and believing that failure always teaches us something useful and that learning is deeper and more clear cut when we know what doesn’t work.
Top tip: Use these coaching questions to help your team recognise the benefits of failure.
If your team is outsourced, then why not ask them how they are handling failure on your app project?
“The way you ask for criticism and react when you get it goes a long way toward building trust—or destroying it.”
- Kim Malone Scott, Radical Candor
The next most important thing you should be doing is encouraging a culture of feedback. Build trust and openness by asking for and giving regular feedback. Errors are inevitable so frame them as a chance to learn.
A 2017 review found that “socially prescribed perfectionism” was associated with an inability to cope emotionally with failure. Teams that have an open feedback culture where failure is recognised as healthy rebound from mistakes more positively than those eschew errors.
The simple truth is that if something is wrong with your app but no one feels comfortable saying so then the failure will go unnoticed until the impact can no longer be ignored. A Fail-Fast culture is a space where feedback - positive or negative - is always valued and collaboratively addressed.
Remember science class at school? The scientific method and Fail-Fast have a lot in common. At its core, we are seeking empirical truth. It could be knowing the success rate of a new vaccine, or the failure rate of shopping cart checkout.
The key question we are asking is: how well does it work? And the answer has to be a number.
One of the most powerful techniques available to app developers is A/B testing. The basic premise is that we produce two different versions of your app and randomly distribute them to two different user groups.
For example, you might know that 7.8% of users will use the share button during a typical session. If you make a new share button, you could distribute it to 50% of users (group A) whilst the other 50% (group B) uses the original share button.
If you find that sharing goes down from 7.8% to 4.6% in group A but remains at the same in group B then you know that your new share button has failed.
Assuming that sharing is a driver for app revenue, not discovering this failure could have a meaningful impact on the ultimate success of your venture. By failing fast, you have minimised the negative consequences of that failure.
Another powerful strategy is Continuous Deployment (CD). With CD, you release “little and often” - daily or even hourly - so that your app always has the latest code.
The strategic advantage of CD is that if a feature doesn’t work, you’ll hear about it as soon as possible. Typically the bad news will arrive via user bug reports or production monitoring systems.
Worried this won’t work because you’ve not invested in analytics?
Read 5 places you shouldn’t scrimp when it comes to app development
Once you’ve got an open feedback culture and some strategies to shape your app development process then the final step is putting it all together with a modern tool suite.
The good news is that 2021 doesn’t disappoint and we have more options than ever to implement our dream Fail-Fast tech stack.
Sentry is an application monitoring framework that gives you real-time and historic insight into errors and issues in your application. You should implement Sentry so that when things fail, you can quickly trace the source and occurrence rate.
One of the more popular options for A/B testing in mobile apps is Firebase Remote Config. This tool allows you to dynamically swap in functionality without the user needing to update the app. It also plays nicely with other Firebase tools such as analytics.
EAS Update is a rapid distribution technology currently available for React Native. It means you can deploy new features to users’ handsets in minutes and implement a Continuous Deployment pipeline that even your web dev friends will be envious of.
If you’ve not yet migrated to Expo then you read what you’re missing out. Read: React Native developers, here are three reasons to reconsider Expo in 2021
There are quite a few options available for analytics. We’ve gone for MixPanel as their User Flow Analysis graph is included as part of their free tier. Whichever tool you opt for, make sure it can give you clear numbers about how the app is being used. That means percentages of dropouts on key user flows and reporting on new feature adoption.
The humble pull request remains a stalwart of the Fail-Fast toolset and should be your go-to example when coaching your team on open feedback culture. Make sure peer review workflows are thorough but fluid to minimise disruption to the team.
You might be feeling overwhelmed by the depth and breadth of failing fast in app development. But there is no need to implement a complex Fail-Fast system on day one. Gradual adoption works well.
Put together a ‘starter kit’ for your team. For example: feedback coaching + Continuous Deployment + Sentry would be a great first step.
At App Sapiens, we advise pioneering organisations on how to approach and implement Fail-Fast in their teams so drop us a message if you’d like some pointers.
Henleaze House, 13 Harbury Rd, Henleaze, Bristol BS9 4PN
+44 (0) 117 242 0671
Latest from the blog
How to Fail-Fast in app development in 2021
5 places you shouldn’t scrimp when it comes to app development
Weighing up Progressive Web Apps (PWAs) vs React Native? Here’s what you need to know
Why Flutter development is still in the slow lane