Software engineering involves working within a complex systems of people, processes and code and therefore failure is inherent within the process. The problem is people are not very good at embracing
Keywords: failure, leadership, interpersonal risk, biases, experimentation As individuals we are not the best at learning from our failures. Many psychological studies have shown how our innate unconscious biases can cause us to avoid, deny, distort or ignore our own failures. This leads to decreases in learning, risk taking and experimentation which are all needed for innovation in software teams.
In this talk I’d like to address:
Embracing failure: Biases such as confirmation bias, fundamental attribution error and others can lead us to be less willing to look at our failures and miss the opportunity to learn from them. Enabling people to see the nuances within failure by having better definition of it can help them to start working with failure rather than against it.
Leadership to learn from failure: By creating the structures to experiment, helping people to fail in safety and extract the value from it can enable people to start learning from failure as a team.
Testing for failure: Testing is crucial for experimentation otherwise how would you know if something has worked or not? But there are many forms of testing from unit to exploratory testing and testing in production to observability.
How do all these different testing and monitoring types enable software teams to learn from failure and when should you use each one? I’ll visualise the common approaches, the value of the feedback it gives you via the types of failures it generates and when best to use it. All helping you to better assess when you should use them.