Scrum is an agile framework for managing product development. It uses fixed-length iterations called sprints to structure work. Key roles include the Product Owner who prioritizes work, the Development Team who does the work, and the Scrum Master who facilitates the process. Rituals like daily stand-ups, sprint planning and retrospectives provide structure and opportunities to inspect and adapt the process sprint over sprint. The goal is to deliver working software frequently in a transparent and collaborative manner.