In the previous post, I outlined the steps we took to implement a Scrum methodology in the YouTrack team.
The first step in our Scrum transformation was to define who would take on each of the core roles.
In the YouTrack team, the Product Owner is responsible for prioritising issues in the product backlog and deciding what we do next. The Product Owner keeps a finger on the pulse to make sure our product goals and mission meet the needs of our customers, while the team finds the best technical solutions to achieve these goals. In the YouTrack team, the Product Owner role is taken by the Team Lead. However, members of the team have the right to raise the priority of a user story when they feel it’s important, providing strong reasons to support it, of course.
This role is played by one of the developers from the YouTrack team. Our Scrum Master has a deep knowledge about the product architecture, technical solutions, and limitations. During the planning session, normally she presents each user story we plan to work on during the sprint. After the planning session, where we discuss each user story in details and decide which tasks we need to accomplish, she decomposes each user story into a set of tasks. The Scrum Master rules the process and keeps an eye on every sprint task. But what’s more important, our Scrum Master continuously monitors the progress and makes sure everyone follows the rules we agreed on. Generally, the Scrum Master makes our process work.
Scrum Team and Stakeholders
All of the members of the YouTrack product team take on the role of the Scrum Team. As a Scrum team, we are pretty big, about 25 people, including 13 developers. Each team member is accountable to the rest of the team for his or her performance. Our Scrum team is cross-functional, meaning that members of the team have all the skills necessary to do the work (analysis, design, code, test, documentation, marketing, technical support). Our Scrum Team is self-organizing, self-managing, and constantly trying to improve. The team members commit to the amount of work they can do without undue influence from the Product Owner.
Even though many advocates of Scrum recommend working face-to-face, our Scrum Team is not collocated. We are spread out between our offices in St. Petersburg and Munich. To overcome this disadvantage, we rely heavily on videoconferencing equipment and make great use of real-time team collaboration tools like Slack.
Like other teams at JetBrains, the product team also takes on the Stakeholder role. Every member of the team has direct access to customer feedback. We aim to create a great product that both satisfies the needs of our customers and meets our internal goals. So whenever we plan a new feature or improvement, we collect our ideas, carefully analyze external feedback, and finalize the requirements based on both inputs.
In practice, this means that we use what we know from our customer base to define the acceptance criteria for every feature, and collectively decide whether the implemented functionality meets this criteria during the sprint demo. During planning, we discuss and agree on the best way to deliver this new functionality from the business logic side and technical side.
The next episode Our Product Backlog is coming next week. Subscribe to our blog to get updates immediately!