Monday, December 10, 2012

To commit or not commit - that's the questions here

Background

Following the Scrum guide the sprint commitment is now transformed into the sprint forecast - and again my previous way of thinking about the commitment evolves.   

"However, enough work is planned during the Sprint Planning Meeting for the Development Team to forecast what it believes it can do in the upcoming Sprint"

"In this part, the Development Team works to forecast the functionality that will be developed during the Sprint"

Having read many posts titled like "The sprint commitment is dead", "We don't need a sprint commitment" this post explains my current way of thinking about it (to be honest I prepared writing about the sprint commitment - but let's move forward and transform it to the sprint forecast). 


Purpose of the sprint forecast

  • Orientation and sprint focus - combined with the sprint goal the scrum team knows what it planned to deliver until the end of the sprint. In addition to the sprint goal as a nice sprint frame described in a more generous way, the sprint forecast pins it to concrete stories to implement.

    During sprint planning all agree on the forecast - it implies a common understanding including steps of adjusting and reaction - it creates visibility for everyone involved.
  • Information for other teams - it enables a sprint visibility as it shows what's planned for the next product increment. Teams dependent on it can anticipate their next steps (although it's still only a forecast!).
  • Input for the release forecast - the product owner can use the sprint forecast to update the release plan. It's an early outlook that enables already necessary adjustments. As it is a forecast - it needs to be handled carefully. 

The forecast fosters

  • Having a committed team - as the Scrum team planned together what it wants to deliver and having a common picture helps being focussed. 
  • Inspect and adapt - During the sprint to see if you're on track or adjustment is necessary. At the end of a sprint as input for your retrospective. What did you plan originally and compare it to the sprint result. Are there impediments to remove? What changed? The forecast sets the expectations necessary for learning.

Sprint forecast enhancer

What supports to have the forecast in a realistic way that really supports its purposes?
  • Regular backlog grooming to get a common understanding about the functionality meant by a story. A clear understanding enables a higher quality forecast.
  • Use yesterdays weather (past experienced velocity) and the sprint capacity as anker points. This gives you a reference and helps to avoid over pacing and fosters raising questions from the team, if the forecast is far away from the past velocity. Some examples for possible influences are:
    • it's something new to implement
    • the understanding of what to implement is not yet given
    • did we consider slack time (sickness, education, vacation) properly?
  • Using smaller stories as this allows a more fine grained forecast. The bigger the stories the more blurry it is and the more uncertainty comes along. With smaller stories the chances to deliver parts at the end of the sprint is higher - but this is an own post.
  • Measure differences of your sprint forecast and sprint results. We use a so called sprint ending session (a scrum team internal closing of the sprint - to see what is finished, what remains and doing a cleanup) to finally see for every story what was the original estimation and whats the result. For huge differences we collect points to discuss in the retrospective but at least ensure a common team understanding that there was a difference.
  • Adress huge sprint forecast and sprint result differences regularly in the retrospective. To learn from the past and try to bring the forecast and reality more together (if feasible).
  • It the team's forecast - avoid pressure from management or even the PO or ScrumMaster on the forecast. It's not about tuning the forecast but getting an good overview about what can be delivered during the sprint. The team creates the forecast - no one else.
  • Trust - as this enables that questions are raised and to experiment with the limits and setting sportive rather then defensive forecasts. For trust you need to ensure a trustworthy environment (read The Five Dysfunctions of a Team: A Leadership Fable (J-B Lencioni Series to get more input about the importance of trust)  

Consider your teams maturity level

For the Scrum Master it's important to know the maturity level of the team to know how much to guide the team towards the sprint forecast. As a Scrum Master you ensure that the right questions are raised in the right moment. You can influence the sprint outcome with your guidance - either heavily or lightweight.

Consider e.g. the situational leadership model (also nicely describe in shades of Scrum - the Scrum Master role).

Healthy or unhealthy signs

Healthy
  • The team uses the forecast to learn and improve its capacity steadily. You discover process improvements.
  • The team stretches a little beyond your comfort zone without over pacing.
Unhealthy
  • The forecast is used for punishment and blaming games. It's guaranteed that the outcome are better forecasts - but at the price of lower trust, low level forecasts or other gamings.
  • The team ignores the sprint forecast - it's not used throughout the sprint, especially not in your retrospective. It doesn't matter why a forecast had a huge difference to the sprint result.
  • Focus on forecast. Don't tune to much on this area and try to use it for it's described purpose. It's one Scrum element - that needs to be combined with the others - like the Sprint Goal, embedded in your Daily Scrum, Retro, Sprint review.

What changed?

I like the idea to name it sprint forecast and not longer sprint commitment. This way it's more oriented on reality, that a sprint is still affected by changes and the word forecast anticipates changes. It removes focus from the misleading usage in the past. 

My answer to the blog title: Let's use the sprint forecast to foster having committed teams delivering the best possible result.

What's your opinion

Until now there are not that many comments and discussion in this blog, although you visit it? Can you help me there ... should I change something? In this post? Do you have a different opinion or enhancements?

Thanks for your replies ;-)



