Scrum is a framework for the development of software based on agile methodologies, although it can be used in different processes.
The most important feature of Scrum is the adoption of an incremental development strategy, instead of the complete planning and execution of the product, which means that the clients have quick results, that they solve the priority needs, incorporating great flexibility and adaptation to the changes.
Scrum is based on the theory of empirical process control, based on three pillars:
- Transparency: The important aspects of the process must be known by to those responsible for the outcome.
- Inspection: Users should inspect the process to detect unwanted variations.
- Adaptation: If a deviation is detected that exceeds the acceptable limits, the evaluated process must be adjusted.
Scrum includes mechanisms for the achievement of these pillars, within the Scrum Events of the framework.
Agile Manifesto
All agile methodologies are based on the Agile Manifesto, whose principles are grouped into 4 values:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
THE SCRUM TEAM
The development of a project using Scrum, requires a team with the following roles:
Product Owner
The Product Owner represents all those interested in the final product and is responsible for managing the Product Backlog or list of product needs.
The Product Owner is a single person and could represent a committee by incorporating their requirements into the Product Backlog, he is the only person who can ask the Development Team to work on a different set of requirements and their decisions are reflected in the content and priorities of the Product Backlog.
Development Team
The Development Team is responsible for delivering the product, they are multifunctional and have the necessary knowledge to develop the product. They must be self-organized and completely autonomous, in the process of converting the Product Backlog into a deliverable.
Scrum Master
The Scrum Master is a facilitator whose primary job is to enforce the rules and solve the obstacles that may prevent the Development Team from achieving the objectives. He is not the leader of the Development Team, because they are self-organized, but he protects the team from influences that distract them.
