Blog
AI DLC Insights

Sprint Retrospective: What It Is, Why It Matters, and How to Run Effective Meetings | Harness Blog

Tips for improving your sprint retrospective meetings.

TL;DR

  • Sprint retrospectives are reflection meetings held at the end of each sprint where teams identify specific improvements to implement in the next iteration.
  • The primary goal is to increase team effectiveness, product quality, and engineering productivity through a structured continuous improvement process.
  • All scrum team members attend, including developers, scrum master, and product owner, with everyone's perspective valued equally to maintain psychological safety.
  • Retrospectives typically last 45 minutes to 3 hours depending on sprint length, following a five-step format: set the stage, gather data, generate insights, decide what to do, and close with commitments.
  • Successful retrospectives require honest feedback, focus on process (not backlog), and commitment to implementing 1-3 actionable changes per sprint with clear ownership.

A retrospective is defined as the “looking back on or dealing with past events or situations.” 

It’s a reflection of sorts. 

And in the case of a sprint retrospective, it’s the reflection of past sprint events — a meeting between various members of the engineering team and stakeholders in the organization. Everyone has a chance to speak — and every voice is valued. 

So, what is the purpose of the sprint retrospective meeting? Who attends this meeting? And how often does it happen? 

Within the Agile framework, there are what you call the five ceremonies of a sprint cycle. The agile sprint retrospective is one of these events, and it tends to occur at the end of one sprint and going into the next. 

Here, everyone gets a chance to talk about their experiences as they progress through the software delivery lifecycle (SDLC). They’ll discuss observations from sprint to sprint and have the opportunity to defend their actions along the way.

Everyone who attends daily scrum sessions will likely find a presence. Sprint retrospectives give everyone a chance to air out their struggles as they work together in unison to fix them.

Sprint retrospective is specifically designed to improve engineering productivity. The goal of the meeting is to reflect on the previous sprint and identify areas for improvement. This helps to increase engineering productivity and improve the quality of the product being developed.

Sprint Standup vs. Sprint Retrospective vs. Sprint Review

There are five different ceremonies to every sprint cycle. Each ceremony marks a pivotal moment during the software lifecycle and just as important as the next to keep development teams on target. 

During each event, there will be some sort of discussion detailing the various phases of development, what needs to be done, what has been done and what can be done differently.

The sprint cycle and ceremonies are included below:

  • Sprint Planning Session
  • Daily Scrum Events (Sprint Standups)
  • Sprint Reviews
  • Sprint Retrospectives (or “sprint retro,” for short)
  • Backlog Refinement

When it comes to having a conversation about sprint retrospective meetings, other distinct ceremonies also seem to come up. The sprint review is one of them, the standup is another. Knowing the difference between all three events is important because they each play a vital role in successfully managing the software development lifecycle.

During a sprint review, development teams usually meet to talk about the product and product development, accomplishments and any progress made since the last sprint meeting. So, it’s not rare to see product demos from time to time. 

Regular sprint reviews help developers better meet the needs of their customers and provide a better customer experience. They’re held at the end of each sprint and are essential when planning for the next. 

A sprint retrospective, however, has been designed to help teams exceed customer expectations while strengthening the workforce and improving the performance of everyone in it.

Retrospectives push teams to become faster, smarter and happier. The entire team — the developers, the scrum master and even the product owner — come together to look back on the “just completed” sprint and find ways they can improve before moving on to the next. 

Sprint reviews allow leadership to highlight the hard work of the entire development team, single out individual contributions and celebrate collaboration. It’s a technical event, whereas retrospectives are designed to focus on improvements — whether improvements to process or as a team on the road to engineering excellence. 

A scrum session — or a sprint standup — is a daily meeting that lasts only about 15 minutes. Here, teams discuss the progress of each project and any backlog that needs to be addressed. They’ll quickly note any issues they’ve encountered and the steps taken to find a resolution. 

Standups are like a minified hybrid of the sprint review and retrospectives. While they do cite historical events, the focus is more on moving forward, keeping everyone on the same page and serving reminders that help keep track of progress.

After the sprint review, scrum team leaders often meet to discuss how well the most recent sprints were completed, determining quality, output and effectiveness. Scrum masters guide, coach and make sure the team stays focused. They’re encouraged to learn from past mistakes, streamline workflow activities and improve processes over time.

The Goals of a Sprint Retrospective Meeting

The overarching goal of every sprint retrospective is to make scrum teams better, improve technical processes and increase the quality of production while developing a culture of productivity. 

These sprints give everyone a chance to take a deeper look at problems they’ve encountered and to turn them into positive teaching experiences. Not only do they get to look back at what went wrong, but they can also discuss ways to prevent it in the future. 

