Scrum, the most popular agile framework in software development, is an iterative approach that has at its core the sprint — the scrum term for iteration. Scrum teams use inspection throughout an agile project to ensure that the team meets the goals of each part of the process.
The scrum approach includes assembling the project's requirements and using them to define the project. You then plan the necessary sprints, and divide each sprint into its own list of requirements. Daily scrum meetings help keep the project on target as do regular inspections and reviews. At the end of every sprint, you hold a sprint retrospective to look for ways to improve the next sprint. The process looks something like this:
Within each sprint, the development team builds and tests a functional part of the product until the product owner accepts it and the functionality becomes a potentially shippable product. When one sprint finishes, another sprint starts. Scrum teams deliver product features in increments at the end of each sprint. A product release occurs at the end of a sprint or after several sprints.
A core principle of the sprint is its cyclical nature: The sprint, as well as the processes within it, repeats over and over, as shown:
You use the tenets of inspection and adaptation on a daily basis as part of a scrum project:
During a sprint, you conduct constant inspections to assess progress toward the sprint goal, and consequentially, toward the release goal.
You hold a daily scrum meeting to organize the day by reviewing what the team completed yesterday and what it will work on today. Essentially, the scrum team inspects its progress toward the sprint goal.
At the end of the sprint, you use a retrospective meeting to assess performance and plan necessary adaptations.