Placeholder Image

Subtitles section Play video

  • [Music]

  • Hi. This is me.

  • My name is Hamid Shojaee, and I've been involved with a number of software development projects

  • over the years,

  • at a number of different companies, and I've come to recognize 'Scrum,'

  • as one of the best agile development practices in use today.

  • In this fast-paced video,

  • I want to show you why Scrum is so great, and how you can get started with Scrum in

  • under 10 minutes.

  • I'll cover all the core Scrum concepts,

  • like product backlogs, team roles, sprints, burndown charts, and more.

  • So get ready to be bombarded with information.

  • Lets say THIS is the product we want to build.

  • For this product, we get all kinds of feature requests from customers, executives, or even

  • other team members.

  • In Scrum, features are written from the perspective of the end-user,

  • therefore, features are known as user-stories.

  • The collection of all these user-stories is called the product backlog.

  • Another way to think of the product backlog

  • is to think of it as a wish list of all the things that would make this product great.

  • Once we have our wish list or the product backlog,

  • we need to start planning which specific user-stories

  • we're going to put into a particular release of our product.

  • But we're getting ahead of ourselves.

  • Let's back up a bit.

  • To build this product,

  • we need to have one or more people in our team who are going to play a variety of roles.

  • First, we need her.

  • She plays the role of product owner,

  • and helps make sure the right features make it into the product backlog

  • representing the users and customers of the product.

  • She helps set the direction of the product.

  • Then, we need this guy.

  • He is the Scrum Master and his job is to make sure the project is progressing smoothly

  • and that every member of the team has the tools they need to get their job done.

  • He sets up meetings, monitors the work being done and facilitates release planning.

  • He's a lot like a project manager, but that's such a boring title.

  • So, we'll call him a Scrum Master [Karate yell] to imply he knows some Jui-Jitsu.

  • And the rest of the team has similar roles to other development processes.

  • These guys build the product,

  • while these guys test it to make sure it works right.

  • These guys use it, and hopefully pay for it.

  • And these guys, they generally get in the way, but it turns out you can't build many

  • products without them.

  • But lets get back to this: Release Planning.

  • To plan a release, the team starts with this, the product backlog,

  • and they identify the user-stories they want to put into this release.

  • These user-stories then become part of the release backlog.

  • The team then prioritizes the user-stories and estimates the amount of work involved

  • for each item.

  • Sometimes larger user-stories are broken down into smaller more manageable chunks.

  • The collection of all the estimates provides a rough idea

  • of the total amount of work involved to complete the entire release.

  • A quick side note about estimates.

  • There are a lot of techniques for creating good estimates.

  • Some prefer estimating in story points where estimates are made

  • relative to building a small component with a known level of difficulty.

  • Unfortunately, story points don’t answer the question of,

  • When will my project ship?”

  • I have found that the best technique is to estimate work in hours,

  • but to use some standards in how estimates are done.

  • For example, things that take less than a day to complete

  • will be estimated as 1 hour, 2 hours, 4 hours or 8 hours.

  • Every item will fall into one of those buckets.

  • There will be no 3 hour estimates, for example.

  • A 3 hour item would fall into the 4 hour bucket.

  • Larger items will be estimated as 2 days, 3 days, 5 days, or 10 days.

  • Again, all estimates in between will fall into the next larger bucket.

  • Extremely large items are similarly estimated in months: 1, 2, 3 or 6 Months,

  • but the reality is that such items will need to be broken down substantially

  • before work actually begins.

  • Well come back to these estimates in just a minute.

  • But for now, lets go back to this:

  • The Release Backlog.

  • With a prioritized set of user-stories and the estimated amount of work at hand,

  • we are now ready to plan out several sprints to get the work done.

  • Sprints are short-duration milestones that allow teams to tackle a manageable chunk of

  • the project

  • and get it to a ship-ready state.

  • Sprints generally range from a couple of days to as much as 30 days in length,

  • depending on the product's release cycles.

  • The shorter the release cycles, the shorter each sprint should be.

  • And you'll want to have at least 2 to as many as a dozen sprints in a given release.

  • So, at this point, we can take our release backlog and split it up into several of these:

  • Sprint Backlogs.

  • One of the most important things to remember about sprints

  • is that the goal of each sprint is to get a subset of the release backlog to a ship-ready

  • state.

  • So, at the end of each sprint, you should have a fully tested product with all the features

  • of that sprint 100% complete.

  • Since sprints are a very short, but a realistic representation of part of the product,

  • a late finish of the sprint is a great indicator that the project is not on schedule and something

  • needs to be done.

  • Therefore, it's extremely important to monitor the progress of each sprint with THIS:

  • A Burndown Chart.

  • The burndown chart is the number one reason for Scrum's popularity,

  • and one of the best project visibility tools to ensure a project is progressing smoothly.

  • The burndown chart provides a day-by-day measure of the amount of work that remains in a given

  • sprint or release.

  • In this graph, you can see that the amount of work remaining bounces up and down from

  • day to day,

  • but is generally trending towards zero.

  • Because historical information is provided in the burndown chart,

  • it's easy to see if the team is on the right track.

  • Using the burndown chart, the team can quickly calculate this:

  • the slope of the graph, which is also called the Burndown Velocity.

  • This is the average rate of productivity for each day.

  • For example, a team's rate of productivity might be that on a typical day,

  • they finish approximately 50 hours of work.

  • Knowing that, it's possible to calculate an estimated completion date for the sprint

  • or even for the entire release, based on the amount of work remaining.

  • What's great about the burndown chart

  • is that we can compare our actual velocity and projected completion date

  • to what the team needs to do in order to finish OnTime.

  • This is perhaps the most useful piece of knowledge

  • that any team member, product owner or product executive can have about the project,

  • because knowing whether or not the project is on track early in the schedule

  • can help teams make the proper adjustments necessary to get the project on track.

  • The burndown chart provides empirical proof that the project is on track or if it's going

  • to be late.

  • So, let's talk a little about where the data for this incredibly useful burndown chart

  • comes from.

  • As you recall, part of the release planning process was to create an estimate for each

  • user-story in the release backlog.

  • The collection of these estimates for a given sprint represents the total amount of work

  • that must be done to complete that sprint.

  • As each team member goes through and makes progress on one or more of the user-stories,

  • they simply update the amount of time remaining for each of their own items.

  • So, the total amount of time remaining on the group of user-stories that make up a sprint,

  • changes on a day-by-day basis,

  • hopefully going downward until it hits zero when the sprint is complete.

  • The burndown chart aggregates the remaining work data and shows it visually.

  • It's brilliant because it communicates a massive amount of information in just a few seconds.

  • And that brings us to this:

  • The Daily Scrum.

  • The Daily Scrum is an essential tool to having communication flow freely between team members.

  • The idea is to have fast paced stand-up meetings

  • where team members quickly list the work they completed since the last meeting,

  • and any obstacles in their way.

  • By meeting daily, it ensures the team is always in-sync,

  • and any major issues are dealt with as soon as they are known.

  • Finally, as each sprint comes to a finish,

  • it’s important to have a Sprint Retrospective meeting,

  • where the team can reflect on what went right and areas of improvement.

  • After all, Scrum is a flexible agile development method

  • that needs constant improving and tweaking for every team.

  • So, there you have it.

  • Scrum in under 10 minutes.

  • You now know all the essential concepts to start implementing Scrum inside of your organization.

  • But wait a second,

  • what about tools to help you implement Scrum?

  • Well, it just so happens that I’ve spent the last 10 years building such a tool.

  • With a lot of help from these guys:

  • a group of genius coders and design ninjas.

  • The tool is called, OnTime,

  • and it helps you manage your products, your backlogs, your team,

  • your releases and your sprints.

  • It gives you project visibility with burndown charts,

  • and always answers the question of who is working on what.

  • You can get started with it for free, at Axosoft.com.

  • Of course, you could use a giant white board, some note cards [Paper crumples]

  • and a bunch of different spreadsheets [Paper crumples] to track everything.

  • You could also use an abacus instead of a calculator to do math, but were getting

  • a little off topic.

  • So, let's quickly review everything.

  • In Scrum, you work with this: a Product Backlog,

  • which is nothing more than a list of features that we call User-Stories.

  • You then break down the product backlog into one or more Release Backlogs,

  • and for a given release, you further break up the release backlog

  • into a number of Sprint Backlogs

  • which are essentially short duration milestones throughout your project.

  • You then monitor the progress of each sprint using these: Burndown Charts

  • and have Daily Scrum meetings to ensure everything is on track.

  • After each sprint, you have a Retrospective meeting to fine-tune everything.

  • And if you want a tool to implement Scrum, you can use, OnTime.

  • It'll help you ship software, OnTime.

  • That’s all there is to it!

  • Oh, and one last thing.

  • Whether you loved or hated this video, I’d love to hear from you.

  • You can reach me on twitter or via email if you have any feedback.

  • Now get going,

  • Create a great team,

  • Collaborate,

  • and Ship Software OnTime.

  • [Music with whistling fades]

[Music]

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it