Tuesday, October 23, 2018

"Agile Project Management" is an Oxymoron



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.