Scrum is an agile framework for completing complex projects. It helps address the challenges of unreliable systems, changing requirements, and human factors. Scrum uses short iterative cycles called sprints to verify work is progressing as planned and make adjustments. The scrum roles include the self-organizing cross-functional team, the product owner who is responsible for business value, and the scrum master who ensures the team is functional and productive. Scrum is guided by values such as individuals over processes, working software over documentation, and responding to change.