Scrum is a iterative and incremental software development framework for managing software projects and product or application development
Scrum - a methodology for managing the development of information systems for agile software development. Scrum focuses on the quality control of the development process. In addition to project management software development, Scrum can also be used to support the work of a team of software developers, or as an approach for controlling program development.
In other words:
Scrum - a set of principles on which the development process can be broken down into tightly fixed, small-time iterations called sprints. During a sprint the team assigns the new software features designated as the highest priority to be completed by the end of the sprint. Software features to be implemented are defined during the planning stage of the sprint, which are also the closing stages of the previous sprint, and are subject to change throughout its duration based on the customer's changing needs. Strictly fixed small length sprints make the development process predictable, while staying flexible.
What is it used for?
Scrum enables you, as well as the customer, to gain complete control over the design process. You can monitor the current status of the draft because at the end of each sprint, you will be receiving a ready and working application module.