You must have heard the word Scrum Master a lot if you are connected to the technology or software field.
Scrum is a methodology which allows teams to build better software faster and change directions tactically on the basis of dynamic requirements. Scrum is based upon principles of Agile software development.
Agile basically encourages ‘just in time’ production so that teams can ship software faster to their end customers.You should probably also know how Agile is different from other software development concepts, lets say like , Waterfall methodology.
Agile focusses team to have smaller feedback loops and encourages them to do design, development, testing etc in parallel phases. This is done to allow flexibility in the requirements. Whereas in waterfall methodology phases are executed sequentially.
For eg phase of development starts only after phase of requirements gathering is completed. So it takes many quarters or years before end user sees some form of finished product. There is very less margin of change in waterfall or other old school software development methodologies.
So right way to think about it would that Agile is the fundamental concept and Scrum is a specific process built on top of it. Both Scrum and Agile are used in development of software projects.
Agile has other frameworks as well other than Scrum, such as Kanban, Test Driven Development, and Feature Driven Development.
Scrum master is responsible for facilitating the process of Scrum. Everyday scrum team meets in meetings called ‘Daily Standups’ where the scrum master asks essentially 3 questions to the team members:
What work did you accomplish yesterday?
What is the work line up for today ?
Are there any blockers for your work today?
Daily Standups shouldn’t be more than 15 minutes or so. And idea of daily standups is not to do a status check but really to energise the team to focus on their work for today.
Helping team to reach a consensus in defining the scope of work to be included in each sprint
Helping team to reach consensus in Daily meetups
Removing any blockers which are impeding the work of team
Making sure that rules which are agreed are followed
Protecting the team from outside distractions so that they can focus on their work
To become a successful Scrum Master a person should exhibit diverse set of qualities such as:
A scrum master should have deep knwoledge - A scrum master ber well versed with all the right concepts of not only technical software developement but also have the higher level knowledge of the business, sprint and project goals. Deep Product knowledge comes handy here to align the development with the business goals and vice versa.
Leadership and Soft Skills - A successful scrum master should have the right leadership skills to be able to influence his delivery team to hit their goals. This often requires motivating the team to deliver their best work and hit the deadlines.
Analytical - being a Scrum master is a demanding job which requires high analytical abilities. Software development is hard and the team is often impeded by both technical and collaborative problems. It is scrum master who should use his analytical abilities to analyse the patterns and solve those problems.
Thus becoming a Scrum Master requires cross functional technical and management skills and knowledge. Not only this, to become a successful scrum master you should be able to learn new concepts and development technologies ( such as continous delivery, testing automation etc) as they come to be relevant.
You can check out Enpointer - a platform built keeping in mind the modern agile teams.