Scrum is a framework for the development, delivery and continuous improvement of complex products. It is an incremental and iterative development process.
- In this framework, the entire development process consists of several short iteration cycles. A short iteration cycle is called a Sprint, and the recommended length of each Sprint is one to four weeks.
- In Scrum, the product backlog is used to manage product requirements. The product backlog is a list of requirements sorted by business value, and the form of list items is usually a user story.
- The Scrum team always first develops requirements that are of higher value to customers. In the Sprint, the Scrum team selects the highest priority requirements from the product Backlog for development.
- The selected requirements are discussed, analyzed and estimated at the Sprint planning meeting to get the corresponding task list, which we call the Sprint backlog.
- At the end of each iteration, the Scrum team will deliver potentially deliverable product increments.
Scrum originated in software development projects, but it is suitable for any complex or innovative projects. Scrum has been used to develop software, hardware, embedded software, interactive function networks, autonomous driving, schools, governments, markets, management organizations and operations, and almost everything we (as individuals and groups) use in daily life.
SCRUM framework (3355)
The Scrum framework includes 3 roles, 3 artifacts, 5 events, and 5 values:
- Sprint (Sprint itself is an event, including the following 4 events)
- Sprint Planning Meeting (Sprint Planning Meeting)
- Daily Scrum Meeting
- Sprint Review Meeting (Sprint Review Meeting)
- Sprint Retrospective Meeting
- Commitment — willing to make a commitment to the goal
- Focus — use your mind and ability to the work you promised
- Openness — Scrum makes everything in the project open to everyone
- Respect — everyone has his unique background and experience
- Courage — have the courage to make promises, fulfill promises, and accept the respect of others
SCRUM Framework — The Three Pillars
Scrum is a process based on empirical process control theory (empiricalism). Empiricism claims that knowledge is derived from experience and that decisions are made based on what is known. Scrum uses an iterative and incremental approach to optimize predictability and control risks.
The three pillars of Scrum support the realization of each empirical process control: transparency, inspection and adaptation. The three pillars of Scrum are as follows:
Transparency refers to maintaining a high degree of visibility in all aspects of the software development process, and all aspects that affect the delivery results are transparent to everyone involved in the delivery and those who manage the results of the production. People who manage production results must not only be able to see these aspects of the process, but they must also understand what they see. In other words, when someone is testing a process and is sure that a certain task has been completed, the completion must be equivalent to their definition of completion
All aspects of the development process must be checked frequently enough to ensure that major deviations in the process can be detected in time. When determining the frequency of inspection, it is necessary to consider that the inspection will cause changes in all processes. When the specified inspection frequency exceeds the tolerance level of the process inspection, then problems will arise. Fortunately, this does not happen in software development. Another factor is the skill level and enthusiasm of the personnel who test the results of the work.
If the inspector finds that one or more aspects of the process do not meet the acceptance criteria during the inspection, and the final product is unqualified, then the process or materials need to be adjusted. Adjustments must be implemented as soon as possible to reduce further deviations.
In Scrum, inspection and adaptation are carried out through three activities:
- Daily meeting to check the progress of Sprint goals and make adjustments to optimize the value of the next day’s work;
- Sprint review and planning meetings check the progress of the release target and make adjustments to optimize the work value of the next Sprint;
- The Sprint retrospective meeting is used to review the completed Sprint and determine what improvements can be made to make the next Sprint more efficient, more satisfying, and happier at work.