I
hate to be this brutally honest: clearly the authors of Scrum Master job
descriptions have no knowledge of what a Scrum Master is or does. This
is disheartening for those of us that have practiced agility and Scrum for
over a decade. We have seen the incredible successes that an agile team can
achieve.
Let’s
get some things straight. A Scrum Master does NOT:
“Drive
Maximum Efficiency of Scrum Teams”
“Manage”
a Scrum team
“Document
and Hold the Team accountable”
“Instruct
the team on how to develop detailed planning and budgeting”
Create
“project controls”
Provide
“Status Reporting”
Ensure
“completion of projects on schedule and within budget and scope”
Those
are all things that Project Managers do. If you want a project manager, stick
to Waterfall. They will be sure to deliver an obsolete product 18 months from
now that is on time, within budget, and has all kinds of status
reports, issue and dependency logs. A project that crosses all the
“T”s and dots all the “I”s, while covering everyone’s “A”s.
On the other hand, if
you want innovative teams that use changing requirements in a lightning fast
marketplace as a competitive advantage, and the ability to realize value early
and often through a continuous delivery pipeline to production, then you should
probably start with Scrum and a Scrum Master.
What
you should look for in a Scrum Master is someone who has been a DEVELOPER on a
Scrum Team. If you want someone who has a lot of fancy letters behind their
name like “PMP” and “PMI” and is a process “Black Belt”, you probably want to
stick with Waterfall because you are barking up the wrong tree.
The
key to agile development is NOT process. The key to agile development is CLEAN
CODE and continuous improvement. You get clean code by using automated testing
and refactoring mercilessly. You use Scrum, and a Scrum Master, to help your
team improve each Sprint. A Scrum Master is a facilitator.
A
mentor.
A
coach.
A
remover of impediments.
An
enabler.
She
is not an "Agile Project Manager”. That is an oxymoron. An agile team is
“self-organizing. They manage themselves.
A
Scrum Master shields the team from outside distractions. She/he helps them
become high performers who collaborate and innovate together. A Scrum Master
helps a team to realize their potential by quickly identifying problems,
analyzing them, and adapting. They keep the team focused on achieving Sprint
Goals. They help the team to bake in quality to their products by
teaching/encouraging sound TECHNICAL practices and helping the team to
establish a sustainable, reliable delivery cadence.
Asking
for the same old Project Management garbage, will get you the same old lousy
results. I know, because I have witnessed it time and again over the course of
a twenty-year career in Software development as a programmer, dev team member,
Technical Lead, Java Architect, Scrum Master, and Agile Transformation
Coach.
But
hey, you don’t have to take my word for it.
I
do ask one favor though: When your efforts to “Go Agile” fail because you hired
a PM to be a SM, and you have simply repackaged all the same waterfall
processes under new agile terms without actually changing how you technically
create software, please don’t say you “tried agile and it doesn’t work”. The
truth is, you will not have “tried agile” at all.