Recently I have taken on the role of ScrumMaster for our Scrum team here at Infinite Blue. As a ScrumMaster I need to make sure that all the members of the Scrum team are performing at their best. Before I show how this software development process can benefit you and your business practices, let me first explain what a Scrum and a ScrumMaster are, and how these ideas are used every day as we develop applications at Infinite Blue.
What is Scrum?
Scrum isn’t just a tech fad. Scrum is an agile way to manage projects and products that a team is working on. This method allows a team to continuously deliver high quality products to customers. Scrum is a framework that allows teams to work together and accept requirement changes, reflect on mistakes and improve. This is a core principle of agile methodology. If you are not familiar, agile methodology is a process in which an individual would interact over process and tools, collaborate with customers and acknowledge changes over the span of working on a project or solution. You can learn more about the agile methodology from the Agile Manifesto. The Scrum framework is derived from the game of rugby. In rugby, scrum is when eight players from each team interlock with each other and compete with the opposing team to gain possession of the ball that is placed in the middle. This is not entirely what the Scrum framework is, but it is like what a rugby team would go through. When a rugby team prepares for a game, Scrum enables individual team member to benefit from the team experience, continuously using past performance to reiterate and improve. In the development of technology, the Scrum framework consists of events, meetings, tools, and roles that assist managing work for a team.
How does Scrum work?
Scrum consist of a series of events called sprints. Sprints usually have a duration of up to two weeks. Sprints contain a set of items or tickets that a scrum team would work on. These tickets are pulled from a product backlog that a product manager or product owner continually maintains, and usually contains a list of new features, enhancements, bugs and requirements. There are six events that occur for Scrum: grooming, sprint planning, sprint, a daily scrum, sprint review and sprint retrospective.
- Grooming is when a team will look through the product backlog and review each item by priority. For each item, the team will assign an estimated amount of points. These points are a measuring unit for either complexity or an estimate amount of time it would take to complete this item. If these items are not clear enough or need more requirements, a team would not assign points, but would instead ask for more requirements. For example, there is a ticket in your backlog for a new feature. The feature is for a new button. The description or requirements for this new feature just says, “Need new button on a page.” This is clearly not enough for a developer to work with. A developer needs more to understand what needs to be done for this feature, such as where the button needs to show up and the action that happens after clicking the button. A team would ask for more details or acceptance criteria that list out what is the intended outcome of the new feature.
- A Scrum team will plan for what needs to go into a sprint during a meeting called sprint planning. During this sprint planning, the team will collaborate to plan out the sprint goals. These sprint goals specifically focus on items from the backlog that the team needs to complete. Basically, the team decides what needs to go into a sprint based on capacity of each team member and the priority of the items in the backlog.
- Sprint is a short timeboxed period in which a team would complete a set amount of work that is injected from the product backlog. Usually sprints have a duration of two weeks and can be longer. Sprints helps scrum by breaking down large and complex projects into bites size pieces.
- During the sprint, there are daily scrum meetings in which each team member will discuss what they are working on for the day.
- The sprint review is a formal meeting for the team to share metrics on what they have completed in the sprint. Also, the team will demo a product they have completed during the sprint.
- Lastly, there is the sprint retrospective. This is where a team would discuss and reflect on how the sprint went. They would discuss what went well for the sprint, what went wrong, and how they can improve for the next sprint.
What is a ScrumMaster?
The ScrumMaster’s job is to make sure that each team member involved in the sprint is producing the highest level of work. For myself as a ScrumMaster, I need to make sure that there are no outside distractions for the team so they can focus on the items that they are working on in a sprint. My job is to set up the team for success. Think of the ScrumMaster as Gandalf from Lord of the Rings. He prevents the orcs from stopping the Fellowship of the Ring in order to destroy the ring. A ScrumMaster will make sure that nothing is hindering or preventing the team from completing their sprint goals.
How can you use Scrum to benefit your own team?
A big emphasis of both scrum and sprints is to eliminate distractions to better focus. A team does not take on all the work that is in the backlog, but focuses in on one area that they can accomplish in a set amount of time. They are freed from the outside distractions and allowed to zero in on only what needs to be done immediately. Instead of spending long meetings discussing the endless possibilities for both future and past tasks, the team members are faced with a set of achievable, timely tasks that have already been vetted for clarity of requirements. This makes the goal much more realistic to attain! Everyone has been on a team that sets lofty and vague work goals, only to be pulled off course as work progresses. Once this happens, accountability can devolve into frustration and finger-pointing. In contrast, the agile framework of sprints and scrums removes distractions, makes sure the goals are realistic, and enforces accountability. As the ScrumMaster, I leave you with these parting words: real productivity is a benefit for every team, no matter the field, and something you can achieve with the agile development framework, you should try it if you aren’t already.