If one word could describe the software engineering space it would be “agile.”
Not only is software engineering one of the fastest-growing industries right now, but the teams that work on our latest apps and digital products are also incredibly quick, better communicators, and more aligned with customer requirements than ever before. And if you’ve been a software engineer, you might know that all these great characteristics of software development teams are often all thanks to the infamous scrum meeting.
- What is a scrum meeting in software engineering?
- The roles in scrum meetings
- Benefits of scrum meetings in software engineering
- 7 tips to run effective scrum meetings in software engineering
- Free scrum meeting agenda templates
What is a scrum meeting in software engineering?
While the term “scrum meeting” is most associated with project management roles, it was actually coined by the software development industry. As part of practicing Agile, scrum meetings enable teams to have short meetings to quickly discuss priority issues, come to an agreement on solutions, and distribute action item responsibilities. In software engineering, there are five major scrum meeting types, including the sprint planning meeting, the daily scrum, the sprint review meeting, the sprint retrospective meeting, and the backlog refinement meeting.
Sprints are one- to two-week activity periods when the team is expected to produce a measurable product increment (for example, build feature A). The daily scrum is a meeting held every day to go over each team member’s work and solve any blockers that may prevent anyone from completing their tasks.
Run delightful software engineering scrum meetings
Increase meeting engagement and productivity with a collaborative agenda that the whole team can contribute to. Try using a tool like Fellow!
The roles in scrum meetings
Each person in a scrum meeting or sprint session should have one of three primary roles. Each person will maintain their unique responsibilities throughout the sprint.
- The scrum team. This is the larger group of people, often the software developers, Q&A team, DevOps engineers, consultants, or anyone else who will be assigned an action item to complete during the sprint.
- The scrum master. This person manages the scrum team by ensuring that they follow the framework set out in their project plan. The scrum master is responsible for scheduling meetings, coordinating availability with the scrum team, and communicating with the product owner.
- The product owner. The product owner can be viewed as the person responsible for the product’s success. They are a coordinator between marketing or sales teams and the engineering teams. As such, they will be responsible for communicating the customer or marketplace requirements (developed by the marketing team) to the engineering team to build. If the scrum team needs to communicate to the marketing or sales teams or direct to the customer, this will be done through the product owner.
Benefits of scrum meetings in software engineering
- Improve decision-making
- Give developers an opportunity to work through blockers
- Create alignment on upcoming sprints
- Provide feedback on past or current sprints
Working with agile processes enables teams to react quicker, improves communication across the team, and enables all team members to have a level of insight into what other team members are working on at any given moment. Therefore, if a decision needs to be made, all team members are well informed. Having the product owner present in the meetings also enables faster decision-making as they are the “voice of the customer” and may be able to provide on-the-spot decisions that most align with the customer or market requirement.
2Give developers an opportunity to work through blockers
Blockers prevent a team member from being able to complete their work, either in whole or in part. When blockers arise, teams can quickly work together in the scrum meeting to think of a solution (whether it’s temporary or permanent). Practicing daily scrums enables teams to work through blockers every day. Working through smaller blockers every day saves time and is more efficient when compared to either letting a blocker go unresolved for a longer period of time or not having access to a team to solve the blocker.
3Create alignment on upcoming sprints
The scrum master can work with the scrum team to create sprints, which break out a large project (for example, build a new video game application) into smaller, measurable, and more workable sprints (for example, run quality assurance testing). Breaking these down into more defined tasks can increase motivation as the overall project seems less daunting to the team. As well, having smaller, more workable tasks creates alignment on which steps need to happen first, second, third, and so on. Thinking through this timeline makes it easier to see when building, testing, and deploying of code will happen so other teams can plan around these important dates.
4Provide feedback on past or current sprints
The sprint retrospective meeting is purposefully designed for reviewing past sprints, providing feedback on what worked (or didn’t), and developing action plans for improving future sprints. The sprint review meeting can also be practiced for current sprints if it’s extended over a longer time (for example, a two-week sprint may take a review of current flows and processes at the one-week mark).
7 tips to run effective scrum meetings in software engineering
- Assign scrum meeting roles
- Define a clear purpose
- Create and stick to a meeting agenda
- Keep customer feedback in mind
- Give developers autonomy
- Make the scrum a recurring meeting
- Be brief
1Assign scrum meeting roles
As with any meeting, your attendees need roles! For scrum meetings in software engineering teams, practice giving your attendees one of the three roles mentioned above. There should be only one product owner and one scrum master in each meeting. All other attendees should make up the scrum team. It’s important to note that not all members need to be in attendance at all meetings. For example, all roles should be present during the sprint planning meeting to help ensure sprints are planned efficiently, but daily scrum meetings may only require the scrum team that is actively working on the sprint.
2Define a clear purpose
Sprints and scrum meetings usually hone in on a specific area of the product, which is helpful when planning the meeting purpose. Remember that each of the five scrum meeting types has a slightly different purpose:
- The sprint planning meeting is for organizing future sprints.
- The daily scrum is for managing daily scrum team tasks in the current sprint.
- The sprint review meeting is to provide feedback mid-sprint.
- The sprint retrospective meeting is to provide feedback post-sprint.
- The backlog refinement meeting is to prioritize tasks that need to be completed.
3Create and stick to a meeting agenda
Your meeting agenda will help keep the meeting organized and on time, which is incredibly important for short meetings like daily scrums. While longer meetings can require more detailed meeting agendas, short meetings like daily scrums may not need that much detail. Consider having a small block of time for any announcements from the scrum master if needed, time for each scrum team member to review their daily tasks, and finally, a bit of time to resolve blockers if necessary.
4Keep customer feedback in mind
The product owner often joins software development meetings to provide the customer’s point of view, market research, or other contributing information that may affect decision-making during the product build process. In meetings where the product owner isn’t present, consider using a tool like Fellow, which enables your team to have access to important documents like the customer requirements.
5Give developers autonomy
Scrum teams like to have a lot of independence to complete their daily tasks, and only bring problems to the team when they have become a blocker. To keep meetings efficient and projects working smoothly, many scrum teams don’t dive into detail on the specifics of their work. In other words: scrum teams and micromanagers won’t mix well. Make sure that your scrum master and product owner have trust in the scrum team to complete their jobs well and according to the sprint framework.
6Make the scrum a recurring meeting
The beauty of Agile is that it is an iterative, repeatable process that allows teams to continually build on their work. Scrum and sprint meetings can be practiced in much the same way. Regular multi-week intervals for sprint meetings produce a cadence that enhances productivity, and daily scrum meetings allow for a routine and for team collaboration to happen much more frequently.
If anything, the ability to be concise is the defining factor of a scrum meeting. Daily scrum meetings are 15-minutes max, and should only go over high-level, super relevant information that affects the rest of the team. Consider letting the team know what time you’ll be accessing the stage environment, any blockers that are in your path, or if you’re going to be unavailable for some part of the day. But no need to let them know that you had a small bug in your line of code and resolved it within the hour—communication is great, but this kind of announcement will slow down the meeting.
Free scrum meeting agenda templates
Software engineering teams work differently than other teams, largely due to the technical aspect of their work. As teams work with the same tools and on the same projects, there’s a lot of possibility for overlap and disrupting a coworker’s completed project if the communication is off. Software engineering teams have an added requirement to be more internally aligned, have more detailed planning for upcoming requirements, and be extra communicative than most other teams; this is where scrum meetings come in. Scrum meetings help teams plan, communicate, work through blockers, and continually review processes to optimize for the future. In turn, you’ll find that software engineering teams are one of the most agile teams in the organization!