Further readings

8 comments:

  1. Thanks for the interesting topic.
    I agree that the term "forecast" probably suits better than commitment, because it can always be the case that something affects the sprint and the commitment cannot be reached.
    According to common dictionaries, a forecast means "to contrive or plan beforehand", whereas a commitment means "a pledge or promise".
    So from my point of view, the main difference in the essence of both words is a plan versus as promised plan. A forecast or a plan is something impersonal an objective. What I miss is actually a team behind that plan that stresses "yes, we as a team stand behind that plan and strive to reach the goal". Which is exactly what I have when thinking of a "promise" or "commitment". Neither a promise, nor a plan provides certainty about the real outcome in the end. However, a promise means more to me as a PO than a plan.

    In summary, a sprint forecast or a sprint commitment should never be abused for punishment. Rather, it should challenge the team and identify ways to improve.

    ReplyDelete
  2. Hi Birgit, thanks for your PO perspective. I fully agree with you that having a committed team is important - and maybe the focus should be: "yes, we as a team identify with this sprint goal and are committed to achieve it. Our forecast shows that it is possible. Let's go!"

    How would the Scrum Master say - let's try it for 3 sprints with the sprint forecast and discuss in the retros how it works.

    I think it gives more direction toward working with sprint goals and to really work with them during the sprint. I guess there are ways for improvement ;-)

    Sebastian

    ReplyDelete
  3. Good thoughts. I am with Birgit.. Its commitment that matters more along with planning and forecasting. To add, Planning and forecasting are the two different and major components. Forecasting tells you where or what to achieve and planning tells you how to reach there or achieve it. So, why not add both in the sprint rather tahn replacing one with the other?? http://www.scrumstudy.com/blog/?p=26

    ReplyDelete
    Replies
    1. Hi Alana, I'm not sure if I got your question right - do you mean having planning and forecasting in a sprint or having forecasting and commitment in a sprint. I think both parts commitment and forecasting are important parts and putting a weight on it maybe leads in a wrong direction.

      A committed team - committed (and empowered+enabled) to do its best to reach the sprint goal - this is what we try to achieve as ScrumMasters. Having a realistic picture of the next sprint using planning to understand how to achieve the goal and deriving a forecast if this is doable in the given time frame are for me equally important. But it's two dimensions.

      One is about the team and it's attitude to reach it. And I would ask - can you commit (implying do you feel empowered, are you and your environment prepared) to reach the sprint goal.

      The other dimension is about anticipating change. Using the wording sprint forecast (e.g. in your sprint overview used with stakeholders) shows that we anticipate change. I guess every user of the forecast implies it's uncertainty - I think this is rather less happening, if we call it sprint commitment (as it was named in the past).

      To (hopefully) answer your question - in my opinion, we already have both in the sprint. But for me we use it now with lesser room for interpretation.

      Delete
  4. You guys seem to masters of scrum. As a beginner I am pretty much confused. Can Product Backlog Grooming be included in Daily Stand-up? Has the Product Owner got any role in Backlog Grooming?

    ReplyDelete
    Replies
    1. Hi Nick,
      thanks for asking the questions. Backlog Grooming (aka Estimation Meeting) is a meeting where the Scrum Team (including the ScrumMaster) thinks in advance about the upcoming stories and therewith prepares the next sprint. We have it in a 2 week sprint 2 times for one hour each. The role of the PO is to have the product backlog prepared and prioritized. In the backlog grooming the team tries to understand the story, ask questions about it to signal the product owner that more input is necessary. If a story is to big (for use if it is bigger than 8 days) you flag the story and either split it up immediately or ask the product owner to split it up later. The team checks the defined acceptance criteria and adds together with the PO new ones. In addition for the acceptance criteria the acceptance tests are checked.

      Main focus is to have the stories already known and prepared for the next sprint. This way you avoid having endless sprint planning I sessions and you avoid risking a good sprint start. In addition you enable the team to think about it and the PO to clarify questions. If you are confident that your next sprint content is ensured you look more ahead and check your roadmap for the next 3-4 sprints.


      If you not already did so I highly recommend reading the Scrum Guide by Jeff Sutherland are the Scrum Atlas from the Scrum Alliance.

      Delete
  5. Thanks Sebastian. I took up a Scrum Master course last weekend and now I have a fair idea about Scrum. I was struggling to select the right course and the below link was very useful.
    http://www.scrum-master.info

    ReplyDelete
  6. “Congratulations Sebastian Radics! Thank you so much for taking the time to share this exciting information.”

    ScaleStudy.com

    ReplyDelete

Now after reading this post ... what's your opinion? Would you like to add or change something? Share your thoughts and leave a comment ;-)