What does a ScrumMaster do and how do you fulfill the role effectively?
The ScrumMaster role is not a traditional Project Manager.
Many organizations first encounter with Scrum as a software development methodology will be through an experienced ScrumMaster. They will ensure that everyone involved understands and follows the Scrum guidelines - both the theory and the practices.
They should not be confused with a traditional Project Manager and instead of telling the development team what to do or how to do it or acting as an interface to management they are there to coach and to advise.
The old-school PM typically focuses on the work itself and the tasks to be done whereas the ScrumMaster focuses on Team Interactions looking for ways to optimise teamwork and remove impediments to enable them to do their work more effectively. The ScrumMaster manages the Process and in doing so supports the team.
Agile and Scrum are simple to learn and understand but can be difficult to master and it's very easy for a team to fall back to unproductive practices if they don't fully appreciate the reason and intent behind some of the recommended practices.
When Agile first gained mainstream attention there were few people with real experience who could advise companies how to use it effectively. Many consultants without real skills were too eager to fill that gap in the market and is one of the reason why Certified ScrumMaster Programs (CSM, PSM) were developed.
I once joined a team as a developer that had all recently taken Agile Classroom Training, was being run by 'Agile Experts' and had an Agile Project Manager running everything.
The first standup meeting had 11 tasks for the entire project with one of them, "Develop UI" described as about 0.5% completed for the 2-3 year project. The standup lasted 1.5 hours. This wasn't agile !
Without an experienced and effective ScrumMaster to reinforce the value of following good practices a team may just go through the motions and use the language of Agile without gaining any of the benefits.
A good agile process requires skill and discipline and appreciation for the benefits that can be realised if the Scrum process is followed properly. Agile isn't an excuse to avoid documentation and traditional project reporting.
The Product Owner maximises the business value of effort.
The Scrum Product Owner's role is to maximise the business value of the Development Team's efforts. This is achieved by providing prioritised backlog of work and being able to explain the features required to the development team so they have a clear understanding of the goal and what they need to deliver.
The ScrumMaster can help the product owner by using his or her experience, knowledge and understanding of the Scrum Process to:
The Development Team converts the backlog into a product.
The Development Team are the peope with all the skills necessary to convert the prioritised backlog of work that the Product Owner manages into a real product, an increment at a time.
It's vital that the team is cross-functional and is capable of performing all the technical work necessary. A good Agile developer will appreciate the software engineering best-practices such as Test Driven Development and Continuous Integration and how they contribute to delivering completed work items that can be confidently marked off as 'Done'.
The ScrumMaster can help the development team by
Any organization is keen to have successful approaches replicated.
Whether an organization is adopting Agile and Scrum for the first time or has been already practicing it they will always have a keen interest in a projects success.
A ScrumMaster can help champion the role of Scrum within an organization and teach the Stakeholders of a project how the process works and what role they can play within it.
If there are multiple-projects then the ScrumMaster can work with other ScrumMasters to ensure a coherent and consistent approach is being followed and to share what works well with other teams particularly if they have less experience with the process.
In particular, the ScrumMaster:
Because of the ScrumMaster's responsibilities within an organization it usually needs to be a management position. However this can be difficult when scrum is initially being adopted and a company may prefer to hire in the expertise it needs in the form of consultants. There needs to be clear support for the ScrumMaster role from management.
While there are benefits to being in a direct management position, as long as there is clear and definite management backing and support for the ScrumMaster's decisions and guidance then yes, a consultant can be the ideal way to bring in the necessary skills and experience especially for an organization adopting agile for the first time.