Scrum is simple but not easy!
I'm sure that those of you who had seriously tried Scrum can recognize what this sentence really means.
And being simple is definitely one of the strenghts of Scrum, but also one of its pitfalls: it is so straightforward to understand by managers than most fall into the trap of believing it can become a magic wand for the company problems.
Sometimes without even reflecting about what the company's problems really are!
Ken Schwaber, co-inventor of Scrum said once: “Agile development will not solve any of your
problems – it will just make them so painfully visible
that ignoring them is harder”.
|
Missing operating system_ {error message} by Karl-Ludwig Pogemann/CC BY 2.0 |
And that's where the tough part starts!
Scrum is not plug and play! It's not a simple upgrade of the SW methodology currently in use in the company! It changes some of the basic assumptions and thoughts about products get developed!
It's like installing an iOS 8 app on an IOS 4: it won't work!
You need to upgrade the Operating System!
I would like to share with you what I learned to be three fundamental upgrades needed in the company´s Operating System to install Scrum effectively.
1. Cross functional
teams self-organized around value delivered to customers
It is extremely
important that development teams are organized so that they can deliver value
to customer as fast as possible and not around technology or internal product
structure.
You do not want to have unproductive teams overwhlemed by thousands of dependencies, right?
You do not want to create unnecessary coordination work and increase your overhead, do you?
So move away from micro-managed functional teams organized around your system architecture: you will heal your company!
Effective teams are cross-functional and have all the competences needed to transform a backlog
item in a potentially shippable product increment within one Sprint.
They work together to remove waiting times and handovers, which represent waste of
time and knowledge.
This does not mean at all having a team of generalists. It means instead having a
team of specialists with T-shaped competence, so that they can contribute in
doing the work when necessary, even in knowledge areas different from the one
they are specialized in.
Cross-functional teams learn continuously from each
other's skills and share knowledge inside the team and between different teams.
These teams must be self-organized:
they are the ones who have the best knowledge and must be empowered to
decide how to do the work and continuously adjust their process.
A cross-functional
and self-organized team can have the possibility to look at the whole
development process, find the weakest link or the bottleneck at hand and do
whatever they see as necessary to fix it. They have enough visibility of the
whole to avoid sub-optimizations typically happening in traditional
environments.
2. Agile Leadership
In an environment
where teams are empowered and self-organized, leaders stop taking
project decisions or asking for review and status report.
They focus instead
on removing impediments, aligning stakeholders, building a trust environment, coaching, providing feedback, developing people’s skills
and building the capabilities of
the organization: they basically create the conditions for the teams to perform
at their best.
They cultivate
skills of servant leadership, are empathetic and willing to help.
This is applicable
with different flavors to managers, Scrum masters and Product Owners.
- Scrum is enabled by
managers who build a culture of discipline and excellence, guide on principles
and values instead of giving complex rules to follow, teach people not to cut
corners, challenge people to high performance and lead by example. They empower
people to choose how they want to work and give room for experiment and
safe/fast failure. Good Agile managers stay close to the teams and Manage By
Walking Around and Listening.
- Scrum is enabled by
full time Scrum Masters who have a very good knowledge of Lean, Agile and Scrum
and can coach the team to apply Agile values and principles. They teach and
coach them to challenge the status quo and continuously improve, think and work
as a team, collaborate and challenge each other to grow.
- Scrum is enabled by
Product Owners who clarify the Why? and the What?, but not the How? Therefore they
trust the team will work at their best. At the same time they challenge and
support them to continuously improve. Good Product Owners paint the big picture
for the team to take responsibility of the product as a whole and actively
support the team to find ways to connect with the customer. They take the
responsibility to act as a unique interface to the organization for any work
request towards the development team and protect them from interferences.
3. Well groomed
backlog
People
might be arguing about what a good Product Backlog is, but here is what
definitely a good Product Backlog is not (but far too often seen
around): a generic list of work items which are not user centric, not
split end-to-end, not estimated, not even always prioritized.
A high quality
Product Backlog is an enabler for iterative and incremental delivery of high
quality potentially shippable product increments, which is the core of Scrum
(Garbage In-Garbage Out theory applies in this case). It helps the team focus
on the right things and build them faster.
A high quality
Product Backlog is a manageable size, living artifact of Independent,
Negotiable, Valuable, Estimable, Small, Testable (INVEST) User Stories.
Such stories are
easier to understand for the team, easier to plan and easier to work, so that
the team can be more productive.
INVEST
stories allow:
- Minimize the risk that the team does not deliver
anything at the end of a Sprint.
- Faster learning and faster development because the team
gets feedback and finds problems earlier.
- Better prioritization and defer decision due to a
shorter feedback loop.
- Deliver value more often and therefore can make
customers happier.
- Teams to be more focused and more motivated, because
they feel a sense of velocity and accomplishment.
Where do you think you should start first in your OS upgrade?