The Agile approach to software development allows one to monitor the effectiveness of communication in the team, the functionalities provided and the implementation of improvements. What does the Scrum Master’s work in this entire process look like, and why are companies outsourcing software development increasingly willing to take advantage of his help? Read the article and find out how a Scrum Master can not only support the team, but also the entire organization.
According to the “State of Scrum Master 2019″ report, 35% of organizations surveyed are at the early stage of Agile model adoption. This shows that the demand for Scrum Masters may increase in the near future – it is not without reason that this role has been on the lists of the most promising professions in the IT world for years now. Being Agile isn’t just about soft skills. Agile software development is slowly becoming standard. The role of the Scrum Master in the software development process is widely discussed. Often this is a person who is not involved in programming or testing. So how does a Scrum Master contribute to the process of application and functionality development?
The Scrum Master starts by asking questions
- Why do we want to work on this functionality?
- What is the point of a given change?
- Is this specific aspect necessary?
- What people (skills) are needed to complete the task? Do we know how to test a given functionality?
- Does anyone need support?
- Can anyone help this person with their task?
- Were there any obstacles blocking the team’s work?
These are just examples of questions that the Scrum Master may ask. They should adapt to the situation and raise the issues that will help the most at any given moment. The role of the Scrum Master is to support the team in the software development process. This helps to determine what needs to be done to bring the team closer to achieving the goal of the Sprint.
By asking the appropriate questions, the Scrum Master checks to what extent the team understands a particular aspect. This raises awareness of the aspects that are necessary during analysis, coding or testing. The Scrum Master should not, however, suggest ready-made solutions, because suggestions can be inaccurate at that point in time. He should stimulate the team so that the team members work together to find the best approach. Instead of issuing orders, the Scrum Master makes sure that the right questions are asked to create the necessary solutions. The Scrum Master doesn’t know the answers to all questions (e.g. regarding the scope of functionality or technical or organizational aspects), but he should find the right person who will be able to help and explain the topic at hand.
Independent overview of the Development Team’s work
The Scrum Master is not directly involved in development work, which allows him to gain an independent picture of the situation within the team. Being “on the side-lines”, he observes the work and the way people in the team communicate. Thanks to this, the Scrum Master:
- knows the feelings of the Development Team when it comes to the method of communication and the time devoted to working with other teams, which allows him to work on the effectiveness of software development.
- is able to determine whether there are too many external contacts, or conversely, whether there is a need to organize meetings with a specialist or a member of another team.
- He can determine the optimal time of meetings. He discusses the approach to meetings with the team: “Aren’t they too long?” “Are there too many of them?”, “Does everyone need to come to this meeting?”
The Scrum Master talks to team members
The Scrum Master not only talks to the project manager, Product Owner or other Scrum Masters. First of all, he regularly talks to members of the Development Team, without judgment or criticism. An honest conversation, initiated by a Scrum Master, allows both parties to get to know each other’s feelings about the work, and an individual conversation is particularly important. In an ideal situation, the Scrum Master has the ability to talk openly, without planning a special meeting for this purpose. It is important that there is a specific need behind such a conversation. Sometimes a member of a team can have a hard day, for whatever reason, be it professional or private. The Scrum Master is an attentive observer who pays attention to such moments. His role and the desired situation is to create an atmosphere in which team members ask for a friendly conversation or raise an important issue during a meeting without feeling embarrassed.
Building relationships and trust is very important. According to research cited by the ICAN Institute, 41% of respondents indicate that the management style and organizational culture of the company is an important factor, while 34% mention financial considerations. Building an organizational culture means working on communication, and creating a good atmosphere based on mutual trust. Teams that work based on the self-management model know how important it is to have someone who will listen, but also help to take the next measures. That someone is the Scrum Master, who tries to ensure that everyone around is well supported, even if he himself doesn’t know the answer to a given question.
Scrum Master and work organization
According to Edwards Deming, who studied quality management and the impact of management controls on a team, only 5-15% of a person’s performance depends on the employee. As much as 85-95% of success depends on the organization of work. A Scrum Master provides organizational support during development work, which is carried out in short iterations (Sprints). This model of work helps to build team spirit. The members of the Development Team get to know each other better and are also able to better familiarize themselves with the product being developed. The role of the Scrum Master:
- starts with the analysis and creation of “user stories” (individual tasks described from the perspective of the end user, which will bring defined values after completion) and takes care of maintaining the basic elements that the tasks should consist of.
- is to ensure that assignments contain details that will enable the team to understand the new topic, and to clarify any outstanding issues.
- involves contributing to the process of assigning tasks to the right people. When developing new functionalities that the team will be able to include in a Sprint, the Scrum Master asks questions and refers to completed Sprints (if there have been any). This helps to find suitable people in terms of knowledge, technology and experience.
- is to take care of the coordination of tasks. The Scrum Master makes sure that each new task has a person assigned to it, who will coordinate the work on a specific issue.
- is to monitor the current progress of work. The entire team is responsible for the Sprint, but it is important that the Scrum Master knows the progress of work and makes sure that the tasks go smoothly from analysis, to creating functionalities, to testing.
The Scrum Master should pay attention to the abovementioned elements, so that the work on tasks does not stop due to an error, the lack of an assigned person or dependency – but rather that it is completed as expected.
The Scrum Master motivates the team
The Scrum Master isn’t a Team Manager, but in his daily work, he should not forget to regularly express appreciation for the members of the Development Team. Did the team do the job well? Did the developer spend extra time supporting a friend or colleague in completing a difficult task? The Scrum Master appreciates this behavior and thereby encourages team members to help each other and work effectively on completing tasks within the Sprint. If his approbations are honest and justified, employees will trust him. Sincere praise motivates us to work even better and improves the atmosphere in the team. Additionally, it’s simply nice to hear “thank you” once the work is done at the end of the day.
Scrum Master as support for the organization
The work of a Scrum Master does not end with cooperation with developers or the Product Owner. He also cooperates actively with people from outside his own team. It is worth exchanging experiences in a wider group, reporting any issues encountered, and learning from mistakes – not only your own.
Example: The Scrum Master notices that the information flow process in the organization is not functioning properly. The Development Team does not obtain the information which it requires to complete its tasks. The Scrum Master should report this problem to individuals at the organizational level, so that they could jointly consider which communication model would be optimal.
A Scrum Master not only shares his own ideas, but also takes advantage of the knowledge and experience of others. For example, if a team has worked out a method that makes the software development process efficient, eliminates errors, and thereby reduces the implementation time, it is worth passing this information on to other people and teams.
Personal development of the Scrum Master
A Scrum Master does not rest on his laurels! In order to support the team, he should constantly develop his knowledge of technical aspects of work, and closely observe the behavior of the people he works with. A Scrum Master gets to know the team and organization better, building trust. Personal development means not only certification and training, but also the ability to draw conclusions from your own bad decisions or late reactions. Thanks to regular team and project meetings, he is able to find out what is not working, understand the needs of team members, provide tips and propose actions that will minimize or eliminate difficulties in the future.
The role of the Scrum Master is important in the software development process. However, in order for his efforts to be effective, the Scrum Master should constantly work with the team and people in the project to improve the quality of work and the individual development of each person. A good Scum Master not only asks the right questions, but also draws conclusions and works with the team to implement actions that will allow for the elimination of problems in the future. Furthermore, through personal development, he contributes to the software development process, and thereby – brings value to the team and organization.