Each session should increase the quality and effectiveness of teamwork and collaboration, individual contributions and processes carried out during each iteration. 

The scrum master will most likely take charge of the sprint retrospective. However, product owners may also join in to not only add their own opinions, but to also gather valuable feedback and information regarding the development process and journey to date. 

The scrum master will break down how teams are performing and what they can do to become better. As a team, the scrum master will most likely discuss ways to improve their communication and become stronger through collaboration. He or she will address individual contributions, relationships that have been built, as well as those that have been broken.

The scrum team will communicate which processes have been carried out and which will continue through the next sprint. They’ll also have the floor to address ways they believe they can improve as a team and how they’ve already improved since the last session. 

Gaps will be highlighted. Bottlenecks will be uncovered. New tools will be discussed. And missed opportunities, pointed out. 

This is a moment where the team gets to reflect on how they can become more effective, how they can become more efficient and how they can drive more impact. It’s all about improving as a team and growing as a unit. 

After all, what is the purpose of the sprint to begin with?

The scrum team should always be looking for ways to increase the quality, output and effectiveness of their work. But sprint sessions, particularly sprint reviews and sprint retrospectives, give them an excuse to prioritize it over time. 

It’s an excellent way for the entire team to reflect on industry best practices compared to their own habits. They can exchange ideas on what works and what doesn’t while constructively critiquing each other’s work in the process. 

For the most part, they will discuss what went well in the previous sprint or sprints, what could be improved in future sprints and what needs to be improved by the next sprint, regardless of production.

“Sprint retrospectives can help your team avoid some common pitfalls, such as operating in silos or misalignment on scrum processes and goals. It’s all about working together as a team to reinforce agile principles, improve practices and surface any roadblocks on a regular basis,“ explains Lauren Moon, a Writer at Trello.

How to Successfully Run a Sprint Retrospective Meeting

While sprints will often vary in size and length, most sprint retrospectives follow the same type of itinerary and are often encouraged by leaders within the enterprise space. When conducting an agile sprint retrospective meeting:

Create a punchbowl for suggested improvements.
Review the facts and set a positive tone for what will be discussed. Start off each session by asking for suggestions. Get creative for those who’d like to remain anonymous. Make sure to take notes and take this feedback into consideration. Have them share their experiences, then add your own suggestions. Don’t be afraid to ask teams to try adopting new habits. Experimentation should be rewarded and could lead to new revelations over time.

Establish a culture of honesty, openness and transparency.
Make each participant feel comfortable when speaking. Empower them to not only say what’s on their mind but to ask questions and speak on the things that are bothering them.

Make sure your team feels heard.
Allow each and every one of them to have a voice. Let them know that their opinions are valued and that you’re genuinely concerned about the things they care about most. Allow them to defend their stance on “controversial moments” and allow them to provide clarity from their point of view. Let your team know that it’s okay to celebrate failure and that, ultimately, it’s what helps the team grow.

Understand that every member of the team is actually an ambassador.
Day in and day out, they’re the ones in the trenches. They provide critical feedback and data that provides leadership with a window to understand what has happened throughout the process of development and what they can expect from the team going forward.

Avoid postponing or putting off an event.
Shared experiences are essential to collaboration and are critical to moving forward as a unit, synchronizing on all fronts and improving all performance. Make sure each event is action-oriented and that insight is made actionable. Keep it fresh, keep it engaging. Bring in an outside perspective when and where possible to give a differentiating opinion.

Avoid bringing up or coordinating the backlog if possible.
Sure, there are times when the backlog will need to be brought up. But given the backlog's technical nature, it should instead be discussed during the sprint review meeting. In addition, backlog can build unnecessary pressure when you should be building a presence of motivation — talking out hardships and walking away feeling refreshed.

Gather data from previous sprint retrospectives.
Use this as a guideline when discussing what’s next. Layout where the team has improved and where they still can do better. Ask each and every member to give their own perspective. Don’t forget to generate data from this meeting because it will also be used in the next.

Don't be afraid to ask questions.
Because if you don’t, you’ll never know what you’ll never know. Show gratitude for the answers. Sometimes the smallest detail has the greatest impact. And all insight provides foresight, especially when looking back at mistakes in hindsight.

Summarize the sprint retrospective.
Reiterate lessons learned and share your own takeaways from this event. Ask everyone for their input, feedback and advice. Allow this to become an opportunity to learn. Gather information, especially in areas you may have otherwise missed.

Maintain a log with notes on each session.
Remember who said what when, and follow up when necessary.

