Who makes a better Scrum Master: a developer or a project manager?
I am guessing that this is a contentious topic, so it is that much more fun to talk about…
The Agile Manifesto was written by software developers. There weren't any “traditional” project managers in attendance, so, it is safe to assume that Scrum Masters were expected to come from the ranks of software engineers.
I attended Scrum Master training with Ken Schwaber in 2000 and again in 2011, and on both of those occasions, it was clear that the role of a project manager was not needed or wanted on Scrum projects. I agree with the sentiment about the role of project manager, but I still believe it is acceptable and even sometimes highly successful to have a former project manager become Scrum Master.
I am a project manager by education (Industrial Engineering), by training and by certification (PMP) and ultimately by birth. I have been managing primarily software development projects since 1996, even though the last time I coded was using Fortran in college, unless you count my ability to use <bold>html</bold> in my blog. Given my technical limitations, I still consider myself an above average project manager and an even better Scrum Master, not because of my background in either discipline, but because of my real life experience and exposure to incredible leaders and people managers throughout my career. Early on, about 20 years ago, I was told by my boss and mentor, "Just because you are right, that does not mean people will listen to you or even agree with you." I was a practical project manager surrounded by academics, artists and other creative minded people. In order to successfully lead them and organize them I had to develop skills in listening, persuasion and influencing without authority. This began my path to truly understanding servant leadership.
So, the reality is that the "average" project manager or developer makes a poor Scrum Master. The “best” Scrum Masters will be found by identifying individuals that are well-trained, educated and passionate about Agile and servant leadership, regardless of their background.
It is well known why some project managers make poor Scrum Masters. They use their “command and control” attitude on the Scrum Team. What most Agilists with software development backgrounds don’t understand is that many project managers who were trained as professional project managers, were never intended to use a command and control style. I was trained early on in my career as a project manager that we were most effective if we could motivate and lead our teams without using a carrot or a stick, but by engaging them in the vision and ultimate success of the project. PMI actually promotes the concept of influencing without authority. Throughout my career as a project manager, I never had any functional power. The developers never reported to me, I wasn't the technical expert, so how was I successful? By being a servant leader! We were trained to remove impediments, make sure there were minimal distractions for the team, and you know what? We were trained when projects were high-risk, we should meet every day with the team to remove impediments. Sound familiar? Granted, as with Scrum Masters today, most project managers were assigned from the ranks of functional managers who were familiar with a directive style of management, and many loved the “hero” status reserved for those overachievers, but that was never the intent. Those project managers that I worked with, who were trained as I was, and those that I trained later in my career would make excellent Scrum Masters today.
It is the same story with developers. There are many developers who see being a Scrum Master as a promotion. It gives them the opportunity to play the elusive “tech lead” role and drive the technology. How can a developer with a strong opinion on how something should be built sit back and let the team self-organize around a solution that they don’t technically agree with?
To be an effective Scrum Master, you have to embrace the core values of the Agile Manifesto. I believe there is an equal chance of both failure or success when selecting a Scrum Master from the ranks of developers or project managers. Regardless of where you find your Scrum Master, it is much more important that they have the requisite skills needs to be a servant leader; including trust, passion, and enthusiasm for both Agile and for helping their teams succeed.