Today I had an interesting conversation with a peer at work. We ended up discussing, in short, if we’re Agile (with capital A), or not.
One of the changes our company has gone through in the past couple of years (some of those I’ve been talking about in the Catalan version of this blog), is that we no longer have a team of Scrum Masters or Agile Coaches.
I don’t think having Scrum Masters or Agile Coaches immediately transform a company to be agile. Similarly, I don’t think not having such a team means the company is not agile.
“Agile” has become the standard term for Agile Software Development, a concept that was initially defined in the Agile Manifesto by some of the most well known gurus in the software development industry: Martin Fowler, Kent Beck, Uncle Robert C. Martin, and others.
This whole conversation reminded me of this amazing talk from Dave Thomas, one of the founders of the manifesto. I’m linking the video below, because I think it’s worth watching it.
I completely agree with Dave here. One of the main problems with agile development practices is that some people put more emphasis in the “Agile” part than in the Software Development practices one. It is just an adjective, it’s not a noun. It’s not the important part of what the essence of “good”, “fast” and “lean” software development mean. It’s not a goal in itself, but just a mean to an end.
And all those practices and methodologies exist just to support and to help us, developers, to be better at our job, writing code. But at the very first moment they start becoming “the way” of writing software, instead of just “a way”, we already broke the process.
I’m not saying coaches or scrum masters are not useful. They are, if the team needs them. But they should only be there (as a role) while it’s contributing to the team. And, based on my experience, for mature teams, they are redundant.