Cristiano Balducci is one of our squad leaders. A problem-solver at heart, Cristiano shares valuable insights on how you can identify issues and achieve your goals as a team. Read this short blog to discover his top tips on how to achieve some of the most impressive sprint goals. If you want to find out about how we troubleshooting our process and what we have learnt doing this click here.
How do we choose impactful sprint goals?
Here at Skyscanner we are arranged into squads and tribes; I’m a squad lead, and my squad — like many of the other engineering squads at the company — uses an ‘agile’ methodology called ‘Scrum’ for the purposes of effective software development. One of the characteristics of the Scrum process is that clearly defined goals are completed in clearly defined time periods called ‘sprints’.
A Sprint with a well defined goal helps to focus the squad on delivery and user impact. In this short blog I will share with you the framework we use in Ion to set up our Sprint Goals.
It revolves around the following concepts.
- Focus on the single most valuable thing.
- A straight connection with the business outcome.
- Define “Done”.
Focus on the single most valuable thing.
A good starting point is this question: “What is the single most valuable thing we can work on in this upcoming sprint?”. Let’s analyse it!
The first keyword here is single. Having a single goal allows us to focus all our efforts towards it instead of spreading them on advancing (but not quite completing) a multitude of goals.
Once the whole squad is pulling in the same direction, information flow between people increases. This leads to less knowledge silos and increased likelihood of reaching the goal.
Of course working on a single thing is not enough by itself, it also needs to be the most valuable thing! We want to make sure that we invest our efforts on the goal that gives us the most value. Taking a page from Stuart Davidson’s keynote at DevOps Days Edinburgh 2019, engineering is about what you choose to do as much as what you choose not to do!
But how to decide what’s most valuable?
A straight connection with the business outcome.
Software development is an environment with an high rate of change, doubly so in Skyscanner! Successful delivery of the business outcome is more complex than achieving the current sprint goal.
To be impactful, a squad needs to frame sprint goals within the strategic landscape of their long term delivery.
A straight connection between the current sprint and the team’s ultimate goal is a good way of making sure to it is working on the right thing. As a nice bonus, it also enhances alignment and creates sense of purpose in the squad!
Some ways of thinking about it:
- Does this move our KPIs forward and/or deliver a key sub-part of our OKRs?
- Does this answer any of our known unknowns?
- Does this remove a blocker for another squad waiting on us?
Dependability means doing what we say we’ll do, week in week out. This requires that we have a definition of “done” for our Sprint Goals.
Having defined the value the sprint provides us, we can create a good definition of “done” using value oriented Acceptance Criteria.
Following the principle “If you can’t show it, it is not done”, one good way of thinking of the sprint goal’s Acceptance Criterias is by asking “How would we demo it?”. This enables solid, tangible and objective way of calling the goal done and sprint achieved.
Bonus: DDS (Demo Driven Sprint).
We can push this concept a bit further taking inspiration from Test Driven Development (TDD).
One of the aims of TDD is to limit the amount of code written to what is needed to meet the test’s specification. Using the sprint goal we defined, we can limit the goal-related sprint backlog only to tasks that really contribute to achieve it. This gives use capacity we can use for staying on top of our operational excellence, to support another squad that needs our help or simply to stretch ourselves and try to achieve a bit more than we thought we could.
So here it is, a simple framework to define impactful Sprint Goals!
- What is the single most valuable thing we can work on?
- How does it relate to our overarching goal?
- How can we demo it?
- BONUS — What work do we need to do in order to demo it?