Hello and welcome to Module three. The flavors of agile.
In this video, we're going to cover Lesson 3.1 scrum.
In future videos, you'll see Lesson 3.2 lean 3.3 XP,
Lesson 3.1 scrum. In this lesson, we're going to cover what scrum is and also talk about sprint planning. Sprint planning is not totally unique to scrum,
but it is the method of agile that made sprint planning pretty popular. So we talk as we get through the different flavors we talked. We will talk about
the fact that you can intermingle all of these different items, so there's a lot of overlap within the different flavors of agile.
So what is Scrum? Scrum is taken from the rugby the sport and it's basically a method or a flavor of agile with five overriding principles.
The 1st 1 is the focused on the team, so in scrum, there is a heavy level of interaction between different team members.
Whenever possible, you want to try and put team members in the same physical area so they work together every day. They see each other every day. That close collaboration is a very important facet of scrum.
Scrum also talks about or focuses on what's known as the minimum viable product a minimum viable product in the case of software, which is what agile is typically used for,
it talks about what is the smallest number of features or the basic core of our application that we have toe have in order to put something to market and actually generate income from it. So if you think in terms of, let's say Amazon, for example,
the minimum viable product for Amazon would probably include
some of the basic features like being being ableto have your own customer account
being able to shop for products, place him in a shopping cart, calculate shipping order room and have them show up to your house. So those were the minimum viable products for an Amazon type application.
All of the features that you see today when you've got different suggestions and you can shop through a charity window
on donate some money to charity. Of course, all of the different electronic products and fire TV and all of these other things are all additional features. But they were not required to bring Amazon live. So that's an example of a minimum viable product.
In addition to the minimum viable product you also have what's known as a product backlog on a product backlog or a feature backlog is basically a list of things that talk or that we want to do a list of features, a list of items that we would like to see
in our application and every time that we have a sprint, which we'll get into more detail in a later slide every time we have a sprint. Whatever backlog items did not get complete in that sprint go back into the overall backlog, um,
of of the entire project. So
using product backlog is just a different way of categorizing the work. And if you've taken my Enterprise project management class, for example, we talked a lot about dependencies and how different items and featured relate to each other.
You'll notice throughout the rest of this course when we're talking about agile, we don't really focus on
the dependencies between different things. We assume with that close team collaboration that the how how things relate how they get built is understood by the developers. It's not something that the project manager has to explicitly state in the project plan
very commonly known with using sprints and sprints are short, usually two weeks. Although I have seen him go is long as 1/4. But I don't recommend that link the time, but usually a couple weeks, maybe a month. And these sprints are aware we we like the name implies we sprint. We have two weeks
to try and get as much work done as possible.
So if you remember from the Iron Triangle, what we're talking about here is something that has a fixed aeration those sprints,
we lock in the duration.
So we know that because the iron triangle good, fast, cheap picked to what the what is the variable is the amount of effort that we're gonna put in, although we want always try to maximize effort, but also the feature. So the product backlog
and this there also another thing called a sprint backlog, which is what you add during the sprint planning phase.
we don't always get everything that we think we can build in that time frame, and that's okay. What we're trying to do is estimate and what we think we can get done.
Do the sprint and if the items aren't complete, then they just go back into the backlog and we move on to the next sprint. So the nice thing about that is even if you're relatively bad at forecasting
the way that scrum and and Sprint planning works, that allows you to be for lack of better expression, consistently bad it at
estimating so it's sort of a way for the project manager in the project team self correct between what we think we can accomplish and what we actually are able to accomplish.
So the first step in scrum is actually to do up the Sprint planning. So course when you're not, when you don't have a minimum viable product yet, that's the major focus of all. Your planning is getting to that minimum viable product, but once the minimum viable product is done, it's in production. Now we're going to go through our splint sprint planning session
what are the goals for that sprint. So we're gonna look at our listing backlog of all the cool things we want to do What are we going to do in this sprint? That's part of the sprint planning. Then we assign resource is to those items the general rule. We try to make it limited toe one person per item. So that way,
if you're not able to do that, then you haven't probably broken down the work enough. But we do want to always try to get one person
assigned to each sprint item on that is the Who.
Then the person who has been assigned the task is going to figure out the technique or the how that they want to go about getting that
item accomplished. Then you're also going to estimate the sprint itself, which means, as we're talking, you say, I want you to build X, Y and Z, and I think to myself, OK, on a scale of 1 to 10 or 12 20 we're not talking about ours. Were just talking about effort in general.
How much effort do I think that this will take? And this is where that self correcting thing comes from, because if every sprint we estimate and I'm a very cautious estimator and I think that's gonna be a 10 and that's gonna be really hard, but I'm able to get lots and lots of 10 items done.
Then the project manager will know in future sprints that he can actually ADM or things or hear. She can actually add more things to the backlog, knowing that I'm a cautious estimator. And then the opposite, of course, is also true.
Once we execute, we will actually build the items in the sprint for that, let's just say two weeks. That's the most common one that people use.
At the end of that period, the code is going to production, so every sprint should end with a new set of features that go into your production environment.
Then once you execute a move that coat to production, then you go ahead and have ah, Sprint Review or Sprint reflective and you talk about Well, I thought I could get 30 items of work done. I only got six or 10 or 40 year or whatever and you look at OK, so how do we self correct our team
when we planned for the next sprint? To get even better at are estimating skills, so we want to continue to refine our estimating skills
in the beginning of every sprint as well, or try at the end of every Sprint items that weren't complete. They go back into the bucket. So when you start planning for Sprint number two, let's say
an item that you may have thought was important. Something has changed in your environment, and now all of a sudden it's less important. So it's not even gonna make it into sprint to it's gonna wait for Sprint three or four.
So in that way we respond to the complex environment that we're operating in by being able to change very rapidly in this case every two weeks, literally, we could completely change the focus of our project.
And if you look at the picture on the right here, this is just showing you a sprint backlog over time so you can see our items that we want to build
the items that were actually published to our test environment and then the items that made it to production. And you can kind of start to see even as your scope increases, you're still able to accomplish items in your sprint backlog
real quick before I go into the summary also wanted to show you this other item here and this is just a example of this is Microsoft Dev Ops looking at sprints
and scrum within a different sort of dashboard. So you can see the work that's been assigned to me right here. And you can also kind of see how long has remained, how much time remains in the sprint, things that haven't been started but are on the backlog. And you can see over time
how productive this different sprints are. And you can kind of see the drop off in production as we got around the holidays.
And that's just an example of a different type of dashboard that you can use four sprint planning.
So in today's video, we covered Scrum and Sprint planning. The last picture here I want to show you was that self correcting is called a velocity chart and basically is showing you how
we estimated certain things we planned them and then we were able to accomplish all of those items or maybe a little bit mawr or maybe a little bit less and over time. The idea is that your velocity improves as you get better
at producing features for the production environment and also how
you can self correct and actually be able to adjust accordingly over time. So that completes today's video. Hope everybody has a great day and I will see you in the next video.