You're not late, but you're the last person who arrives in the project room for the Sprint Planning meeting. Your role? You're the Product Owner!
What are you going to do?
[[hello<-Say hello to everyone]]
[[sit<-Just find a place and sit down]]
[[stand<-Go and stand in a corner]]Everyone replies. Jane, who's one of the developers, asks you "So, Mike, how long is the timeboxed duration of this meeting?"
You think about it: our Sprints are two weeks long and there are 5 developers, therefore:
[[m8<-It's 8 hours.]]
[[m4<-A 4-hour session seems fine.]]
[[m2<-2 hours Jane, it's timeboxed for 2 hours.]]Mary, the Scrum Master, notices you and says "Hey Mike, welcome. Why don't you join us?"
Everyone is standing in front of the Product Backlog. You go there and join them.
Jane, who's one of the developers, says hi.
[[Hi Jane]]
(set: $feedback to it + (a: "notactiveinthebeginning"))Jane, who's one of the developers, notices you and says hi, followed by everyone else saying hi.
You respond, and then...
[[join them]]
(set: $feedback to it + (a: "notactiveinthebeginning"))Mary (Scrum Master) hesitantly says: well, in fact, 8 hours is normal for a one month Sprint, and the timeboxed duration is usually shorter proportionally for shorter Sprints. So, shall we keep this to 4 hours?
[[OK]]
(set: $feedback to it+(a: "wrongaboutsprintduration"))Mary (Scrum Master) nods with a smile, and says "Let's begin then".
[[OK]]Mary (Scrum Master) hesitantly says: well, in fact, Sprint Planning is 8 hours in a one month Sprint, and usually shorter proportionally in shorter Sprints. So, shall we say 4 hours for our project?
[[OK]]
(set: $feedback to it+(a: "wrongaboutsprintduration"))Then you say hi to everyone else.
Jane asks you "How long is the timeboxed duration of this meeting?"
You think about it: our Sprints are two weeks long and there are 5 developers, therefore:
[[m8<-It's 8 hours.]]
[[m4<-A 4-hour session seems fine.]]
[[m2<-2 hours Jane, it's timeboxed for 2 hours.]]Jane asks you "So, how long is the timeboxed duration of this meeting?"
You think about it: our Sprints are two weeks long and there are 5 developers, therefore:
[[m8<-It's 8 hours.]]
[[m4<-A 4-hour session seems fine.]]
[[m2<-2 hours Jane, it's timeboxed for 2 hours.]]Developers are looking at you!
[[items<-Start by reviewing the items on the top of the Product Backlog]]
[[objective<-Start by discussing the overall objective of this Sprint]]
[[questions<-Just ask them if they have any questions for you]]While everyone already knows the items and have previously estimated their size, you go through them and explain what they are supposed to do; just in case. Sometimes developers ask you questions and you discuss it.
(unless: (history:) contains "objective" )[
[[objective<-Now discuss the overall objective of the Sprint with them.]]
[[questions<-Ask them if they have any questions for you]]
]
(else:)[
[[questions<-Ask them if they have any questions for you]]
]You tell them that the most important thing in this Sprint is to fill in the gaps and create a complete chain of features that can show how the purchasing process works for the customers, because it can generate a lot of feedback and reduces many risks.
One of the developers writes this down as the Sprint Goal.
(unless: (history:) contains "items" )[
[[endnow<-Thank everyone for attending the meeting and leave the meeting.]]
[[items<-Discuss the items on the top of the Product Backlog.]]
[[questions<-Ask them if they have any questions for you.]]
]
(else:)[
[[endnow<-Thank everyone for attending the meeting and leave the meeting.]]
[[questions<-Ask them if they have any questions for you.]]
](unless: (history:) contains "objective" )[
Do we have an overall objective for the Sprint?
[[objective<-Yes!]]
]
(else:)[
(unless: (history:) contains "items")[
I know that we've talked about the items before, but it's been a while. Would you tell us what they are once again?
[[items<-Of course!]]
]
(else:)[
Mike, we had a lot of trouble accessing user and customer representatives in the previous Sprint, which delayed our user acceptance tests. Is it going to be the same this Sprint?
[[uat<-Oh...]]
]
]Mike, I have a question...
[[questions<-Of course!]]
(set: $feedback to it+(a: "earlyfinish"))I understand your concern. I tried to fix it last time, which didn't work,...
[[myself<-I'm going to try again.]]
[[sm<-Mary, would you help us with that?]]
[[retro<-but it's not time to talk about it; it's a topic for Sprint Retrospective.]]Mary looks at you and says "Mike, I know that you're busy with many things. Shall I help you with that?"
[[yes<-Oh, that would be great Mary!]]
[[no<-Let me give it another try myself.]]Mary: Sure, I'd be happy to help. I'll let you know about it. Also, let's remember to bring it up in the next Sprint Retrospective.
[[Any other questions?]]Mary: It's a good idea to discuss it in the next Sprint Retrospective. However, it's also important to do something about it for this Sprint. Shall I help you solve this problem?
[[yes2<-Sure, please do.]]
[[no2<-Let me give it another try myself.]]
(set: $feedback to it+(a: "pendingforretrospective"))Mary: Sure. And by the way, let's remember to bring it up in the next Sprint Retrospective too.
[[Any other questions?]]Mary: As you wish. Let's remember to bring it up in the next Sprint Retrospective too.
[[Any other questions?]]
(set: $feedback to it+(a: "notgettinghelpfromsm"))Mary: OK then. I'll keep you posted.
[[Any other questions?]]Mary: OK, but let me know if you needed any help.
[[Any other questions?]]
(set: $feedback to it+(a: "notgettinghelpfromsm"))No one has any questions.
[[end2<-Let's finished the meeting then!]]
[[select<-Let's select items then!]]
[[Igo<-So, I'm done here. Good luck with the rest of the meeting.]]Mike, aren't you forgetting something? We've not selected the items for the Sprint yet!
[[select<-Oh, yes! Let's do it.]]
(set: $feedback to it+(a: "earlyfinish"))So, it's now time to select items from the Product Backlog.
[[SelY<-Select the items yourself.]]
[[SelD<-Ask the developers to select the items.]]Jane: But Mike, we may need your help for the rest of the meeting. Would you stay with us?
[[OK, I'll stay.]]
[[email<-I'm not really needed. Send me an email if there were any questions.]]
(set: $feedback to it+(a: "earlyfinish"))Great, thanks.
[[select<-Let's select items then.]]Mary: Mike, the Product Owner is needed for the whole session. We really appreciate it if you stay.
[[OK, I'll stay.]]
(set: $feedback to it+(a: "notface2face"))The developers are shocked when you begin to select items for them, and Mary tells you: Sorry Mike, but it's up to the developers to select the items. The Product Owner only orders the items.
[[SelD<-OK, let the developers select.]]
(set: $feedback to it+(a: "selectionbypo"))Developers start discussing the items, and at the end, they pick the first 9 items for their Sprint Backlog.
[[Calculate the total size of those items]]You make a quick calculation and see that these 9 items are 48 story points. However, the current velocity is about 60 story points per Sprint.
[[suggest<-Ask the developers why they don't pick more items.]]
[[order<-Tell the developers that they must pick more items.]]Jane explains that there are a few public holidays in this Sprint and also two of the developers will be on leave for a few days, therefore, their capacity will be lower.
[[unacceptable<-That's unacceptable! We have a commitment to the customer!]]
[[acceptable<-OK, I understand.]]Mary: Oh, Mike, you can't force developers to pick more items. They should believe in what they have in their Sprint Backlog.
[[unacceptable<-That's unacceptable! We have a commitment to the customer!]]
[[acceptable<-OK, I understand.]]
(set: $feedback to it+(a: "orderingdevs"))Mary: Mike, our commitment to the customer is to deliver a high quality, valuable product. If we force ourselves to deliver more features, it may reduce quality, which turns into lower productivity in the future.
[[acceptable<-OK!]]
(set: $feedback to it+(a: "wrongcommitment"))You take a look at your watch; it's been about two hours through the meeting.
[[end3<-Are we done?]]
[[tasks<-Shall we proceed?]]
[[end4<-OK, you guys go on with the rest of the meeting. You won't need me anymore.]]Jane: Now we need to talk about the way we're going to deliver the items.
[[tasks<-OK, go on.]]
[[end4<-OK. But that's technical, so you won't need me.]]
(set: $feedback to it+(a: "earlyfinish"))The developers discuss the items, and create tasks for the first 3 items in the Sprint Backlog.
They write down the tasks on smaller sticky notes, and add them to their Sprint Backlog, and then they say that they are done.
[[wait<-Wait! what about the other 6 items on the Sprint Backlog?!]]
[[thank<-Is there anything else we need to do?]]Jane: well, it is technical, but we may run into questions. Would you stay with us please?
[[tasks<-OK]]
(set: $feedback to it+(a: "earlyfinish"))Jane: this is enough for the first few days of development. We'll create the other tasks during the Sprint.
[[thank<-OK, I see.]]
[[incorrect<-Oh, come on! Let's take it seriously and do it for all tasks while we're together!]]
(set: $feedback to it+(a: "upfrontplanning"))Mary asks if there's anything else we need to discuss, and everyone is silent. So, she suggests ending the meeting.
You take a look at your watch and see that it's been only 3 hours.
[[short<-But our Sprint Planning is timeboxed for 4 hours, and it's been 3 hours. We need to keep working for another hour.]]
[[end5<-Thanks everyone. You know where to find me if you have any questions. Bye.]]Mary: Mike, that's a form of upfront planning, and not really needed.
[[thank<-OK!]]
[[but<-But isn't it easier to do it while I'm with the team? They may have questions.]]Mary: It doesn't matter what happens now, they will always have more questions for you during the Sprint, and you're supposed to be available to the team throughout the Sprint.
[[thank<-Oh, alright.]]Mary: Well, the type of timebox that we have for the events is only about the maximum duration, it's not about the minimum duration.
But when we were done with all items in the previous Sprint, you said that we couldn't end the Sprint and we should add more items!
[[sprint duration<-what's the difference Mary?!]]
(set: $feedback to it+(a: "fixeddurationsprints"))Everyone says goodbye, and you get back to your room to check your emails.
[[coffee<-Let's get a cup of coffee!]]Mary: that's right. Timeboxing for Sprints implies a //fixed duration//, but for events inside the Sprint, timeboxing is only about having a //maximum duration//.
[[end5<-OK, I see.]]<div id="menu"><a href="https://mplaza.training"><img src="https://mplaza.training/images/logos/interactive-stories-header.png" alt="Management Plaza Logo" /></a></div>
<div id="mbody">
<p id="title">Sprint Planning</p><p id="subtitle">A day in the life of a Product Owner</p>
You've got 32 emails since you were in the Sprint Planning meering! You wonder if you're ever going to have an empty inbox.
(css: "text-align:center; margin:40px auto; font-weight:bold; color:#000;")[THE END]
//Thanks for checking out this interactive story. This is the first time I'm trying it, and I'm still wondering if it's a good idea to create a complete story to cover everything in Scrum, as a companion to our Scrum elearning courses such as <a href="https://mplaza.pm/agile-scrum-foundation-online-certification-program/">ASF</a> and <a href="https://mplaza.pm/scrum-master-certification-program/">Scrum Framework</a>.//
//So, what do you think? Please let me know by sending a note to nader@mplaza.pm//When you go to get a cup of coffee, you see Mary with her cup of coffee.
[[nod<-You nod with a smile and go back to your office.]]
[[feedback<-Mary, do you have any feedback for me?]]Mary smiles back.
[[End of SP<-You go back to your office.]](if: $feedback's length < 1)[
Mary: You did very well! I don't have any suggestions. But I'll let you know if I spotted anything later.
[[End of SP<-I appreciate it.]]
]
(else:)[
Mary: Of course, that's why I'm here!
[[cyclefeedback<-OK, tell me then.]]
](set: $feedback to (a:))(if: $feedback's length < 1)[
Mary: well, that's all I've got to say :) But you've done a great job, especially with the way the Product Backlog was refined before the Sprint Planning meeting.
[[End of SP<-Thanks for everything Mary! I'll get back to work now.]]
]
(else:)[
|advice>[(display: "FeedbackContent")]
[[cyclefeedback<-OK. Anything else?]]
[[End of SP<-Thanks. I have to get back to work now.]]
]{
(if: $feedback contains "notactiveinthebeginning")[
(set: $feedback to it-(a: "notactiveinthebeginning"))
Mary: The first thing that I noticed was that you were a little distant in the beginning. It helps a lot if you socialize with the developers and make them comfortable talking to you. Otherwise, they will ask fewer questions and it increases the chances of misunderstanding and rework.
]
(elseif: $feedback contains "wrongaboutsprintduration")[
(set: $feedback to it-(a: "wrongaboutsprintduration"))
Mary: About the duration of the Sprint Planning meeting: for a one month Sprint, the timeboxed durations are:
* Sprint Planning: 8 hours
* Daily Scrum: 15 minutes
* Sprint Review: 4 hours
* Sprint Retrospective: 3 hours
For shorter Sprints, these values are usually shorter proportionally. Well, except for Daily Scrum. Also, note that these durations don't depend on the number of developers.
]
(elseif: $feedback contains "earlyfinish")[
(set: $feedback to it-(a: "earlyfinish"))
Mary: you wanted to leave the meeting before it was finished. It's important for the Product Owner to be part of the team and stay for the whole duration.
]
(elseif: $feedback contains "pendingforretrospective")[
(set: $feedback to it-(a: "pendingforretrospective"))
Mary: What you mentioned about discussing the problem with the customer in the retrospective was a good idea, but it doesn't mean that we shouldn't do anything before that time. We should all do everything we can to help the development.
]
(elseif: $feedback contains "notgettinghelpfromsm")[
(set: $feedback to it-(a: "notgettinghelpfromsm"))
Mary: You don't have to ask me for help, but you should know that you can always count on me when it's about removing impediments. It's one of my expertise to know how to solve a problem such as the one that you have with the customer.
]
(elseif: $feedback contains "notface2face")[
(set: $feedback to it-(a: "notface2face"))
Mary: Nothing works as well as face to face conversation. It's best to avoid sending emails when you can meet with the developers.
]
(elseif: $feedback contains "selectionbypo")[
(set: $feedback to it-(a: "selectionbypo"))
Mary: At a point, you wanted to select the items for developers. This is a very bad idea. They won't feel they own the Sprint Backlog if they don't form it themselves. This has a great impact on productivity.
]
(elseif: $feedback contains "orderingdevs")[
(set: $feedback to it-(a: "orderingdevs"))
Mary: You gave an order to developers to pick more items, while it's only up to the developers to decide how many items they want to pick for the Sprint. If you push them, they won't take ownership for the Sprint Backlog, which decreases productivity.
]
(elseif: $feedback contains "wrongcommitment")[
(set: $feedback to it-(a: "wrongcommitment"))
Mary: In general, don't worry about the number of items in the Sprint Backlog. The only important thing for you is to maximize the amount of value that we deliver.
]
(elseif: $feedback contains "upfrontplanning")[
(set: $feedback to it-(a: "upfrontplanning"))
Mary: About the second part of Sprint Planning, when developers break down the items into tasks, it's unnecessary to do it for all items. Any form of upfront planning may block our adaptation.
]
(elseif: $feedback contains "fixeddurationsprints")[
(set: $feedback to it-(a: "fixeddurationsprints"))
Mary: About the way we timebox, remember that Sprints are fixed duration, but the other events have a maximum duration, and we stop them when we're done with the goal of that event.
]
(else:)[XXX]
}</div>
<div id="footer">
Professional Training Center of Excellence N.V (Management Plaza™)
Barbarastraat 13, 3120 Tremelo, Belgium
ITIL®, PRINCE2®, PRINCE2 Agile®, MSP®, P3O®, MoP® and MoV® are registered trade marks of AXELOS Limited, used under permission of AXELOS Limited. All rights reserved.
The Swirl logo™ is a trade mark of AXELOS Limited, used under permission of AXELOS Limited. All rights reserved.
PMI, the PMI logo, REP logo, PMP, PMBOK, OPM3 and CAPM are registered marks of The Project Management Institute, Inc.
DSDM, Atern, and AgilePM are Registered Trade Marks of Agile Business Consortium Limited.
The APMG International AgilePM and Swirl Device logo is a trademark of The APM Group Limited, used under permission of The APM Group Limited. All rights reserved.
PSM, Professional Scrum Master, PSPO, and Professional Scrum Product Owner are trademarks of Scrum.org.
</div>