Lesson 05: During the Sprint
Now that the Sprint is planned, we can start working. Let’s see what happens during the Sprint.
- 00:05 – After Sprint Planning, you can start working on the project, and by you, I mean the Developers because you’re the Product Owner.
- 00:15 – Okay, we get back to what you do, but for the developers, while they are working on the product, they need to have daily meetings. That’s one of the things in Scrum, and in fact, we have it in all Agile systems, it’s called the Daily Standup.
- 00:32 – In Scrum, it is called the Daily Scrum, and it’s a 15-minute timeboxed meeting where the developers get together and talk about the project.
- 00:43 – Traditionally, we say that each person has to answer three questions.
- 00:49 – What I’ve done since yesterday, what I’m going to do until tomorrow, and what problems I may have.
- 00:54 – Recently, the Scrum.org has changed it and now they say that it’s one of the ways you can do it.
- 01:01 – If you want, you can handle your Daily Scrum … Daily Scrums in other ways, but anyway, the point is that we do it to synchronize the developers.
- 01:13 – The developers do it to synchronize themselves. Alright.
- 01:18 – So, that’s one of the things, and other than that, the developers are expected to evaluate their performance during the Sprint.
- 01:29 – It’s not part of Daily Scrum anymore, it’s part of the daily things that they do.
- 01:34 – Maybe they will do it after the Daily Scrum.
- 01:37 – So, what they usually do is that they create a Burn-Down Chart.
- 01:42 – A Burn-Down Chart shows the amount of remaining work across time.
- 01:49 – That’s one of the things that we will get back to and talk about more.
- 01:54 – It’s a simple diagram that shows your progress. So, they will update that diagram and it’s usually in the same board where they have their Sprint Backlog, and they can even use that board to add other information such as the Sprint Goal.
- 02:10 – You remember, we have two outputs for the Sprint Planning.
- 02:15 – One of them is the Sprint Goal and the other is the Sprint Backlog.
- 02:19 – Okay, so we are working, the developers are working, and then every once in a while, they are done with one of the items. It’s done.
- 02:32 – What should they do? What do you think?
- 02:38 – When they are done, they will call you. They will call the Product Owner, and you will go there and check the item with them.
- 02:48 – It’s just a double-check to make sure that it’s really, really done because we are really sensitive about that in Scrum. When we say that something is done, when we show something to the customer, we really want it to be done because otherwise it won’t be able to generate feedback.
- 03:09 – So, when is something “Done”? For example, let’s think of user acceptance testing.
- 03:17 – When would you do that? Would you do it now in the middle of the Sprint?
- 03:22 – Would you do it at the end of the Sprint? Or would you do it every few Sprints?
- 03:27 – What do you think should be done?
- 03:30 – User acceptance testing will be done as soon as you’re almost done with the items, and in fact, you won’t put the item in the “Done” column unless you have done the user acceptance testing because if you don’t do that, then you’re not really sure about the item. You will have a big pool of items that you call “Done”, but after a while, when you do the user acceptance testing, you will see that many of them are not accepted, so you have to work on them again and it won’t be organized. You won’t know what’s happening in the project and also it will create problems for your feedback loops.
- 04:10 – That’s why we will do the user acceptance testing as soon as possible.
- 04:14 – And at that point, when they call you, the Product Owner, to come and check the item with them, the user acceptance testing is already done.
- 04:24 – What about other types of tests? What about documentation?
- 04:28 – For example, do you need to have some type of reference manual for the features?
- 04:33 – There are lots of things here, and therefore it’s a good idea to have a list of everything that we expect to do for each item before we call that item “Done”, isn’t it?
- 04:48 – Then, when you go there and you talk to the developers, you know what “Done” means for both of you and you’re thinking about the same thing when you’re talking about “Done” or when you show something to the customer, the customer will also have the same understanding as you have about the concept of “Done”.
- 05:07 – So, we create a list and since we’re doing that, it’s a good idea to have a name for that.
- 05:13 – You know the name, by any chance? It is called the Definition of Done.
- 05:19 – So, the Definition of Done is like a checklist, think of it as a checklist that applies to every item that we have in the Sprint Backlog and the Product Backlog.
- 05:30 – Who do you think should compose the Definition of Done?
- 05:37 – That’s a good question.
- 05:41 – And you may answer incorrectly.
- 05:44 – It is done by the developers because they are the people who know best about the way features work.
- 05:51 – Still you may say that the Product Owner also should have a say on that; for example, when it comes to the reference manual and things like that, that are not really technical, but still in Scrum, it’s the responsibility of the developers to create the Definition of Done.
- 06:10 – Okay. Now, let’s say you’re still in the middle of the Sprint and you’re done with all the items.
- 06:19 – What would you do next?
- 06:23 – Okay. First, you remember that the Sprints are timeboxed and they have a maximum dura– they have a fixed duration.
- 06:33 – Some timeboxes, for example, Sprint Planning and every other timebox that we have here, they have a maximum duration.
- 06:41 – So, if your Sprint Planning is timeboxed for eight hours and you’re done in six hours, you will just stop the Sprint Planning meeting and you will go on to the next thing, that’s fine, but for the Sprints, to make sure that everything is in order, we will have fixed duration timeboxes.
- 07:03 – So, when you’re done with everything, you don’t have the option to stop the Sprint and start the next one.
- 07:09 – You have two options here. One of them is to spend your time doing other things.
- 07:15 – Maybe you want to research something that may be useful for the future Sprints.
- 07:20 – Maybe you want to go through the code that you’ve already written and is working and improve that code.
- 07:27 – Do you know what that is called? That’s called Re-Factoring. We will get back to that, don’t worry.
- 07:34 – So, you may want to spend your time on things like that. You may want to take a few days off and have fun.
- 07:39 – You’re self-organized. I know that.
- 07:43 – But the other option that you have is to bring the next item from the Product Backlog to the Sprint Backlog and start working on that. That’s also possible.
- 07:54 – Now, on the other hand, let’s say we are at the end of the Sprint, this is important, we are at the end of the Sprint, we don’t have more time, and we know that the Sprints are timeboxed, but you’re not done with one of the items. What would you do with that item?
- 08:14 – Okay. I don’t know about you, but what most people say is that we will send it to the next Sprint Backlog.
- 08:24 – That’s not the perfect answer. The perfect answer is to send it back to the Product Backlog.
- 08:32 – We will send it back here, we will refine the Backlog again, we will order the Backlog and then we will create the next Sprint Backlog the normal way.
- 08:42 – You know why? Because, for example, you may have started working on the feature, and it was on the top of the Product Backlog because you as the Product Owner thought that it’s a very simple feature, it takes only a few hours to develop, and the return on that investment is justifiable. That’s why it was on the top of your Product Backlog, but when people started working on that, they realized that, oh, it will take weeks to create that feature.
- 09:15 – In that case, it won’t have such a high priority for you and it won’t have such a high value for the product anymore.
- 09:25 – So, when you put it back into the Product Backlog, you will refine the information which includes your estimate for the size of the item, and when you order it again, it will probably go down in the Product Backlog and it may not go to the next Sprint Backlog. That’s why we don’t send it there automatically.
- 09:46 – We will send it back to the Product Backlog. Alright.
- 09:50 – So, what about items that are finished?
- 09:53 – We will send them, we will put them, package them in something we call the Increments.
- 09:59 – That’s the next increment of our software that we will show to the customer, and that’s going to be our topic for the next lesson.
2020 Update
So, I mentioned the new concept of Product Goal, which is part of the Product Backlog, and Sprint Goal is now considered part of the Sprint Backlog. This new structure goes further by considering a commitment concept and then expands it as follows:
- Product Goal is the commitment for Product Backlog
- Sprint Goal is the commitment for Sprint Backlog
- Definition of Done is the commitment for Increment
It’s very well organized, isn’t it? :)
Another change that was gradually happening, and it’s now official in the new version of the Scrum Guide, is that the Increment is not a package you create at the end of the Sprints, but each time you finish an item, a new Increment forms. As a result, there are multiple Increments created in each Sprint, and the last one is what you present in the Sprint Review meeting.
Self Assessment
- What’s the main purpose of Daily Scrums?
- What’s the timeboxed duration of Daily Scrums?
- What are the three questions that developers probably answer in the Daily Scrum?
- What’s the type of diagram that is usually used on Agile projects for visualizing progress?
- What should be done when an item is done during the Sprint?
- When is something considered “Done”?
- What would you do with an item that is not “Done” until the end of the Sprint? Why?
- When do we do user acceptance testing in Scrum? Why?
- Who’s responsible for creating the Definition of Done?
- What can be done when the developers are done with all items in the Sprint Backlog and there’s still time until the end of the Sprint?
Optional Extra Activities
- Is it a good idea to use Daily Standups in non-Agile projects? Do people do that?
- How do people have Daily Scrums when the teams are not collocated?
- Based on the new updates to the Scrum Guide, it’s not necessary to answer the three questions in the Daily Scrum meetings. What would you do, if you’re not going to answer those questions? Check it on the web and see what other people are doing.
- What is a burn-down chart? Why do people use it [in Agile projects] instead of other types of diagrams?
- Check to see what people have in their Definitions of Done.
- What is refactoring? How is it done in real-world projects?
Here you can submit your questions related to the content of the course. (For other questions, use the support system). The trainer's reply will be email to you in 48 hours.
The first lessons of the course, including this one, are available for free, even without registration.
You can purchase the course to access all lessons, additional material, and coaching:
More info and purchase options