DevOps, CI/CD, Fail Fast, testing is dead.
Daily, we are pushing the boundaries of how fast we can deliver software. Continually running on a knife’s edge between great success and horrible failure.
Delivering something new, better, faster than our competition can mean incredible payoff and we are continually being asked to cut costs and deliver more, faster, cheaper. But then suddenly, you fall off the other side of the edge and wake up to 189 dead in a plane crash or having to take down and redesign your entire banking service because the architecture didn’t hold up to the load. It probably wasn’t your decision to push that to production, but one can imagine that a long chain of people has to have made several small (or huge) decisions that led up to that result.
So, where do we draw the line? Do we let that potential risk slip by even if we know it might potentially cause someone to lose time, money, or even health? What are we, as individuals, responsible for, and how much can we hide behind the chain of command?
We will explore the ethics of software development, focusing on quality in general and testing in particular. We will look at what costs the context switching between solving a problem and finding the gaps in the solution will add to software development and why testing is so much more than automation and scripts.
We will talk about the relationship between tester and developer, how delivering feedback and embracing critique can strengthen that bond and how the right question in the right room at the right time might save you from drowning in angry customer calls further down the line.
We will delve into several interesting bugs and loopholes to discuss what can be learned from them and how to make sure that at the end of the day, we will sleep soundly, knowing we made our choices not because they were comfortable but because we believe them to be right.