Scrum is a framework for agile software development based on iterative delivery in short cycles called sprints. It emphasizes individuals and interactions, working software over documentation, customer collaboration, and responding to change. Key aspects of scrum include sprints of 1-4 weeks, daily standup meetings, planning and review meetings, and prioritizing a product backlog to deliver the highest value. While scrum provides a framework, agile is the underlying philosophy of adapting to change and valuing individuals, collaboration, and working software.