Software fails a lot. We spend a lot of time trying to fix failing software... and sometimes we fail at that too. How can we get better at it? Here are some questions that this talk will try -- and probably fail -- to answer:
Why do we so often do things wrong when we know how to do things right? How can we create a supportive environment that is tolerant of failure? Why do we keep repeating the same failures? What do other companies do that make them better at responding to failure? What does a company's culture have to do with their ability to respond to failure?
How do we observe and reason about failure? Why is it so hard to estimate things that can fail and what can we do to get better at it? Can we measure how efficiently we resolve failures? What sort of failure response strategies could we use and what are their tradeoffs? What can system complexity and human psychology teach us about failure?
From systems thinking to project management to the interaction between culture and process, if you've ever wondered why you keep experiencing the same problems writing and shipping software then this talk is for you.