Is it beneficial for a developer to become a 'scrum master'?
Is this an official certification or just someone who specializes?
What are the steps towards becoming one?
Is it beneficial for a developer to become a 'scrum master'?
Is this an official certification or just someone who specializes?
What are the steps towards becoming one?
Speaking as a developer who was trained up as a scrum master I'd say that if you are serious about using agile, and the people around you are too, then it's well worth training up. A scrum master should know how the agile process works, which meetings are required, what peoples' responsibilities are etc It's your job to make sure the agile process flows smoothly and to correct it when it doesn't. I couldn't have done my job without some guidance, but equally you may find that online resources are good enough.
I was lucky in that my company paid for me to be trained and certified by the Scrum Alliance, but I believe there are numerous places you can be trained. My training consisted of a two day seminar with a exam afterwards - it wasn't taxing, and you'll have to reread a lot of the training material as there's a fair amount to take in.
There are official Scrum training courses as well as assessments and certifications that cover various roles in scrum - Scrum Master, Product Owner, development team member. For these, it's simply a matter of optionally taking a course, reading the recommended material, working through the assessments, and then paying to take a certification exam.
I'm not sure how beneficial formal training is. There are plenty of resources out there for Scrum, including the Scrum Guide and countless books on the subject. Also, these certifications and training is only useful for as long as you are in an environment that uses Scrum. I would recommend learning about Scrum and how to function in various roles in a Scrum team, but I think you could do that very well with self-study, asking the appropriate questions to the right people, and spending time working on a Scrum team.
I personally believe it's far more valuable to understand a variety of process models and methodologies, their strengths and weaknesses, and process improvement methods/techniques rather than to focus on one particular model or method. The ability to tailor processes to meet the needs of your organization, project, and team is far more important than spending a significant amount of time learning a single methodology. After all, if all you have is a hammer, everything looks like a nail.
I'd agree with Thomas on the generalities, but focusing on the scrum master role itself there's an important point to note. It is not a technical role. We discussed this a little on the scrum master training I attended recently, If you want to write code then on paper 'being a scrum master' probably not for you.
That said, in practice It seems people wear many hats. I'm a defacto scrum master on my team but I'm still involved with the actual product delivery.
Also worth noting The basic scrum master certification is a minimal effort affair, a short training course/series of workshops and on online 'exam'. So it may be worth doing just for an understanding of the framework itself.
tl;dr: The Scrum Master is a Facilitator -- it does not denote mastery of anything.
Is this an official certification or just someone who specializes? What are the steps towards becoming one?
There is an official "Certified Scrum Master" designation. It is an introductory course managed by the scrum alliance. If you take the course and pass the test, you will be a "Certified Scrum Master".
Is it beneficial for a developer to become a 'scrum master'?
I don't think that it is. The Scrum Master role is an important part of a team, but is not a technical role -- the scrum master is the guy who leads the meetings and makes sure everyone is on the same page. It's more of a facilitator role. It's probably useful if you want to go into coaching, but not necessary if you are a developer.
A scrum team needs to have a scrum master, and is best served by having an experienced one. The CSM certification does not guarantee quality of the Scrum master. Sending a guy to take the CSM course and than assuming he'll be able to lead you to scrum victory is a crazy bet.
CSM Certification is like CPR Certification -- you know the basics, but you're not an expert.
It is beneficial for a developer on an agile team to understand the scrum master role. A cohesive agile team is built on trust. If, as a developer, you understand that the scrum master is a mentor, a facilitator and a protector of the team, you will be more likely to engage them in meaningful ways.
A developer talented in seeing the big picture, finding nuggets of gold in a mountain of dirt, and who enjoys mentoring will be a great scrum master candidate. It's my experience that the best scrum masters are naturally talented in these areas. Training will not make you a scrum master but may help hone your skills.
Is it beneficial for a developer to become a 'scrum master'?
I would say it's often not beneficial. While a developer-as-scrum-master understands the working conditions of those in the trenches, management/the boss/the client may see complaints from this person not as, "the scrum master advising management what should be changed" but, "grumpy Bob just has a chip on his shoulder because he had to work late Friday - ignore him".
For this reason I think this separation of concerns is important, especially when/if the management/client/boss has a hard time knowing if Bob is wearing his "Bob the solitary programmer hat" vs his "Bob the Scrum master, facilitator for the team, hat".
Because, if it's perceived that complaints from the team are actually complaints from Bob personally, it poisons the well: every point Bob tries to bring up to management will be dismissed because Bob's (obviously, to management's eyes) a troublemaker.