What is Scrum?
Scrum is the most popular Agile framework that is based on a set of practices, roles, events, artifacts, and rules that are designed to guide the team in executing the project.
Scrum originates from the game of rugby and is used as a metaphor in agile. First coined in 1986 by an HBR article then in 1990 by Ken Schwarber and Jeff Sutherland.
The theory behind Scrum is based on three pillars of transparency, inspection, and adaption that guide all aspects of the Scrum methodology:
- Transparency: Involves giving visibility to those responsible for the outcome
- Inspection: Involves doing timely checks of how well the project is progressing towards its goals, looking for problematic deviations or differences from the goal
- Adaption: Adjusting the teams processes to minimize further issues if an inspection shows a problem or wrong trend
Empirical Process
- Scrum is based on an Empirical Process Model where frequent “Inspect and Adapt” cycles are used to continuously improve the process
- Progress comes through observation, and continuous improvement happens based on what is learned through previous cycles
The Scrum framework encompasses a series of sprint cycles where planning, analysis, development, quality assurance, and acceptance activities will evolve frequently and repetitively to incrementally release new features and enhancements to production. The development process is iterative and begins with a product vision followed by creating and updating the product backlog. Release and sprint planning occur before the sprint cycle begins. During the sprint, the team works together to analyze, design, develop, unit test, and perform QA acceptance, followed by evaluation and eventually releasing to development. At the end of each sprint, a sprint review takes place as well as a sprint retrospective. Throughout any given project lifecycle, sprints and production releases will evolve until the project is considered done. See Figure 1 below:
Scrum Process Overview:
Roles in Scrum:
There are three roles in Scrum:
Product Owner
-
- The project’s key stakeholder, provides business direction for the team regarding requirements and their planned order of implementation.
- Needs to be heavily engaged
- Owns the Product Backlog
Scrum Master
-
- Provides servant leadership to the Scrum Team.
- Responsible for ensuring the Scrum process runs smoothly and removes obstacles that impact productivity.
- Drives and supports Scrum values and principles.
The Team
-
- The individuals working together to deliver the requested and committed product increments.
- Includes the Product Owner, Scrum Master and Developers.
- Team members should be fully dedicated.
Scrum Events
Sprint Planning
Sprint Planning is a meeting that happens just before the sprint begins, usually the actual day. The Product Owner, Scrum Master, and Development team will all get together and agree on the backlog items they are confident they can complete during for that sprint. A sprint is a fixed-length time-box from 1-4 weeks in duration where “Done”, usable, and a potentially releasable product increment is created. Sprint lengths stay consistent through the project. During a sprint, a potentially releasable product increment is created – the primary goal is to create production-ready functionality in increments. The team will also identify the detailed tasks to complete, identify acceptance criteria according to the Definition of Done.
Sprint Review
The Sprint Review takes place at the end of each sprint, shows what was developed to all stakeholders. The Scrum Team shows off and should look forward to it. All Scrum Team members participate and the purpose of meeting is to ensure all product criteria has been met. The team will demonstrate working software to stakeholders. Then the stakeholders give feedback to the product and process.
Sprint Retrospective
The Sprint Retrospective is held on the last day of the sprint, often right after the sprint review meeting. The purpose is for the team to inspect, evaluate, and improve their methods and teamwork. The goal is to answer three questions:
- What is going well
- What areas can be improved on
- What should be done differently
The team should decide what areas they need to improve on and commit to one or two improvement ideas for the next sprint and then evaluate at the end of the next sprint.
Scrum Meetings
Sprint Planning Meeting
- Happens right before each sprint
- Team agrees upon the backlog items they are confident they can complete during the upcoming sprint
- Team identifies the detailed tasks to complete, identify acceptance criteria according to the Definition of Done
Sprint Review Meeting
The Sprint Review takes place at the end of each sprint, shows what was developed to all stakeholders. The Scrum Team shows off and should look forward to it.
- All Scrum Team members participate
- Purpose of meeting is to ensure all product criteria has been met
- Demonstrate working software to stakeholders
- Stakeholders give feedback to the product and process
- Stakeholders / Team outline expected functionality for next sprint
Sprint Retrospective
- Held on the last day of the sprint for 1-3 hours
- Evaluate what was done correctly
- Evaluate improvements
- Create plans to implement improvements
- Identify next sprint potential roadblocks
Daily Standup
Held once a day, entire scrum team attends. It helps to facilitate team communications. Ensures the team is working on / towards the same priorities and end goals.
Guidelines:
- Meeting happens every day, same time, same location
- 15 minute time-box
- Product Owner, Scrum Master, and Dev Team must attend or have a proxy backup.
- Answer 3 questions:
- What have you done yesterday?
- What will you do today?
- What impediments are in your way?
Artifacts in Scrum
Product Backlog
-
- Defines the project scope by providing a prioritized list of features of the product or service to be delivered by the project.
- Includes all requirements that might be needed in the product, including user stories, epics, changes, defects.
Sprint Backlog
-
- Also known as a Story Board; is the set of User Stories planned for implementation in a sprint.
- This is the work the team has signed up to do for the current / upcoming sprint(s).
Burndown Charts
-
- A burn down is a graph that depicts the amount of work remaining in the ongoing sprint by showing the daily rate of productivity.
- It’s purpose is to help the team manage themselves and very important for tracking sprint progress.