Why Scrum is not the golden ticket to great software development
I am sure you have heard the never-ending debates of how to organize development teams for years now. The rage is real — and it does not seem to stop. Being a technical consultant, I witness how many clients do not understand why things are not working out, although they have introduced Scrum. Mostly everyone complains about the following:
- We talk more about the process than do the actual work!
- Why are we being managed along every single step of the way?
- The daily meetings feel like useless status updates.
Now the question arises — is the Scrum concept the problem or what is happening here? This article aims to clarify the role of Scrum in software development and many false assumptions.
I am sure you are familiar with the Waterfall framework — where the client gets the end product and gives feedback after all has already been built.
Scrum is first and foremost an alternative framework. It is used for product development as well, though the client is constantly testing new product increments and provides feedback. This approach is supposed to minimize waste of resources and maximize product value.
In this framework — teams release so-called “product increments” within a specified time-period (usually: every two weeks) and then receive feedback from stakeholders (clients). This approach serves the main purpose to get early feedback on and streamlining what the client wants with what is built.
These time periods are called “sprints”. Every sprint comes with a planning session. During which the entire team agrees upon how much work it will be able to do in this period. The product owner prioritizes the work.
While there can be many issues at hand with introduced processes, there is usually one root cause that is responsible for most problems.
Scrum is not the answer to issues within your organization!
If management does not recognize this simple truth — any team will face tremendous issues.
First of all, everyone is different. And thus everyone has a different working style. Some people enjoy meetings, some don’t. There are people who love to work until morning and others who are early risers. No matter which style you prefer, they all come with their pros and cons.
Sometimes companies focus more on their preferred working style rather than focusing on what works to deliver a finished product.
Speed-oriented teams are going to have issues with an increased scope inside of a sprint while others will struggle with the daily stand-up.
Instead of blaming Scrum, you can try to change the working style to meet your goals.
I must agree, calling a timed period “sprint” is not ideal, if speed is not what it is about. I would also underline that the term “velocity” does not help in making a case here.
The purpose of Scrum is to deliver a finished product. Of course, Scrum aids in making your teams deliver things faster. But embracing the repetition— it is not about speed. It is about getting from start to finish. Completing a product.
Simply put — Scrum does not aim to make you get there first…but rather helps you to get there.
Scrum establishes a team identity and needed roles for a targeted process.
Therefore it is very important that the scrum team participates rather than delegates. Meetings are for exchange and decision-making.
Nothing is worse than having meetings without the people who are in charge of making the decisions.
One big part of Scrum is the daily meetings. Contrary to what one might think, they should not be focused only on what everyone did.
These meetings are important to highlight roadblocks, issues, or approaches to problems. Here the role of the Scrum master can be quite helpful in enabling a valuable exchange and focusing on the right environment.
Scrum is all about making mistakes. Do you get everything right on the first try? That is why the framework is highly iterative.
Not only in the road to a final product but also the operation of the process itself. Scrum is easily adaptable and thrives through constant improvement and adoption.
Luckily Scrum is all about iteration and change. If you find yourself having an ineffective process — well then change it!
Scrum masters can help to create just the right positive environment for team members to give their feedback and to reduce conflict.
In many companies, developer teams often work detached from the decisions and discussions that drive the goals of the company.
Scrum wants decisions, direction, and development to come together.
Scrum is a great framework that helps companies to ensure that product development is focused on minimizing waste and maximizing value.
But Scrum is not a golden ticket to solve all your problems.
Therefore you need to make sure to keep a good company culture, have developers and decision-makers work closely together, and most importantly — realize bad processes and improve them as a team.