Businesses don’t write and release software for the fun of it. They write code to meet business needs. Of course, no software is without bugs, and no process is without edge cases, missed opportunities, and the normal sprinkling of errors. This means that each release is the result of a risk assessment that has determined that the risks of release outweigh the costs of failure to push to production. Because we’re human, that assessment is coloured not just by the fear of risk.
Canary releases, feature toggles, vigilant monitoring, and clearly defined rollback procedures are all technical approaches to mitigating this risk, but what else can we do? In particular, what can testers contribute over the lifetime of the project to keep the risk as low as possible? Over the course of this talk, we’ll recast the software development lifecycle as a conversation about risk. We’ll discuss the position of testers in a team, the role of testing, and the place that automation has in the conversation that is software development as a mechanism for assuaging the fear of risk.