Introduction
What is Scrum?
Scrum is probably the most popular agile development framework used for managing product development. Like all other agile frameworks, Scrum boasts flexibility, team collaboration and iterative delivery. This helps teams adapt to changes easily, especially when customers change their minds about what they want.
Follow this visual guide to Scrum and find out how it works (click the image to view it on full screen). You can also download a PDF of this graphic ready for printing. If you’re looking for Scrum training such as Scrum Master certification, then you can find those from the main menu.
The graphic was created to help you learn about Scrum. If you like it, please show your appreciation by linking back to this page.
1) Select Scrum team
One of the most difficult parts when creating a project is figuring out roles and responsibilities. Begin by identifying the roles people will take for the project.
The three roles on a Scrum team are:
Product Owner
The Product Owner should be someone with authority, availability and vision. They represent the customer and continuously communicate the priorities and vision to the team.
Scrum Master
The Scrum Master acts as a facilitator between the Product Owner and the Development Team. The Scrum Master will also work to remove impediments that may inhibit the Development Team reaching the sprint goal. The person does not, however, provide day-to-day directions or give instructions to the Development Team.
Development Team
The Development Team are self-organized and responsible for developing the product.
Do
- Force anyone to take on the role of the Scrum Master. This role is important to the entire Scrum process and an unwilling person might not give enough dedication to the project
Top Tip
- Pick a strong Scrum Master. The Scrum Master plays a highly important role in the Scrum process. They ensure that the entire team are focused and have everything they need to get the work done. The Scrum Master is also responsible for removing obstacles that might keep the group from performing optimally or from reaching the deadline. Overall, the Scrum Master determines the success of the whole team.
2) Sprint Planning
Once the roles have been identified, it’s time to start planning the sprint. The whole team decide on a sprint length together, overseen by the Scrum Master. Sprints are typically 2-4 weekly cycles.
Product backlog
The Product Owner creates a product backlog which is essentially a ‘prioritized wish list’. The backlog is owned by the Product Owner, but everyone can add to it. The product backlog contains a list of user stories.
User stories
User stories serve as a guide for the team to show why they are working on something. They speak from the end user perspective and can look something like this:
As a | I want | so that |
---|---|---|
Music lover | uninterrupted music streaming from my device | it doesn’t use up storage space while letting me play music on the go |
Music streaming app user | to receive recommendations based upon my current playlists | I can hear new bands that are suited to my taste |
Sprint backlog
The Product Owner presents the highest priority user stories from the product backlog to the Development Team.
The Development Team decide on what they are able complete for the sprint and break user stories into tasks, estimating the effort and transferring them to a sprint backlog.
Definition of “done”
It is essential that the Scrum Master and Product Owner provide a set of acceptance criteria for each user story. Acceptance criteria is what determines whether the user story is complete. It can also be referred to as the definition of “done”.
The table below shows two user stories with two sets of acceptance criteria.
As a | I want | so that | Acceptance criteria |
---|---|---|---|
Music lover | A small-sized streaming app with no adverts | it doesn’t use up storage space and interrupt my listening experience | 1. App allows user to stream music without downloading
2. App size is 60MB or under 3. App offers premium subscription with no ads |
Music streaming app user | to receive recommendations based upon my current playlists | I can hear new bands that are suited to my taste | 1. Radio feature created based upon user’s playlists
2. Daily “Have you heard..” notification to be sent to users |
Do
- Work on high priorities first
- Break down each user story into small and manageable tasks
Don’t
- Bite off more than you can chew. Make sure that no one in the team is committing to more than what is feasible to do in the set timeframe
Top Tip
- Use INVEST to prioritize your user stories. INVEST stands for: I-independent, N-negotiable, V-valuable, E-estimable, S-small, and T-testable
3) The Daily Standup
To make sure that everyone is in sync, the team must meet every day to discuss what they worked on the previous day, what they will work on today and identify any impediments. To make sure that time is used efficiently, the meeting should be timeboxed into a maximum of 15 minutes. The Scrum Master oversees the meetings and makes sure that the team focuses on the subject at hand.
Do
- Use burndown charts to track your progress. A burndown chart shows you how much work remains in your sprint and whether you are on schedule
- Keep the meeting short and concise. Make sure that everyone is speaking straight to the point
- Answer questions like: What have I done since the last Scrum meeting? What do I plan to do before the next meeting? What are the issues I need help with?
Don’t
- Bring up topics unrelated to the user stories you’re working on from the backlog
Top Tip
- Don’t cancel a Scrum Meeting, even if you are busy or if the attendance is poor. The Daily Scrum meeting is an essential component to a Scrum project. When you cancel one, it becomes easier to cancel others and this disrupts the team’s focus.
4) Sprint Review
By the end of each sprint, the Development Team should deliver a potentially shippable product increment. In other words, the product increment should be in a useable condition. No incomplete work should be presented during a sprint review.
During a sprint review, the team present what they have accomplished during the sprint. They demonstrate the functionality of the product increment to the Product Owner and customer. The purpose of the sprint review is to get feedback from everyone on the product increment. After the feedback is shared, the next set of product backlog items can be discussed.
Do
- Let everyone provide feedback and suggest new ideas
- Make changes to the product backlog when necessary
Don’t
- Use the sprint review as a signoff or user acceptance meeting
Top Tip
- Don’t forget to focus on the end users. Make sure to fully involve them during the sprint review. It may seem difficult collaborating with your customers because of the fear of making changes or hearing criticism, but it is easier to hear everything sooner rather than later.
5) Sprint Retrospective
During a sprint retrospective, the team evaluate the whole sprint. The two main questions that are asked are “what went well?” and “what can be improved in the next sprint?”
Do
- Make a list of what to start, stop, and continue
Don’t
- Point fingers or blame. Try to be constructive instead
Top Tip
- Get creative! Play games and keep people moving. Engage in mentally stimulating activities and help to break down tension
6) Product increment
The product increment is the output of all the product backlog items completed during the sprint (plus any previous sprints). It must be fully functional, in a useable condition and meet the allocated acceptance criteria or definition of done. The Product Owner decides whether to release the product increment.
Interim delivery
During an interim delivery, the product increment is tested by the customer. If the product is incomplete, the Development Team return to the product backlog to prepare for another sprint. This cycle repeats until all user stories are completed to the Product Owner’s satisfaction.
Do
- Remember what was discussed during the sprint retrospective and apply it to the next sprint
Don’t
- Dwell on past mistakes. Move on and learn from whatever went wrong during the previous sprint
Top Tip
- It’s easy to get caught up in preparing for the next sprint, but don’t forget to celebrate achievements and good results from the previous sprint. This gives you some room to breathe and get pumped up for the next cycle
- Practice makes perfect! If you are new to Scrum, you might not get everything right at the beginning. Learning takes practice and the more you do, the better you will be at using the technique
Final delivery
Completing a project takes several sprints. Once all the user stories are completed to the Product Owner’s satisfaction, the product is ready for final delivery to the customer.
Hopefully this has been a useful guide to the Scrum methodology and whether it would be useful for managing product development in your organization. Some teams like to use Scrum alongside Kanban, a highly visual work management method, also under the agile umbrella.