Scrum — Quo Vadis?

Alexander Grosse
AG’s Blog
Published in
4 min readJan 5, 2013

Ten years after the Agile Manifesto, Scrum is a mainstream software development approach. However, where has Scrum really proven to be successful? Many implementations are process- driven and neglect the core values of the Agile Manifesto and good software engineering by focusing purely on roles and meetings. Some organizations take the opposite approach and focus purely on XP practices. This article will take a look at what has proven to be successful and will show which approach is the most promising in which environment. Special focus is given on what can be considered as reasonable steps for moving from the current status of software development to something better (as the main intention should be to improve, not necessarily to simply introduce Scrum).

How often have we heard statements like “We do a daily standup and a sprint planning meeting, therefore we are doing Scrum and are Agile”? It should be obvious that this statement is far from true — but how could those misunderstandings happen? One of the core reasons is the way Scrum is (mis)understood and taught by Scrum consultants (who may have little experience in software development).

Developing software is not just a process; it is also about soft- ware engineering practices. Organizations need to invest in both: processes and engineering practices. Anecdotally, it seems that after the introduction of Scrum, some organizations appear to have a better process in place, but their software and its delivery have not improved.
As Scrum is introduced, a lot of money is usually made with certification and training, consultants are present during the first sprints, Product Owner, Scrum Master and team learn what to do and who is allowed to do what. However, will this really produce better software? The answer to this question obviously depends on how the organization developed software before Scrum was introduced. One thing is clear, however: you may be better, but you are far from optimal.Let’s first look at what should improve through the introduction of Scrum:

  • It creates visibility, to the Scrum team itself (where are we exactly, what are our next tasks) and to all stakeholders
  • The existence of a prioritized and estimated backlog is very valuable
  • Scrum aims for shippable software each sprint. This is a major step forward for typical organizations, where releases are done a few times a year and each release is very painful
  • Rightly implemented, Scrum removes the typical barriers between Product Management, R&D and QA

So a lot of good things! Don’t get me wrong, this article is not supposed to bash Scrum. It should rather show what needs to be done after or during the introduction of it. So what is missing, or what are common anti-patterns seen in Scrum implementations?

  • Often “Mini Waterfalls” can be observed: the first days of a sprint the team works on the specification, then they imple- ment and during the last days of the Sprint, there is hectic QA activity prior to the Sprint Review meeting.
  • In a lot of Scrum implementations the only success criteria is that the Scrum roles exist and all the meetings take place. This has obviously nothing to do with Agile software develop- ment.
  • Neither software engineering practices (like TDD or pair pro- gramming) have improved nor the delivery process of the software.
  • As Scrum does not include Operations staff in its team, this barrier still exists.

Before discussing this further, let’s have a closer look at the Scrum roles.

The Scrum Roles

There are three major roles in Scrum (descriptions taken from the Scrum Alliance web page):

The Product Owner: Decides what will be built and in which order. Also he accepts or rejects work results.
The Scrum Master: Is a facilitative team leader who ensures that the team adheres to its chosen process and removes blocking issues.
The Team: Well, they are the ones who deliver the actual work.
So, you need a team that does the actual work, you need someone who actually determines what is being built, but do you really need a Scrum Master? Nearly everybody would answer “yes, of course you need one!”. Let’s have a closer look why the Scrum Master is actually there: To compensate for shortcomings of the overall process/team. Scrum should in theory work without the Scrum Master assuming that the team is really self-organizing. That means they don’t need to be dragged to the meetings, and the team (everybody) knows how to remove impediments. So, the evolution of an Agile team should lead to either no Scrum Master or to one with a very reduced role.

Scrum and Continuous Delivery

In Scrum the result of a sprint is “potentially shippable software”. This definition leaves a lot of room for interpretation; let’s just assume that for consumer facing Internet services this means a deployment to production. What happens if a team needs or wants to deploy more often? Doing a big Sprint review meeting at the end of a Sprint is not enough. Essentially, the Product Owner needs to constantly accept functionality, and the need for one big review meeting is gone. And by the way: The need for a retrospective is not gone, and this meeting should be held each Sprint/ Iteration.
Outlook for Scrum?

In my opinion it is time for two things:

1. There has to be something like a “Scrum 2.0”, which should address the current shortcomings, especially that Operations people are not part of the Scrum teams and that Scrum is introduced without software engineering best practices.
2. Companies should be clear that for a lot of them (not all!) the journey does not stop with introducing Scrum. Good soft- ware engineering practices (XP), automation and the ability to deploy to production more often are key.
In my view combining Kanban (limiting work in progress, deploy every feature which is done) and Scrum (Retrospective) elements together with XP practices is the way forward for having a strong software development unit.

Inspired by:

Striking a Balance: Let Scrum Die
http://architects.dzone.com/articles/balancing-software
SCRUM WILL DIE
http://simpleprogrammer.com/2010/02/23/scrum-will-die/
Scrum 3 Stages of Evolution — Explored
http://advancedtopicsinscrum.com/development/scrum-3-stag- es-of-evolution-explored/
Martin Fowler on Avoiding Common Scrum Pitfalls
http://www.infoq.com/news/2008/09/fowler-scrum-interview
Scrum Certification Test
http://www.infoq.com/news/2008/11/scrum-certification-test

and Martin Fowler’s keynote at OOP 2011

--

--

Alexander Grosse
AG’s Blog

CTPO at issuu, co-author of ‘Scaling Teams’ with @dloft