Pattern of the Month: Inspect and Adapt

DZone 's Guide to

Pattern of the Month: Inspect and Adapt

This month's pattern encourages developers to create a processes of predicatibilty and agility by reviewing their projects.

· Agile Zone ·
Free Resource

It is often said that Agile practice is based upon empirical process control. This, in turn, depends upon the ability to effect changes based upon evidence, and thereby allow progress to be managed. In Scrum, for example, there are several events, each of which is designed to inspect and adapt something. Scrum is a framework by means of which a complex and uncertain environment can be mastered. The unknowns in the environment gradually and incrementally become known.

The core thesis is that any planning horizon represents a leap-of-faith, and ought, therefore, to be kept as short as possible. It is well known to battlefield commanders that the "frictions of war" can rapidly cause the best plan to erode. The same is true of software development. There are a great many variables that come into play when trying to form a long-term plan, and certainly too many of them to take into account. The evidence we gather over time can make outcomes more predictable, although we must carefully avoid trying to be predictive. In a complex and uncertain world, a theoretical model is likely to be overtaken by events. It is better to inspect-and-adapt in a timely manner.

Scrum provides for the following inspect-and-adapt opportunities:

Sprint Event Inspect Adapt
Sprint Planning
Product Backlog
Definition of Done
Actionable improvements
Sprint Backlog
Sprint Goal
Daily Scrum Sprint Goal
Sprint Backlog
Sprint Backlog
Sprint Review Increment
Product Backlog
Business conditions
Product Backlog
Sprint Retrospective Scrum implementation
Definition of Done
Actionable improvements
Definition of Done

Note that the Sprint Backlog is the Development Team's forecast of work and plan for meeting the Sprint Goal. The goal should not be adapted during the Sprint, as it is the anchor point around which work can be replanned and the surety of a testable outcome provided. 

Inspect and Adapt is Pattern of the Month at agilepatterns.org

Inspect and Adapt

Intent: Teams delivering value should be able to critique and improve their own working practices

"Those who cannot remember the past are condemned to repeat it." –George Santayana


  • "Work smarter, not harder."

  • "Practice makes perfect."

  • "An ounce of prevention is worth a pound of cure."

Also Known As:

  • Change Opportunity

Motivation: Continual improvement and response to change lies at the heart of Agile ways of working. There must be numerous opportunities for this to happen, and they must occur on a predictable and regular basis.

Structure: A transparent project will support inspection and adaptation. A team must be able to inspect and adapt the process. At the conclusion of each iteration, a potentially releasable increment must be delivered by the team to the Product Owner (PO). This increment will then be reviewed, the development process considered in retrospect and improved, and future work planned. The team will publish metrics that allow improvements to be quantified as well as qualified.

Image title

Applicability: Inspection and adaptation must occur as closely as possible to where the work is done. A team will inspect and adapt its products and processes at regular points so that the quality of delivery can be improved.

Consequences: Inspection and adaptation facilitate continuous process improvement. Teams that regularly inspect and adapt their processes demonstrate greater responsibility for their deliverables. The delegation of responsibility is thus encouraged, and improvements can be leveraged.

Implementation: Scrum provides four discrete events at which inspection and adaptation may occur. These are the Sprint Review, which looks at what work has been done and remains to be done; the Sprint Retrospective, which considers how work is being done; Sprint Planning, which determines the Sprint Goal; and the Daily Scrum or Standup, which supports the inspection and adaptation of the team’s daily plan for meeting the Sprint Goal. Extreme Programming does not adopt a comparable discrete approach but rather encourages inspection and adaptation to occur at any point on a development continuum. Feedback and the courage to adapt are core values within XP.

agile development ,agile patterns ,sprint review ,sprint retrospective ,sprint planning ,daily scrum ,continuous improvement ,agile ,agility

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}