Design sprint is a 5-day framework for teams to solve design problems through prototyping and user testing. It involves defining the problem on day 1, brainstorming solutions on day 2, prototyping ideas on day 3, testing prototypes with users on day 4, and optionally extending the process based on feedback on day 5. The goal is to generate user stories that can be used in software development to build applications that meet user needs. Key roles in a design sprint include testers, product owners, and facilitators.