Scrum is an agile project management framework that emphasizes self-organizing cross-functional teams, short development iterations called sprints, and frequent inspection of progress and re-planning. The key roles in Scrum include the Product Owner, Scrum Master, and Development Team. The Development Team works in sprints, which are time-boxed iterations usually 2-4 weeks long to develop features from the prioritized Product Backlog. At the end of each sprint, an increment of work is completed and demonstrated to stakeholders.