What is SCRUM
SCRUM is an Agile methodology and process framework that can be applied to the effective building of complex products (such as software, websites, or apps).
This framework details:
Member roles (i.e., which type of team members are in the SCRUM team as well as their responsibilities)
Certain artifacts that team members must participate in creating
A set of rules for how work is to be done
As the set of rules is clearly defined, an environment is created where each team member knows their responsibilities and everybody outside the team can easily understand what progress is being made.
The SCRUM Guide Definition
The SCRUM Guide is a document written by Ken Schwaber and Jeff Sutherland (the inventors of SCRUM) that outlines all the rules of SCRUM. The SCRUM Guide describes SCRUM as follows:
Scrum is a process framework that has been used to manage work on complex products since the early 1990s. Scrum is not a process, technique, or definitive method. Rather, it is a framework within which you can employ various processes and techniques. Scrum makes clear the relative efficacy of your product management and work techniques so that you can continuously improve the product, the team, and the working environment.
The Scrum framework consists of Scrum Teams and their associated roles, events, artifacts, and rules. Each component within the framework serves a specific purpose and is essential to Scrum’s success and usage.
The rules of Scrum bind together the roles, events, and artifacts, governing the relationships and interaction between them.
SCRUM as a Framework
As mentioned above, SCRUM is a framework and not a method for effective software delivery and building products. The distinction between framework and method is an important one in SCRUM.
The Collins Dictionary gives two definitions for a framework:
A framework is a particular set of rules, ideas, or beliefs which you use in order to deal with problems or to decide what to do.
A framework is a structure that forms a support or frame for something.
Both definitions can help you to understand SCRUM. Sticking to a set of rules and beliefs will help you work effectively, but it can't tell you every step to follow when building a product. Rather, it is a guideline that each team will have to apply to their own circumstances. For example, if you are working with a team that is based in multiple locations, then your daily update calls may be at different times of the day. The method in which developers review each other's code could also be adapted to virtual teams.
Empirical Process Control
The SCRUM Guide tells us that:
Scrum is founded on empirical process control theory, or empiricism. Empiricism asserts that knowledge comes from experience and then making decisions based on what is known. Scrum
employs an iterative, incremental approach to optimize predictability and control risk.
It can be helpful to think of a factory production line when trying to understand empirical process control. In a factory, you have:
In order to understand when the work being done in the factory is effective, you typically inspect the outputs to see if they are high quality.
If they are not, then you would typically inspect your inputs and process to see if they can be improved. If you can improve them, then make the necessary adaptations, run the process again, and then inspect your new outputs. In this way, you become effective over time.
Note that in order for this to work the process must be transparent and observable by anyone.
As you saw in context above, the three pillars of empirical process control are:
The values behind SCRUM are heavily influenced by the three pillars of Empirical Process Control.
The Values Behind SCRUM
In 2016, the SCRUM Guide was updated to include a new section on SCRUM Values.
These values are:
Commitment - The SCRUM team as a whole will themselves define what is possible within a set time period (say a two week period). Each member of the team then commits to delivering on this promise. They also commit to helping each other and working as a team to deliver the best possible value to the customer.
Openness - Being transparent requires openness and honesty. In particular, when a team member faces challenges in their work, it is important to be open about that so the process can be inspected and improved. Being an effective team member sometimes means asking for help when needed.
Courage - Being transparent in your work also requires courage. There are times when inspecting the process means that people have made mistakes or have been wrong about something. Admitting this usually endears respect from colleagues, but it is never easy to admit you are wrong or that you have made a mistake.
Focus - Each team will commit to focusing on and delivering a set of outcomes. There may be plenty of work that you can do which is valuable but not if it is at the expense of the team commitments .
Respect - It is normal for there to be some conflict or disagreement in a team. Having respect for team members means that you can criticize each other in a respectful way, as well as help each other to improve in areas where one team member is an expert and the other has something to learn.
Remind yourself of the three pillars of empirical process control and the five values of SCRUM as we dive deeper into SCRUM for the rest of this course. Can you see how they apply?
SCRUM is a framework (not a method) for software delivery.
SCRUM is founded on empirical process control theory. The three pillars of that theory are transparency, inspection, and adaptation.
The five values of SCRUM are commitment, courage, focus, openness, and respect.