How long does a sprint retrospective last?

The length of a sprint retrospective meeting is generally no longer than three hours in relation to a one-month sprint. Shorter sprints often mean shorter scrum retrospective events. But, this number can vary based on how many team members there are, the agenda and the points to be addressed. It’s also based on whether the team is present on-site or if remote teams are included. It also depends on whether team members actually need to be brought up to speed, to begin with.

The communications team at Adobe provides this rule of thumb:

  • 45 minutes for a one-week sprint
  • 1.5 hours for a two-week sprint
  • 2.25 hours for a three-week sprint
  • 3 hours for a month-long sprint

“Encourage your team to try different sets of activities during the meetings, or dig deeper into follow-up tasks with a unique approach tailored to their personal needs,“ recommends Moon.

Zoho suggests asking teams the following questions:

  • Which practice of ours barely hangs together and could topple any second?
  • Which practice is more solid but could stand to be improved? Are there any that you believe are completely rock solid?
  • What did you like about the last sprint? What did you learn from it? Was anything lacking?
  • What was something you liked or appreciated about someone else and their contributions? What has stood out? What's been unexpected?
  • What was difficult about this task? What was fun?
  • Do you see any patterns? What do they mean for you as a team? 
  • Suggestions on how to move forward?

Tracking Goals of Sprint Retrospective Meetings

According to Scrum.org, during each sprint retrospective, the scrum team should plan ways to increase product quality by improving work processes and adapting their own definition of “done.” The sprint retrospective should always provide development teams with a formal opportunity to focus on “inspection and adaptation” in a friendly yet open and honest environment. 

Adding to this concept, Atlassian also suggests mapping out at least two months' worth of sprints(https://www.atlassian.com/wac/team-playbook/plays/retrospective) and asking team members, specifically, to call out what stood out at each of these events, noting that it’s a good way to refresh everyone’s memory, set the stage for each new session and act as a motivator in the case of a job “well done.” It’s standard project management.

The next step would be implementation. Encourage the team to take action. Keep a log of actionable goals and to-do lists for the team to accomplish. This can be done electronically or in a physical sense. Some teams use platforms like Jira, while others prefer traditional Kanban as long as it serves the purpose of reminding the team when they’re not “done” or in progress. 

From here, the retrospective is only half done. It’s up to the team to keep up with improvements.

With a platform like Jira, scrum masters can easily add goals, assign existing issues and validate whether each goal has been met or attempted. As a result, they’ll know how many tasks require more time to complete while prioritizing those requiring a little more effort.

Because it’s basically a digital “to-do” list, scrum teams will be able to visualize the backlog of sprint goals and embrace the overall big picture as a vision for the future. It’s more than just allowing them to mark goals “in progress” or “done.” It’s also about inspiring with how many tasks they’ve been able to complete. 

← Previous:
Next: →

FAQs

Related Resources

10 Signs You Don't Do Continuous Delivery

Continuous Delivery & GitOps

10 Signs You Don't Do Continuous Delivery

October 25, 2022

Eric Minick

+ more
Time to Read

While many of these development practices may feel commonplace, if you're doing these, you're not actually doing continuous delivery at all. Read on to learn 10 techniques that can help your team.

1. "Releases" Are Planned in Detail During “Agile” Meetings

Continuous delivery (CD) doesn't mean "intricately plan 12 releases for the entire year." Continuous deployments are never-ending, ongoing, nonstop, and so on. Agile was something dev teams aspired to achieve 10 years ago when monthly release cycles were considered valuable. Today, daily production deployments have become the norm. All the planning, meetings, approvals, tickets, and general politics associated with managing releases will actually slow you down or kill your business in today's world. 

In the year 2022, you don't want to be riding a horse when all of your competitors are driving cars.

2. You Don't Commit to Trunk

Branch, commit, merge,resolve conflicts – all tasks that slow you down. The whole point of CD is to deliver and deploy independent software components fast and frequently using dev teams that work in parallel.

If a build, test, or deployment pipeline fails, you should stop, understand what happened, fix it, and learn from it. This is what happens in production, so why not during development and testing? Committing to Trunk will drive the right team behavior and urgency required for CD.

3. Fixing Builds/Deployments takes 30+ mins

The whole point of a deployment pipeline is to kill your build before it causes production outages. When a deployment pipeline or test fails, it should be treated as a "stop-the-world" event where everyone stops, focuses, and fixes the build so things can progress. If your production canary or deployment fails, you should be able to roll back instantly or roll forward with a rapid fix.

