Scrum is one of the approaches the implementation of complex projects. It derives from the agility in software development.
Scrum is not a methodology, it is a framework, a way of organizing the job. It is determined by a set of roles, artifacts and values that have their roots in the so-called Lean Thinking.
The Agile Manifesto was signed at the beginning of the 21st century by people from the so-called lightweight methodologies movement, including Scrum creators – Ken Schwaber and Jeff Sutherland. They then came up with four binding values:
That is, while there is value in the items on the right,
we value the items on the left more.
In Scrum the software is being developed in iterations (in phases called Sprints) and according to Plan-Do-Check-Act cycle (what allows releasing high-quality pieces of software in short periods of time). Thanks to that fact, it is possible to shorten the teaching loop and at the same time to increase the business value. Also the risks of doing something wrong decrease significantly. The result of each iteration (Sprint) is a ready-to-use, working piece of software. Such product has all the features that were previously discussed and which the parties have agreed on.
Planning and constant controlling based on empiricism. This means gathering knowledge and making decisions on the basis of what was previously learned from experience rather than on assumptions. In empiricism, it is crucial to verify all the hypotheses. On this basis, it is also possible to adjust the direction in which the product is being developed.
A big advantage of Scrum is the fact that the final product is being developed accordingly with evolving needs of stakeholders. This way it is also easier to cut costs and boost the productivity and engagement of the parties involved.
The teams working in the framework of Scrum are interdisciplinary and capable of self-organizing (within the range of responsibilities assigned). A Scrum team has much more freedom in choosing tools and procedures to develop a high-quality product. Additionally, the team is outstandingly communicative, which applies also to the representative of the stakeholder, who actively takes part in the whole process.
The pillars of Scrum are transparency, inspection, and adaptation.
Transparency means that individual elements of the process have to be visible to all the people involved – the team and the stakeholders. The result of the transparency is a common understanding of all the aspects of the software development procedures –mutual nomenclature, a joint definition of the end of work etc. Inspection and adaptation are used to detect discrepancies and to correct the efforts in order to limit the occurrence of lapses and to adapt to the environment in which they occur.
The three above mentioned pillars arise from previously embraced values:
Commitment: Team members individually commit to achieving their team goals, each and every sprint.
Courage: Team members know they have the courage to work through conflict and challenges together so that they can do the right thing.
Focus: Team members focus exclusively on their team goals and the sprint backlog; there should be no work done other than through their backlog.
Openness: Team members and their stakeholders agree to be transparent about their work and any challenges they face.
Respect: Team members respect each other to be technically capable and to work with good intent.
This makes it possible to create an atmosphere of mutual trust among all collaborating individuals. Members of the Scrum Team focus only on the work to be performed during a given Sprint to achieve its goal. Both the team and stakeholders are committed to success. The Scrum Team and stakeholders remain open to other ideas and challenges. Scrum Team members respect each other’s opinions and competencies. The Scrum team has the courage to present their ideas on how to properly handle and overcome difficulties.