Scrum is just a tool
Today I read an article by Martin Fowler called Flaccid Scrum that gave me a lot to think about the way I’ve seen Scrum used. He talks about a common problem in software development where the speed of a team starts to go down and down. The development process stagnates. It gets harder and harder to add new features and technical debt starts to accumulate more and more. He then says that kind of problem is quite common with teams doing Scrum. See this quote from that article:
For many people, this situation is exacerbated by Scrum because Scrum is process that’s centered on project management techniques and deliberately omits any technical practices, in contrast to (for example) Extreme Programming.
That single sentence shed a lot of light to help me understand why Scrum teams seems to accumulate so much technical debt. Let’s try to understand why that happens. The problem as I see it is because people put a lot on emphasis on getting Scrum right. They go repeating the Scrum procedures here and there, telling people what to do when situation XYZ arises. I hear things like:
- Morning stand-ups shouldn’t take longer than 15 minutes.
- You should mention what you did yesterday, what are you going to do today and what are your impediments.
- You can’t add that task now since the sprint started already.
- The team should pick the tasks in a shopping card manner in order to commit for the next sprint.
- And so on…
Also I’ve heard Scrum maxims repeated over and over, again and again: “In scrum we do XYZ”; “According to scrum this and that”; etc., etc. That’s alright and I’m happy with Scrum and all, but there’s a problem with this kind of attitude. Scrum is a tool to manage/organize software development but, as Martin Fowler points out, there’s nothing in there that tells you how to do proper software development. And there’s where the problem starts.
There’s so much effort put by managers on getting scrum right that they forget to put some effort too on getting software development right.
We have to change that. We have to understand that we are developers that happen to organize their activities using Scrum and not the Scrum Practitioners organizing developers. Let’s improve our coding craft while we practice Scrum or whatever methodology is in Vogue.
In my case when I search for a job, I’m looking to work as a Software Developer, not as a Scrum Practitioner. I’m sorry if that doesn’t sound nice, but what I like to do is to develop software, to solve problems and to overcome programming challenges. Scrum just happens to be the tool used to organize our activities.