Scrum is the most popular and most wide spread Agile method in the world. Scrum, around since 1993, is an “agile framework for completing complex projects”. There are many parts to Scrum that make it a highly effective method for learning and delivering value. But what concepts are clearly within Scrum and what things have been added onto Scrum? Here is my list.
Within Scrum Concepts
Scrum grew out of two main concepts that gave it a strong foundation for its growth.
Inspect & Adapt
Scrum focuses on completing a small advancement in development, looking back and reviewing not only the product, but the practices used to do the work
The Agile Manifesto
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer colloboration over contract negotiation
Responding to change over following a plan
There are three primary roles in Scrum to make it simple and focused.
Team Member: self-organizes to complete the work
ScrumMaster: ensures the team uses the Scrum process, removes obstacles, and protects the team from outside distractions
Product Owner: owns the list of features to complete (Product Backlog), is the customer or his/her proxy, connects to stakeholders, and is responsible for business value
There are a few process pieces that are essential to the functionning of Scrum, they create the rhythm or heartbeat for the team.
Sprint: a time period in which the team does Scrum, usually 1-4 weeks in length
Sprint Planning: at the start of each Sprint the team, along with the Product Owner, chooses some amount from the top of the Product Backlog to work on during the Sprint
Daily Scrum: the team meets every day to share progress; what was completed, what will be completed, and what obstacles have been uncovered
Sprint Review: the team demonstrates to the Product Owner what was completed during the Sprint in order to get feedback on their work
Sprint Retropsective: the team reviews how it is using Scrum, what is advancing and where it needs to improve, as they pertain to the software and the Scrum process
There are three artifacts that are present to help us use Scrum.
Potentially Shippable Software: the team does all the necessary work to produce software that can be in the hands of the customer at the end of each Sprint
Product Backlog: a prioritized list of features to be completed by the team which is managed by the Product Owner
Sprint Backlog: the tasks the team generates in order to build the items from the Product Backlog
Burndown Chart: a visual expression of the work remaining in the current Sprint. May also have a chart for the work remaining in the overall project or product.
5. Other Concepts
There are many other pieces in Scrum that don’t seem to fit in any of the above categories.
Time-boxing: all Scrum meetings are limited by time to keep them focused
Sprint Goal: a given objective based on the Product Backlog that is committed to and completed by the team each Sprint
Definition of Done: current practices and standards of the team.
Pigs & Chickens: Pigs (those committed to the work) are the Team, ScrumMaster and the Product Owner. Chickens (those involved in the work, but don’t do it) are stakeholders both inside & outside the organization
Does Not Allow Interuptions: Scrum blocks against interuptions by a number of ways; time-boxing of meetings, no break between Sprints, outside requests tracked as obstacles, and all work currently being done is visible to the Team
Add-Ons to Scrum
There are many other things that teams add to their Scrum implementation to help it move forward. Some of these are considered part of Scrum to some in the community, while others are just added by those who use Scrum.
Commitment Velocity, which helps a team to track its capacity to get things done.
Estimation, which can be done for effort (usually in story points) and value of the work being completed. Both Product Backlog items and tasks can be estimated.
Defects on the top of the Product Backlog which helps a team achieve high quality work.
Scrum Team vs Development Team
The ideas that either the team is only those taking tasks or the team is inclusive of the ScrumMaster and the Product Owner.
One thing that occurs to me is that as a Scrum community we are starting to become a learning community. We are trying to use Scrum as it was created and learning about its challenges, its missing components, its victories, and its obstacles for teams and organizations.
Inherently Scrum implies that a team must become Agile, adapt to changing circumstances and advance in their growth and development. Should not Scrum evolve as well?