Top 9 challenges of adopting Scrum (Part 3)
|
|
|
|
|
|
|
|
|
Written by Cesario Ramos and Eelco Gravendeel
|
|
Thursday, 06 November 2008 |
|
In the previous
two parts (part 1,
and part 2) we
discussed the first six challenges we've encountered implementing Scrum as
coaches with Xebia. In this third and final part we will present the last three
that we found. As in the previous parts the setting is introducing Scrum in
fairly large organizations which are mainly waterfall oriented.
#7 Lacking a Meta-ScrumMaster
Adopting
Scrum could start from the top in the organization. For example, a CIO needs to
handle more projects or shorten their durations and decides to give Scrum a try.
But what we often see is that it starts more from the bottom up. Project
managers or IT department managers want to improve their project(s)
productivity.
When
doing Scrum, impediments will pop up that need to be handled. Some of the
impediments can be handled by the ScrumMaster and the Scrum teams. On the other
hand, we have seen that there are always impediments that show up that are not
within the reach of the team, project manager or even the department manager.
So these ones often do not get picked up or removed by anyone and remain there
during the course of the project. The team just tries to work around them and therefore
will not be able to obtain their maximum velocity. Even worse, not being able
to solve these impediments leads to local optimization at most. And these local
optimizations of IT department managers are often not enough to improve the
overall flow of value. Without improving that, the effort and time needed to
transform the ideas of the marketing department, by the requirements,
development, testing, and maintenance department is not improved and the
business benefits are minimal.
So,
we need to solve those organizational impediments. To handle those you'll need
a senior manager to play the role of Meta-ScrumMaster. You need a person who
benefits from global optimization and has the authority to get the right people
together to tackle the impediment at hand. A Meta- ScrumMaster operates in the MetaScrum. In the
MetaScrum meeting the Product Owners and other stakeholders come together to
deal with the adoption of Scrum in the organisation. In these meetings the
organizational impediments are discussed and actions set out to resolve them. You
could say that in contrast to the ScrumMaster who operates more on the sprint
and release level, the Meta-ScrumMaster is operating more on the product
portfolio or business strategy level. The focus expands from local optimization
to global optimization.
In the MetaScrum you should talk in ‘senior
management parlance'. So try to make the impact of encountered impediments
visible in terms of delivery time and ROI.
#8
Agile as an excuse for cowboy behaviour
Management
has heard about this cool Agile thing. ‘Implementing an Agile method such as
Scrum is supposed to fix many problems such as: inability to meet deadlines,
improve quality, increase workers happiness, etc ...'
So it
is decided to give Scrum a try. Management is convinced, some books were bought
and we're good to go! But ... all that happens is that deadlines are still not
met, documentation is no longer created, nobody bothers about architecture
anymore at all and planning is completely out of the window ... what just
happened?
The
problem is pretty simple: Management gave the developers sort of carte blanche
to forget about all the pesky stuff like plans, deadlines, design, and
documentation and just start hacking away. Although scrum is a simple process and
propagates principles like "just in time" and "just enough" does not mean you
can just discard with any task you might not like as much as creating code.
Good Scrum teams are very disciplined teams and do whatever is required to deliver
business value with a minimum of waste.
So, how do we prevent this cowboy behaviour
from happening? Make sure that you start changing practices or deliverables after a
problem or inefficiency becomes clear. Do not throw away things upfront. By
doing Scrum inefficiencies, problems and software quality issues surface pretty
quickly! Don't try to do pre optimization.
Also
make very sure that everybody gets the concept of build-in quality and that self
organizing teams do not mean: "We can do whatever we want". Assess critically the deliverables you create during the
sprints and how minimal any such deliverable can be.
#9
Thinking agile is easy
Using the Scrum practices
gives you some benefits really quickly. However, it is very hard to get the
full benefits if you fail to grasp the bigger picture.
There is
difficulty at various levels. At the management level the difficulty has to do
with a new way of managing. Letting go of the old command and control structures
is very hard especially if you do not understand the agile way of dealing with
the issues you have. At the level of creating software a whole new set of
practices is often needed. You'll have to alter you current practices and apply
a set of new practices.
People end up with
lots of questions like: How are you going to handle planning and estimating?
How do we forecast? How do you manage agile contracting? Can't we fix the deadline?
What about architecture, does it just emerge all by itself? How can we possible
do requirements, development and testing at the same time? Don't be silly!! How
do I measure it and how do you prioritize requirements by value? And then there
is this Plan-Do-Inspect-Adapt thing, how should we do that? Isn't doing Agile
more expensive?
Failing to address
such questions will result into people slipping back to their usual way of
working when the pressure rises. The first thing we see is a drop in quality
and testing effort. Also the command and control way of managing steps right
back in. As a result moral drops, velocity drops even more, the project gets
cancelled and the Scrum adoption gets more complicated.
What can you do
about it? Learn from other people's mistakes. You can prevent yourself from
making too many big mistakes if you have people who already made them. You can
greatly benefit from coaching at various levels. Having an agile champion in
the organization, evangelizing agile, doing workshops, coaching ScrumMasters
and so on is a key factor in successfully adopting Scrum. Equipped with
coaching at the various levels and a meta-ScrumMaster you'll have the best
chances of adopting Scrum successfully.
Wrap-up
With this last
part we have come to the end of the three part series. We think that you can
use the presented challenges as a sort of reference guide when implementing
Scrum. Whether you are in the first stages of adopting Scrum or you are doing
Scrum for some time now and want to take the next step, the presented
challenges can point you in the right direction for identifying and handling
your own.
Implementing Scrum
is really great to do and will provide benefits fast, even though there are
plenty of challenges to address (lots more then just our top 9). Most important
here is to keep track of the bigger picture. It is about values and principles
and creating a constantly learning and adapting organization.
About the Authors
Cesário Ramos is a Senior Consultant in Agile methodologies and Enterprise Java at Xebia. He has coached various projects at telecoms, financial and governmental institutions using popular methods including Scrum, XP, FDD and UP.
Eelco Gravendeel is an consultant for Xebia with the unit Xebia Agile Consulting. Eelco has started out his career as a software developer. Later moved on to become a team leader and then became the manager of a Software Development department. During this period he implemented Scrum the first time. Having tasted the Agile fruits he then moved on to become a Consultant and Project Manager. In this position he coaches departments and organizations to implement Scrum and Agile practices or manages Agile projects.
|