Scrum is an agile project management framework that uses short iterations called sprints to iteratively develop and deliver working software. Key roles in scrum include the product owner who prioritizes user stories, the scrum master who leads the team, and developers. The team works in sprints to complete tasks from the product backlog, meeting daily to track progress and problems.