Beginner's guide to Scrum - 7 stepsDigital Project Management
A lot of our clients ask about agile, especially Scrum, and how they can get started with it.
If you're more into figuring out if agile is for you or should rather go with a more traditional method, you can read about it here - Agile vs. Waterfall
Without further ado, here's a total beginners guide to Scrum.
Beginner's Guide to Agile with Scrum
30 Second Overview of Scrum
Scrum is an iterative method that belongs in the agile camp of how to manage and run projects. It can be used to manage almost any type of project, software, websites, hardware, marketing, event planning etc. Scrum enables self-organizing groups by promoting strong communication between the team members along with a few disciplines inside the project. The Scrum model suggests that each and every sprint begins with a short planning meeting and ends with a review. These are the fundamentals of the Scrum idea for project management.
The most appropriate projects for agile are ones with aggressive deadlines, a high degree of complexity, and a high degree of novelty (uniqueness) to them. We want to use agile when we are doing something that is new, or at least new to the team building it. If it's something the team has done before over and over then the team probably doesn't need an agile approach.
The whole Scrum thing can actually be condensed into the following list:
- A product owner creates a prioritized wish list called a product backlog.
- During sprint planning, the team pulls a small chunk from the top of that wish list, a sprint backlog, and decides how to implement those pieces.
- The team has a certain amount of time — a sprint (usually two to four weeks) — to complete its work, but it meets each day to assess its progress (daily Scrum).
- Along the way, the ScrumMaster keeps the team focused on its goal.
- At the end of the sprint, the work should be potentially shippable: ready to hand to a customer, put on a store shelf, or show to a stakeholder.
- The sprint ends with a sprint review and retrospective.
- As the next sprint begins, the team chooses another chunk of the product backlog and begins working again.
- This goes on until the project is deemed complete, either by stopping to work (deadline, budget etc.) or by completing the entire wish list
So, agile is most appropriate on any urgent project with significant complexity and novelty – and that includes software development and weddings.
Scrum can be thought of as a framework for managing a process.
Roles in Scrum
There are three distinct roles defined in Scrum:
- The Scrum Master ensures the procedure is followed, eliminates impediments, and safeguards the team from disturbances. The Scrum Master differs from a traditional project manager in many ways, including that this role does not provide day-to-day direction to the team and does not assign tasks to individuals.
- The Product Owner, is typically a project's key stakeholder. Part of the product owner responsibilities is to have a vision of what he or she wishes to build, and convey that vision to the Scrum team. The foremost task of the Product Owner is to provide value to the stakeholders.
- The Scrum Team, is a self-organizing and a cross-functional team, who do the analysis, implementation, design, testing, and so forth. Although individuals may join the team with various job titles, in Scrum, those titles are insignificant. Scrum methodology states that each person contributes in whatever way they can to complete the work of each sprint. Individuals will thus spend most (and sometimes all) of their time working in whatever discipline they know, be it analysis, design, development, test etc.
Key Points of Scrum
There are some key points to Scrum that many teams find attractive:
- Self-organized with focus on the team.
- No necessity for large amounts of documentation. Instead have very accurate and to the point stories, tasks etc.
- The cross functional team works together as a single unit.
- Close communication and lots of interaction.
- Has a definite and repeating rhythm for completing work of maximum 30 days.
- Instead of trying to do the whole “thing” at the same time, Scrum helps complete a small amount of everything at given interval.
- The ability of individuals is trusted and their availability is known before committing to anything.
Implementation of Scrum in 7 Easy Steps
To get started with Scrum, we recommend that you start with a single team on a fairly simple and short project. It's not hard and there's not much to do in terms of process, but this is just to get you into the right mindset.
WARNING! Some people on the team will love it and some people will hate it. This is perfectly normal and you should encourage people on the team to give it a proper try before they give up. If an individual ends up giving up, then remove them from the team and let another one step in. This also means that the person that is taken off the team no longer should work on the project.
Get started by following these steps:
1. Define your first Scrum Team
The team is comprised of of 5-9 members. These members all have a combination of competencies and can include developers, testers, support, designers, business analysis, etc. All the members continuously work closely together. The team itself is in charge of delivering shippable product increments by the end of each sprint.
2. Define your Sprint length
A sprint is a time-box that lasts between 7 and 30 days, and typically it remains the same length for the duration of a project. A planning meeting proceeds each sprint where the work for the sprint is planned, and the team commits to completing this work. At the end of a sprint a review/meeting with a demonstration of the completed work is held. Here the improvements are reviewed and work for the next sprint is planned.
If you don't have a clue of how long the time-box should be start with 2 weeks.
3. Appoint a Scrum Master
The Scrum Master is the catalyst of the scrum group. They ensure that the scrum group is effective and progressive. In the event of any impediment, the Scrum master follows up plus resolves the issues for the group.
You can think of this as the Project Manager for the team, except the person shouldn't dictate what the team works on and shouldn't overly try to micro-manage anything. The Scrum Master will assist the team in planning the work for the coming sprints.
4. Appoint the Product Owner
The Product Owner should be a person that can be in charge of making sure the team produces value from the project to the business, client or whoever wants the project (the end buyer). The Product Owner typically write the client-centric requirements in the form of stories, prioritizes them, and provides them to the backlog.
5. Create the Initial Product Backlog
The Product backlog is a wish list of all of the user stories (requirements) that is expected to be completed in the project. The most important story should be in the top of the list, so the entire backlog is continuously ranked in order based on story importance.
A backlog will typically contain 2 types of work items:
- Epics - High level stories that are very roughly sketched out without much detail.
- Stories - More detailed requirements for what should be done (be possible to do). An epic can typically be broken down into several stories.
A story will typically again be broken down into discrete tasks that the team can work and report time on. A story can in many cases have a type, such as development, bug/defect, chore etc. New stories can be written and added to the product backlog at any time and by anyone.
As you go further down the backlog the items will typically be more rough with less details. As a story/epic rises in priority more details should be put on it so the team can start working on it.
The Product Owner is free to re-prioritize the backlog as she sees fit, at any point in time.
Example user stories
- As a power user, I can specify files or folders to backup based on file size, date created and date modified.
- As a new user I want to create an account so that I can use Forecast.it
- As a book shopper, I can read reviews of a selected book to help me decide whether to buy it.
- A bank customer can change his PIN.
6. Plan and Start your First Sprint
Based on the backlog prioritization, the team now picks items from the list (typically from the top). The team brainstorms and decides on what and how much they can complete in the upcoming sprint. This is called the sprint planning meeting.
Once the team agrees, the sprint is started and the team starts working on the stories.
7. Close the Current and Start the Next Sprint
When the end of the time-box is reached all planned work should hopefully be done. If this is not the case it's up to the team to decide if the remaining work should transfer to the next sprint or be put back into the backlog.
The team now does a retrospective where they discuss what went well and what could be improved for the next sprint. After that, the sprint planning meeting for the next sprint starts and the process is repeated.
There's no limit for the amount of sprints except if they are set by a deadline (based on budget or time) or the entire backlog is completed. If none of these criteria are met, the sprints just keep going indefinitely.
Actions Done in Scrum
The Sprint Planning meeting is the preliminary point of Scrum. It's the meeting where the entire Scrum team assembles; in collaboration with the Product Owner and the Scrum Master the team selects a user story from the backlog and the group brainstorms on it. Based on the conversation, the Scrum group decides the complexity of the story and decides if it should go into the sprint.
As the title suggests, it's necessary for the team to complete work to progress on the project. The people on the team works on stories until they are done and then they move on to the next. Typically the stories are arranged on a board with discrete steps, so it's easy to get a feel for how the sprint is progressing.
Daily Scrum Meeting
Through the sprint cycle, each day the scrum team meets for maximum fifteen minutes (typically in the morning). Each team member answers 3 things:
- What did I do yesterday?
- What do I intend to do today?
- Explain if the person has anything blocking them from completing their work for the day.
Sprint Review Meeting
After each sprint, the team holds a Sprint Review Meeting to demonstrate a working product increment to the Product Owner and everyone else who is interested. The meeting should feature a live demonstration, not a report. The Product Owner may verify the stories according to their acceptance criteria.
Retrospective meeting occurs after the review meeting. The Scrum group meets and talks about the following points:
- Exactly what went well in the sprint.
- Exactly what didn't go as planned in the sprint.
- Lessons learned.
- Action items to be acted on.
Scrum is an great solution to support rapid project progress of almost any type of project. It is extremely effective in creating agility for any organization. I have not gone into details on Scrum metrics as that's a completely other topic with many opinions, so we'll save that for a later post.
Of course Scrum is not for everyone and if you're more interested in how agile compares to more traditional project management methodologies we have a comprehensive post on that as well. You can read it here - Agile vs. Waterfall