Getting to Done: Creating Good Sprint Goals
A good Sprint goal helps a team focus. A good Sprint goal helps a team understand the purpose and impact of the work they are doing.
Join the DZone community and get the full member experience.Join For Free
In a previous post describing challenges to creating a done Increment, I identified a lack of clear Sprint goals as a challenge. According to the Scrum Guide, the Sprint goal is an objective to be met by the Sprint through the implementation of part of the product backlog.
The Sprint goal provides guidance to why we are building the increment.
If we have a Sprint backlog, essentially the plan for the Sprint, why do we need a Sprint goal?
Remember that software development is complex, and we cannot plan perfectly for the unknown. When we create the Sprint backlog, there is an expectation that work will emerge during the Sprint. Scope may need to be re-negotiated. The Sprint goal helps provide focus on an objective we want to achieve and allows the flexibility to negotiate the work to achieve that objective.
Creating a clear Sprint goal can be challenging for Scrum teams, and this often comes up when I teach professional Scrum courses.
Here are four challenges with Sprint goals (and some tips for solving them).
1. The Sprint Goal Is Too Big
When we have compound Sprint Goals (e.g. achieve X and Y and Z), we are splitting focus and not allowing much flexibility. Here are a few reasons we end up in this situation and suggestions for how to think differently.
We are working on multiple unrelated projects or initiatives. When we are ordering the product backlog and doing Sprint planning, consider both cohesion of the work and the top priority initiative. When we cram too much into a Sprint, we are setting ourselves up for failure. We end up with waste due to context switching and little room for the work to emerge as we learn. If it feels impossible to choose one, perhaps our Sprints are too long and do not provide the business the opportunity to change focus and direction frequently enough.
We try to encompass every Product Backlog Item (PBI). When I teach Scrum courses, I often hear that teams consider their Sprint goal to be “complete every PBI.” This is the equivalent of not having a Sprint goal at all. This feels a bit lazy. Yes, coming up with good Sprint goals is hard. Take the time to do it.
We think the team may not work as hard if the challenge isn’t big enough. This sentiment reminds me a command-and-control mindset. If self-organizing, empowered teams are to be effective, we must believe that people are committed to doing their best. If the Sprint goal is met before the end of the Sprint, professionals will figure out what else they can do to contribute in meaningful ways. This could mean delivering more functionality. This could mean working on continuous improvement items. Trust them to figure it out.
2. The Sprint Goal Is Vague
When we get to the end of a Sprint, is the entire team in agreement on whether or not the Sprint Goal has been achieved? If not, the Sprint goal may be too vague. Here are a few tips for creating more clear Sprint Goals.
- During Sprint Planning, ask, “How will we know if we have achieved the Sprint goal?” If we have different answers or puzzled looks from the Product Owner or any development team members, then we need further discussion and refinement of the Sprint goal.
- Make the Sprint goal measurable. This helps reduce subjectivity or opinion.
- Use a consensus technique toconfirm everyone’s understanding and commitment to the Sprint goal. This is also a way to help encourage team ownership.
Here are some examples of unclear Sprint Goals and modifications to make them clearer.
|Unclear Sprint goal||Clearer Sprint goal|
Enhance shopping cart functionality.
Streamline purchasing process to enable an increase in conversion rates.
Increase page load time by X%.
Onboard new market segment.
Enable new market segment to purchase Service Y.
3. The Team Doesn’t Pay Attention to the Sprint Goal During the Sprint.
Remember we have to actually pay attention to it to help provide focus.
- Make it visible. Write the Sprint goal on or near the Scrum board. Make it large. Use a color or border that stands out.
- Teach the team totalk about progress towards the Sprint goal in the daily Scrum. Development team members often give updates about the product backlog items they are working on, and the Sprint goal is never discussed. Make it part of the daily Scrum.
- Make the Sprint goal a team measure and keep it visible in the team space. Similar to how a team may track their velocity or automated test coverage over time, a team can also track Sprint goal achievement over time. Keeping this information visible helps the team think about it. Historical data and trends can be used for discussion in the Sprint retrospective. A word of caution: achieving a Sprint goal is pass/fail. There is no such thing as 85% achieved.
4. The Sprint Goal Doesn’t Feel Meaningful
A Sprint Goal is supposed to provide purpose. It helps the team know why they are building the increment. People want to do meaningful work. People want to do work that has an impact. This is a driver for intrinsic motivation. Let's think about ways to make Sprint goals more meaningful to the people who are building the product.
- Make it business or user focused when possible. What will a user be able to do when we implement this feature? What will a business area be able to achieve when we implement an enhancement?
- Make it focused on testing business assumptions and getting feedback. Many times, we do not know what users actually need or are willing to do (because even users don’t know). A Product Owner needs early feedback to test assumptions regarding value to users.
- Make it focused on reducing risk. Proving out a technology or design is an important part of reducing risk. If we learn that a technology is not going to meet our needs for performance, security, or scalability, we can change direction. The earlier we change direction, the cheaper the cost of the change.
In summary, a good Sprint goal can help a team focus and have the flexibility to create a Done Increment by the end of a Sprint. A good Sprint goal helps a team understand the purpose and impact of the work they are doing, which is a driver for intrinsic motivation. Roman Pichler provides a helpful template for creating effective Sprint Goals.
Published at DZone with permission of , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Auto-Scaling Kinesis Data Streams Applications on Kubernetes
What ChatGPT Needs Is Context
What Is JHipster?
Replacing Apache Hive, Elasticsearch, and PostgreSQL With Apache Doris