Scrum is an agile software development process model
Scrum is one of various agile processes for software development and project management – others include Crystal, Extreme Programming (XP) or Feature Driven Development (FDD).
The background: the same specific problems often occur in traditional software projects, the cause of which are the process models because these are often inflexible and bureaucratic, and will unnecessarily restrict the entire team. The main problem lies in unrealistic expectations; one should first completely analyse and specify a large software project in advance, and accurately predict the costs. Scrum confronts this with its agile approach.
In the 1980s, there was a push to question the well-known project management methodologies and to look for more agile approaches. A few years later, the first Scrum projects were carried out. Since the turn of the millennium, Scrum’s success could not be stopped due to the growing number of successful projects.
Scum is based on an incremental approach, the organisation of development steps and meetings at pre-defined intervals and the realisation that a functioning software product is more important than three hundred specifications.
Scrum is based on a well-coordinated team of developers
Scrum has three roles for those taking part in the agile software development process: the Product Owner, who sets the technical requirements and priorities, the Scrum Master, who manages the approach of the process and removes obstacles and the team that develops the software product. There are also the Stakeholders, who serve as observers and advisors.
The requirements for Scrum software development are maintained in a list, and expanded and ordered according to priorities. This list is constantly changing. To enable meaningful work, each month a defined work package (including testing and documentation) is taken and implemented from high priority section of the to-do list by the team, in cooperation with the product owner. This work package, the Increment, is not modified with additional requirements during the on-going implementation process, in order to not risk its completion. All other parts of the list can be modified by the product owner in preparation for the subsequent processing or be newly given a new priority.
The work package is broken down into smaller packages (tasks) and held with each of the respective editors, and the remaining work is kept current in a further list. During the implementation the team focuses on implementing these tasks as a complete and potentially productive application, without any interference from outside. The team has a daily Scrum meeting, so that everyone will know what the others have been working on, what the next step is and what problems might come up.
You can find more information on Wikipedia: https://en.wikipedia.org/wiki/Scrum_(software_development)