More often than not, Scrum seems like a Bad idea. At least, judging from the reasons that are often presented to me when I am asked to help a company get started with Scrum:
- "We want the team to take more ownership of what they're developing".
- "We want teams to behave more professionally".
- "We want to use Scrum to improve upfront estimates and stay within budget".
- "We want the team to work more efficiently and become more productive".
- "We don't have room for a project manager, so Scrum is our best option".
There is nothing wrong with these goals. I'm certainly not going to deny that Scrum may help you achieve them. But judging from what I've seen (and this includes dozens of implementations), I consider them as beneficial side-effects instead of guaranteed results. If these are really your only reasons for choosing Scrum, then look elsewhere. Scrum is not a silver bullet.
Scrum is not about increasing productivity, improving efficiency, cutting costs or pushing employees to be more professional. Instead, Scrum is one of the best approaches we have to navigate the complex domain of software development. It works from the tried-and-true observation that although customers may seem to know what they want, they actually have to figure this out along the way. It also works from the tried-and-true observation that although developers know how to address this need, they actually have to figure this out along the way. Scrum is all about collaborative discovery. To understand what the customer actually needs, and to understand how we can best address this need, we'll need to go on a journey together. Being a journey of discovery, we can't predict nor plan in detail what will happen down the road. But by learning together, in a transparent and open manner, we'll be most likely to find the best solution we can. This is beneficial to everyone, especially the customer and the users of the software.
What choosing Scrum means
Choosing Scrum is choosing to accept that collaborative discovery is the best way to help a customer achieve his or her goals. This has a tremendous impact on how we go about our work. It requires that customers and developers meet on a very frequent basis to share progress, learn from what has been created so far and adjust course as new and valuable ideas, insights and opportunities bubble up. This in turn requires a different way of contracting and budgeting of work. Instead of a fixed budget based on a fixed list of requirements, more flexible models will be needed. To best help customers address their needs, we'll offer flexibility over rigidity. By offering a flexible process, we help customers avoid the risk of wasting a lot of money on something that doesn't actually answer their needs. Not all customers will see it this way, meaning that our value proposition will change. Not every kind of customer will want to go along for the ride.
Choosing Scrum changes how work is managed. Given the nature of collaborative discovery, we'll have to tap into the professional expertise and knowledge of those doing the actual work. Since the best solutions arise from professionals working together, we'll have to treat them as the professionals they are. Or the professionals they will become when given the opportunity. This means giving people autonomy to make professional decisions, giving room for professional growth and the opportunity to self-organize in the best manner possible given the situation at hand. Scrum does not acknowledge the role of a 'project manager' because no-one should take responsibility away from those actually doing the work. This does not mean that the role of 'manager' will be dropped altogether. But their focus will shift from managing the work and the people doing the work to providing and shaping the best possible environment for collaborative discovery to take place.
The right reasons
So don't choose Scrum if you're only interested in improving productivity, increasing efficiency or cutting costs. Choose Scrum if you're primarily interested in collaborative discovery, with the knowledge that the aforementioned effects may be nice side-effects. Choose Scrum when:
- You want to reduce the (financial) risk of building what was asked, but not what was actually needed;
- You want to increase flexibility to address valuable ideas and insights that arise during development, and remain competitive;
- You want to move from being merely a supplier to being a partner;
- You want to work more closely with customers and users, so you can better answer their needs;
- You want to create a culture where teams have the opportunity to learn and grow professionally;
- You want to motivate people by increasing their autonomy to make professional decisions;
- You want to create an environment where people are involved and appreciated;
- You want to decrease risks and improve quality by releasing more frequently;
If this is what you want, I'll be very happy to help!