How Failure and Experimentation Lead to Success
How Failure and Experimentation Lead to Success
If your team is not failing, chances are they aren't succeeding much, either. Check out what this author has to say about failing quickly and safely.
Join the DZone community and get the full member experience.Join For Free
Building a new software product is a highly innovative and creative process. Things simply don't go to plan all the time, setbacks and failures are inevitable along the way. What makes a difference is how a team deals with them. Each failure is an opportunity to reassess, make a change and try a different approach. In order to succeed, teams must become resilient to failure and focus on the learning outcomes that they present. When we feel that it is safe to fail we are more likely to try risker experiments, and sometimes these riskier experiments have huge payoffs. Early on in a project, prioritising the product backlog by the user stories that bring the largest learning outcomes is hugely beneficial. Teams should ask,"What do we know the least about?" or, "What is our riskiest assumption on the project right now?" and prioritise this work to maximise their learning outcomes.
Time for a quick thought experiment. Think back to a time when you worked as part of a team that built a new software product and work out roughly how long it took to deliver the project from start to finish. Now, imagine if you could do the whole project all over again, with the exact same people and the exact same budget but with one big difference: this time your team already knows everything that they collectively learned during the project. Every rabbit hole and dead end you all hit would be avoided this time round due to these new collective learning. How much faster would the same result be achieved?
In my experience, it is 20% to 30% faster.
Wow, just think about that for a minute—product development teams spend at least 25% of their time reasoning with uncertainty, trying to figure out the right thing to do. What are the right product features? What is the right architecture to adopt? Will this technical solution work? Who is the target customer? What are their traits? What is the right pricing structure for the product? What is the best way for the team to work together?
When you think about it, the art of building a product is the art of successfully navigating through lots of uncertainty and the faster you accelerate your team's learnings the faster you'll get to the end goal.
Adopting safe to fail experiments on a project accelerates a team's learnings and delivers a better end product in less time.
Introducing the Growth Mindset
The concept of the growth mindset was developed by the psychologist Carol Dweck and popularized in her book, Mindset: The New Psychology of Success. Dweck proposes that people deal with failure in two very different ways depending on their mindset. Some people have a fixed mindset and others with a growth mindset.
People with a fixed mindset believe their intelligence and talent are fixed traits. They believe that talent alone creates success without effort. They don't deal well with setbacks and they try to hide their mistakes.
In contrast people a growth mindset believe that their abilities and talents are just a starting point and that they can be developed through dedication, hard work and learning. They are keen to learn from the people around them. They respond positively to failure and are best described in one sentence: "I can't do that...yet".
Failure is an opportunity to grow
I can learn to do new things
I like to try new things
Inspired by the success of others
Failure is the limit of my abilities
I'm either good or bad at something
I stick to what I know
Threatened by the success of others
Gives up easily
Agile teams that operate with a growth mindset have a much more malleable view of success. They do not view failure as a reflection of their ability but rather as a starting point for experimentation and testing of new ideas. They have a passion for learning and improving themselves and their team. They strive for continuous improvement and never give up.
How to Deliberately Create a Growth Mindset Culture
Firstly, you need to establish trust through open and honest communication within your team. Speak openly about every success and failure in a blameless way. Trust allows a team to communicate freely and respond to change more easily in a blameless manner.
Make it Safe to Fail
As a team you should collectively agree to expose your ideas and reasoning to scrutiny, despite the risk to yourselves. Egos must be left at the door. Recognise that your knowledge isn’t perfect and that things may not go as planned. With each success or failure recognise that progress has been made and then focus on the learning outcomes. Thomas Edison famously said, “I have not failed. I’ve just found 10,000 ways that won’t work.” He viewed every mistake and setback as a learning opportunity.
Take an Experimental Approach to Information Discovery
The “Build-Measure-Learn” loop is a core component of the Lean StartUp methodology. It encourages a feedback focused approach to building a product by testing assumptions and measuring the results in a systematic way with users.
By taking an experimental approach to information discovery you don’t simply build features in priority order from your product backlog and chuck them at users to see if they stick. Instead we shift focus from a feature factory to a laboratory.
Jeff Gothelf’s Lean UX book refers to these as experiment stories. These are logged in the product backlog along with all other types of work so that they can be visualised and prioritised against delivery work. This in term forces the conversation to happen about when experiments should be run and what value they bring. I like the format that Gothelf proposes as it explicitly spells out what needs to be measured
We believe that [building this feature], [for these people] will achieve [this outcome]. We'll know we are successful when [we see this measure]
It’s important to define what will be measured as part of each experiment and what success looks like before a line of code is written. Figure out the proper "exposed population" before you get going and once an experiment is underway avoid the temptation to change it in any way as this will skew the results.
Regularly Brainstorm for New Experiments
Run regular brainstorming sessions to encourage new ideas for experiments within the team. Run some risky experiments that you think are stupid—these may yield interesting results.
Scrutinize Every Failure for Its Learnings
Each failed experiment uncovers new learnings. These need to be scrutinized and shared freely with everyone. Analyze what happened, what can be learned from each experiment and figure out what impact this new learning has on the backlog and the underlying the assumptions for the product.
Since our childhood days we've been programmed to perceive failure in a negative light. In many organisations failure in the workplace is unforgivable and a culture of deflecting and concealing mistakes pervades. In order to innovate and build better products we must try new things and experiment with the expectation that some will fail. In a growth mindset team failure is most definitely a result to be proud of, and the quicker we can fail and learn from our failings the faster we innovate.
Opinions expressed by DZone contributors are their own.