The existence of a heavyweight risk management process is a good indicator that a company has failed to embrace the essence of what agile is. But software development is risky. You’re creating something new, with an uncertain set of requirements, in an often tight timeframe. And don’t get me started on unknown dependencies, sudden market changes, and personnel shifts! You know that without some sort of risk mitigation strategy, your bright and shiny new project can tarnish quickly, along with your reputation. So, if you don’t have a formal risk management process, what do you do? After all, agile frameworks like Scrum and Kanban don’t explicitly mention risk at all. The solution is a matter of principle–agile principles that is.
In this presentation, I discuss the most effective ways to address process, product, and customer uncertainties during agile product development. I explain how doing good agile, based on solid agile principles, can prevent risks, without having to resort to a complex process to deal with risks that we easily could have avoided. I discuss and provide specific examples of how proper application of agile is inherently risk adverse. I also demonstrate types of uncertainty that agile principles cannot eliminate. For these instances, I present lightweight techniques we can employ as a core part of our agile process, as opposed to some special, outside-the-normal-flow process.