We practice rapid rollbacks at Harness today. Bugs discovered by Harness are been fixed in minutes, not hours. Once, a bug was reported at 8:45am, and one engineer fixed the bug minutes later on her Caltrain journey to work. Shortly afterward, another developer pushed the fix while riding BART using his smartphone. 

4. Deployment Pipelines Take Hours to Complete

Let's imagine your new build or artifact is perfect. How long does it take for that artifact to be promoted through all your deployment pipeline stages (Dev, QA, Staging) and into production? One hour? Two hours? Six hours? Longer?

Feedback loops for deployment pipelines (and stages) need to happen in minutes, not hours. This may require more test/tool/feedback automation so you can eliminate manual tasks and approvals throughout your deployment pipelines. For example, if one pipeline stage succeeds, it should automatically move on to the next until a stage fails.

5. Your Deployments Rarely Fail in Testing

If 95% or your deployments succeed in dev/QA/staging, something is very wrong. Your deployment pipelines either lack basic test coverage or they lack integration with your existing toolsets. If you've already invested significant money in tools, why aren't you integrating and leveraging them to gain insight into your pipelines?

For example, many of our customers leverage APM (AppDynamics, New Relic, Dynatrace, etc.) and log analytics (Splunk, ELK, Sumo Logic, etc.) to help identify performance or quality regression in deployments. We call this continuous verification at Harness.

6. It Takes a Village to Deploy and Debug 

It's entirely possible you've automated your deployment process. By automated, I mean you've stitched together deployment scripts written by 20 different people, who, at some stage, tweaked and refactored a few hundred lines here and there.

So, when something breaks, it literally takes a village to debug and troubleshoot a deployment. We had one customer who described their previous deployment process as a "village exercise" that took 15 people six hours to debug.

Next time you deploy, count the number of people involved and multiply that number by how long the deployment process lasts. Village deployments are expensive and time consuming.

7. You Have a Dedicated Deployment/Release team

If you have multiple devs or product teams, the last thing you need is another team that bottlenecks all your deployments. Tickets, change control, approvals, handoff, documentation, and so on are more activities that slow down your deployment timelines.

If a deployment/release team does multiple deployments a day and the first deployment goes wrong, then they'll probably spend the next six hours debugging versus deploying, and thus bottlenecking other deployment pipelines. This just slows down your team’s ability to meet customer demands.

8. Developers Don't Deploy/Debug Their Own Code

Most well-oiled CI/CD organizations have their DevOps teams build deployment pipelines to use during deployment. Let me say that again: DevOps manages the tooling/automation/framework and developers use this platform-as-a-service so they can deploy their own code. We call this CD-as-a-Service at Harness.

When you let developers deploy their own code something natural happens:they end up debugging their own code should something fail. This is a very good thing. If code fails in production, then you need the right set of eyes, context, and knowledge to rapidly troubleshoot. You also need the ability to automatically roll back if you can't roll forward.

We hear too often from customers that Deployment/Release teams often drag DevOps or SREs teams into firefights when deployments go south.

9. You Don't Know the Business Impact of Deployments

The whole reason for doing CI/CD isn't so you can spend a ton of money on people, technology, and tools. You do it to grow your business and make it more competitive.

Organizations adopt CI/CD so their applications and services deliver a better service and experience than their competitors. End of story.

Let's imagine you spend $1 million a month on a new service for your business, and your team does daily production deployments. Do you know what positive impact each of those deployments had on your business? More importantly, do you know whether any deployments had a negative impact? If so, by how much? As Winston Churchill said, "No matter the strategy, it's always good to occasionally look at the results."

10. You think DevOps is CD

It's not. DevOps is a culture or mindset, whereas CD is a practice or set of principles that teams follow to deliver software safely, quickly, and in a sustainable manner. A DevOps culture makes CD principles easier to implement, but it's not going to magically re-architect your application so more components can be deployed more frequently in the cloud.

The vast majority of Harness customers are migrating from "vintage" monolithic applications to cloud-native microservices. CI/CD is a core initiative that is helping them make that transition. DevOps is a popular initiative, but this is more about people, culture, transparency, and collaboration across teams. It's not about tools or technology.

Adopt CD with Harness

These are 10 of the most common signs we see that indicate an organization isn’t properly utilizing CD. What other mistakes do you see other teams making?

If you’d like to hear more about how Harness can help your team implement CD, sign up for a free demo today!

Request a demo

Get Started

Get Started with Harness AI

Try the full platform free. No module restrictions, no credit card.

Harness Team
Harness
Harness delivers intelligent AI automation, so your team ships code faster, safer, and smarter.
harness-team
Harness Team
https://www.linkedin.com/company/harnessinc/