One of the most common discussion that always seem to pop up again and again, is whether Scrum /Agile is good or bad. I don’t know why, but in most cases, it’s starts with a claim that Scrum is not good since it… and then state a reason. (Or with the claim that Agile is dead)
Scrum is not a good process cause its not complete, it doesn’t define everything you need in order to succeed.
Scrum is not a good process. Team members are not equal, each has his own set of skills and ability and treating them as equals will not work.
And although in many cases, those arguments make some sort of logic, what most of them are missing is that scrum is NOT a process. Scrum is a framework.
Don’t get me wrong, I don’t believe in silver bullets, I don’t think that there is one solution (process) that fits them all. Each project context is different. The people involved are different, the technology varies, the business domain changes. While there are common patterns of issues and behaviors that we can look for, at the end each project is a unique, and therefore will need a different way of doing things in order to succeed. That’s what I love about Scrum (and Kanban and XP), they are flexible enough to handle most of the diversity you can find.
Scrum as a Framework
Scrum is just a tool. But a tool for what?
Many people consider scrum as a process for software development. That is, Scrum is a tool used in project management that will help you to create a product at the end. But that’s not exactly right.
Scrum is actually a tool for creating other tools, more specifically Scrum is the tool which you use to create a your development process. The process that you end up with after you “applied” the Scrum tool, is the “tool” you use to build your product.
Confusing? Yes? Let's try again.
Normally this means, that in the process of using Scrum you take the company, the people/team, the technology and the product. Those are things you feed into the Scrum Machine (along with many other things) and at the end after some time you get one new development process. That process is what you use in order to manage your project.
Scrum is not a Process
So what’s the actual difference? Why, the fact that scrum is a framework important?
When I see teams taking Scrum as a process, what many of them fails to realize that there a lot of hard work involved. They start with using Scrum and expect that all of their problems will go away. They read the book follow everything that is written there with the best of their ability and they expect that everything will be fine. What then happens is that Scrum does what it was meant to do, it starts by surfacing all the underlying dysfunctions that have been will hidden there. That’s what Scrum does best.
In order for a team to create a good working process, it must resolve its dysfunctions. The Scrum framework was designed with the sole purpose of exposing them in order for the team to face them and find a working solution.
In fact, this is exactly the stage in which many Scrum adoptions fails. Its seems to be really hard, When a team starts using Scrum all kinds of problem starts. So clearly if Scrum is causing all these problems it might not be such a good idea.
In some case the team will try to stick a little longer with the Scrum book. That usually doesn’t help. In other cases the Team will revert back to old habits that seem to have worked in the past. That doesn’t work as well. They either end up in their old process (and then the claim that Scrum has failed) or they end end up somewhere else that technically looks like a scrum based process, but in essence is not (a mini waterfall is one example)
Scrum book has no solution for dealing with bad coding, it states nothing about how to create a good flexible architecture. it doesn’t give you an idea how to handle two team members that simply cant work together,….
Knowing your tool
There’s a reason why most scrum implementation fails. Like any tool, one need to learn and practice using it. No one expects that his holes will be perfect the first time he picks up a power drill. Right?
Managing a software project is a little bit more complex than that, and still people read the scrum book which seems to be simple enough and expects everything to work. It doesn’t, Especially if you confuse your tools. Especially if you think that Scrum has all the answers, Especially if you think that since scrum defines three roles those are the only roles that you ever need on a project. Especially if you think that the 4 ceremonies are all the meetings you will ever need. Especially if you think that a daily meeting is just a daily status report, Especially if you think that you can continue writing the software like you ever did and still deliver something every two or three weeks, and I can continue forever like this.
Especially if you fail to realize that when using Scrum you will need to work hard in order to create a working process for your team.
So one more time
SCRUM IS NOT A PROCESS
Are you also
- Feeling you can do a lot better?
- Thinking there’s much more to Scrum and Agile?
- Having a hard time Finding your place with the team?
- Doing things you are not sure you fully understand?