Nowadays, agile methodologies are prevalent in the software development industry. The most popular approach to agile development is Scrum. Everyone involved with the IT industry is familiar with it – a framework that helps teams to work together. The process is driven by assigning roles to people, dividing the development into iterations, and after each cycle, getting closer to a deliverable product with added value.
If you are not, however, familiar with SCRUM, you can go through a scrum guide for a couple of minutes. The purpose of this article won’t be to remind you of the structure of a scrum team but to share my observations on the qualities which are expected of people occupying the different roles.
Scrum Master
The guardian of the team, as I like to say, is the one who must help everyone stay within the Scrum framework and facilitate the proper application of Scrum. To be successful in this role, the person should strictly observe the work of all members of the team. This includes making not so popular decisions and having the will to have tough conversations.
I remember one case where we had a planning meeting. It was one of those sprints where all tasks in the backlog were urgent. Each of the product owners wanted his tasks to be completed until the end of the iteration. Team capacity limit was reached, and many of the tasks were left out of the sprint backlog, so product owners pushed harder for more tasks to be included.
Our scrum master put an end to all their demands in this meeting. During the sprint, there were further attempts to push more tasks, but he managed to isolate the team members to not distract them from their tasks at hand.
It was then that we realized how important his role is because if we were distracted, we would not have managed to complete even the planned work. People are not able to work on multiple tasks at once or switch contexts every half an hour, so a good scrum master should provide this calm environment as needed.
Product Owner
The product owner is responsible for defining business requirements as well as the vision of the product or the project. As such, he/she should have the ability to understand business needs, see technical challenges and most importantly, to balance between both. This role is not only related to information transferring between the development team and stakeholders but also deciding which requirements to prioritize and how.
Through my experience in a custom software development company, I have worked with many different people in this role. In one of the projects, we had a junior PO – John. He did not have much experience, and at the beginning, his approach was that of a proxy server – just transferring our words to the stakeholders and vice versa.
This behaviour becomes irritating after a while because we, as technical people, explain solving a problem through a technical lense. Which can easily be misunderstood by the business side of the organization? The same is valid from a business perspective geared at developers.
Eventually, after gaining some experience in both business domain and technical aspects of the job, John realized the problems in communication we had. So he started to distance us and reduced the literal transfer of messages. In this way, the developers began to understand the tasks better, and the pressure was reduced. At the same time, the business representatives were happy not to have to explain themselves several times.
Essentially, keeping the balance between business and technical aspects and managing communication are essential skills for a good product owner to master.
Development team
The development team is the heart of every Scrum team, and each member is a valuable one. The whole team is responsible for delivering the new features of the product/project. One of the essential skills which I have found for myself as a developer is to be proactive and try to increase visibility and understanding.
I would like to share a different point of view as to why being proactive is such a vital skill:
- From a junior developer’s perspective – It is always good to have proactive, experienced colleagues who share knowledge about the project or otherwise; there are always questions you wouldn’t think to ask.
- From a senior developer’s point of view – it is always much easier to fill the gaps of someone when he/she proactively asks questions for the things which are not clear; instead of shooting in the dark – aiming at a lit-up target.
- From the point of scrum master or product owner – it is always good to give feedback proactively on the way things are done; in this way, the practices can be improved by responding to how others perceive things.
Conclusion
In the end, I want to say that all members of a scrum team are essential and should work together towards one goal to succeed. Every role has its specifics as you can see, and everyone should strive to develop skills for his/her position. But most importantly try to understand others and improve the way you interact with them.
Thank you for taking the time to read this article. If you want to learn more about Scrum and Agile methodologies, you can check out our other articles. And, of course, do not hesitate to comment your thoughts below. If you have more questions, do not hesitate to contact our team at Dreamix!