What does a developer gain by embracing Scrum? I’m a strong believer of Scrum, but some time ago, I got my beliefs questioned. That is always good because it forces one to think them over again and reason about why one believe in certain things.
It was not until several months later that I realized how much I learned from having my beliefs questioned. At the time, I guess it was too painful for me to find out that things I thought were universal truths where merely my own beliefs. Working on a project with a plan that is constantly moving (even on things where coding has started) makes me feel uncomfortable, so for me as a developer, scrum is a way to make me feel better. I don’t need any more arguments for why I should embrace scrum. When I was faced with the question “why” it was an awkward experience, because I didn’t have any good answer.
To be honest, my first instinct was that becoming more professional is sufficient as an argument. But when I think deeper of it, that is not a good answer. Just because I find it so important to be professional that I see it as a value in itself, that doesn’t mean that everyone else does. No, I have to answer the question:
What’s in it for me as a developer, if we adopt scrum?
Looking back at my own career the best projects have been those where we’ve had a well working scrum team. Scrum gives a good balance between adjusting the project to changed circumstances and giving some planning to hold on to. Working in a Scrum team means that I know what to expect tomorrow when I go to the office. I know what I have to do in the close future: Reach the sprint goals. The goals have been negotiated at a sprint planning where I’ve had a say, so they are realistic and reachable. I know what’s expected of me and what I will be measured against. No more endless death march waterfall projects towards a distant deadline. No more running on every request that comes in as is the normal state in ad hoc projects.
If I try to summarize the personal gains in one sentence it would be about reduced stress:
Clear and realistic expectations reduces stress and gives a reachable goal.
That’s on a personal level, but there’s gains for the team as a whole too.
For the team, the daily scrum and the scrum board improves communication and make sure everyone knows what’s happening. To get everyone informed is a key step towards getting everyone involved and aligned working together.There’s also another important thing that the planning can allow: room for longterm improvements. If the team always makes sure that’s there’s a few technical stories for improvements in each sprint, there will be long term improvements. Without planning it is far too easy for the team to get stuck doing only urgent things. Both those urgent things that are important bot also the dangerous urgent but not important things that are not worth spending time on.
Importantcy vs. Urgency, courtesy of Staffan Nöteberg
Regardless of planning, the fire fighting has to (and will) be done first. It’s what happening after the fire is put out that’s important. When the planning is done based on the entire backlog it’s much easier to keep focus to the important, long term improvements. Without that overview it’s easy to start running on the urgent non-important things instead.
No One is an Island
The same things that are important within the team are also important outside of the team, in the rest of the organization. No one (or team) is an island. We all interact with other people and a team interacts with the rest of the organization. Adopting scrum will make the team’s deliveries more predictable. The team will become a trusted partner for the rest of the organization. Soon, the pressure and sense of urgency from the rest of the organization diminish and finally fades away. When the organization trusts the team, they will no longer feel the need to put pressure on the team with urgency to get things done.
The team will transition from being a weak link of the organization to being a the trusted pillar. Being trusted gives more freedom for the team to find their best way of working.
To me, as a developer, embracing scrum is to embrace professionalism. It is to embrace change while preserving planning. Agile does not mean unplanned. Agile means just in time planning that gives peace of mind.
Embracing agile planning is to embrace change, while on the same time holding on to the level of planning required to be efficient and effective.
Embracing agile and scrum also means embracing transparency. It can be very scary at first if there is no habit of trust within the team, but in the end transparency builds trust and transforms a group of people into a highly efficient team.