The Agile Manifesto was written in 2001, and within a few years, there were small pockets of Agile development happening at Microsoft. It took a few more years of learning Agile and seeing it in practice before I realized how much Agile practices could help software delivery. I also noticed - along with a colleague, that faster delivery cycles - and especially faster feedback cycles was having an impact on how software testers add value to software delivery.
So, Brent and I started the AB Testing podcast, primarily to talk about the changes we were seeing, and to try to help software testers and their teams understand how their roles could change. We wanted to see if we could help people understand and embrace the changes that were happening in how software is delivered. I know it works, to some extent, at least, because people tell us that we are describing what they’re seeing.
Now - we’re over 20 years into Agile, and from what I’ve seen in blogs and posts, the industry has three main views on it.
Agile is awful because it doesn’t work (side note - We Tried Baseball)
Agile is awful, because it’s trying to take my job away
Agile is accelerating our ability to provide massive value to our customers
They’re Coming for Me!
I know a lot of people feel strongly about number three above (and those that feel strongly in a negative way likely fall into the camps of one or two). Frankly, I can’t write a better commentary on why people think Agile doesn’t work than Ron Jeffries does in the baseball article, so I’ll leave that pointer for anyone in that crowd.
What is - and what remains interesting, is the notion that Agile is taking away jobs - which it sort of did - but only if you let it - and is, once again, why Brent and I started the AB Testing Podcast.
Agile delivery has changed what many software testers do. When teams release updates multiple times a day, a tester’s role may change. When developers write the vast majority of automation, a tester’s role may change. When a team can get almost real-time analytics on how the software is behaving in production, the tester’s role may change. It’s well known, for better or for worse, that my opinion is that most software teams don’t need dedicated testers - and I’ve helped hundreds of people across dozens of teams make this transition. It’s worth noting that I’ve never fired nor laid off a tester during one of these transitions - instead, I’ve helped them move into new roles where their background in quality helps them continue to provide value in this new world.
Feels Like the First Time
I remember listening to the radio on the way to work 25-ish years ago, and someone was venting about how their company bought some machine that was going to make his job obsolete. I feel like there’s a pretty consistent cycle of some disruptive technology coming along that makes some portion of the industry feel like their job is going to get taken away.
Feels Like the Last Time
These days, news, blogs, and social media posts are filled with references to AI. Those that have an opinion, fall mostly into three camps.
AI is awful because it doesn’t work
AI is awful, because it’s trying to take my job away
AI is accelerating our ability to provide massive value to our customers
When Chat GPT first splashed down, my LinkedIn feed was full of people showing the ways that Chat GPT gives unhelpful or wrong answers. Chat GPT is really bad at math, and it’s kind of bad at anything that needs a specific answer. That doesn’t mean it doesn’t work - those questions just highlight what it’s bad at.
Again, what’s interesting is the notion that AI is going to take away jobs. And once again, I’ll say, that it could if you let it. But - what AI or Chat GPT can more easily do for you is accelerate your own learning - or, give you ways to analyze data that may have been much more difficult before - or <whatever you can imagine>. Instead of finding the things that AI can’t do, find the things that it can do to help you think and learn.
The Adjacent Possible
In Where Good Ideas Come From, Steven Johnson talks about the Adjacent Possible.
The adjacent possible is a kind of shadow future, hovering on the edges of the present state of things, a map of all the ways in which the present can reinvent itself.
I think we are seeing the Adjacent Possible today with AI and Generative Language Models. There are things we are about to be able to do that we couldn’t imagine a year ago. You can ignore it and say it doesn’t work, or you can dismiss it and dig your heels in because you don’t think it’s going to change the way you work.
Or you can use it to improve, and accelerate, and introduce the next big thing. Technology disruptions happen, and they can be scary or exciting - it’s up to you. As Brent sometimes says, “you can be the butterfly, or you can be the wind”.
-A