Scrum is the most widely used Agile framework for developing and managing complex software and product applications. In its simplest terms, Scrum is characterized by its core values of Plan Ahead and Inspect & Adapt. Therefore, Scrum successfully manages projects in which there is marked uncertainty and ambiguity at the early stages of the project.
With Scrum, an entire project is split into a sequence of iterations called Sprints. Each Sprint is time-boxed for not more than one month and planned well in advance. Planning is completed not according to a set of prescribed tools, but according to the requirements as decided by the Scrum team. As such, a self-organizing and a cross-functional team is the backbone of the Scrum method. In order to ensure maximum cooperation among team members, face-to-face communication is encouraged. Also, the stakeholders and the technical team work in close collaboration, thereby ensuring the delivery of high-quality, working software.
The two keys roles in the Scrum team are those of Scrum Master and Product Owner. The latter represents the product users and customers while the former is the chief facilitator who steers the technical team in the right direction. These two people prepare a list of priority-based features, which is called the Scrum Product Backlog. These features are developed one by one in small, repetitive development cycles consisting of the phases such as coding, testing, integrating and delivering. At the end of each Sprint, a feedback session called a Sprint Review is held during which the team delivers the developed feature to the actual production scene, and the stakeholders provide feedback based on their evaluation of the feature. The feedback obtained during the Sprint Review Meeting provides teams with input that can be used during the next Sprint.