Resources > Glossary > Agile > Adaptive Software Development (ASD)

Agile: Adaptive Software Development (ASD)

Definition: Adaptive Software Development (ASD) is a direct outgrowth of an earlier agile framework, Rapid Application Development (RAD). It aims to enable teams to quickly and effectively adapt to changing requirements or market needs by evolving their products with lightweight planning and continuous learning. The ASD approach encourages teams to develop according to a three-phase process: speculate, collaborate, learn.

History of Adaptive Software Development (ASD)

Project managers John Highsmith and Sam Bayer are credited with inventing the Adaptive Software Development methodology in the early 1990s. They developed ASD as a more iterative and shorter-interval version of the Rapid Application Development (RAD) agile framework.

Highsmith and Bayer used their new project management approach, designed around one-month projects with one-week iteration periods, to complete more than 100 real-world commercial software projects across many industries. They wrote about their new approach in Highsmith’s 2000 book, Adaptive Software Development.

Strengths and Weakness of ASD

ASD’s strengths include:

  • Focused on the end users, which can lead to better and more intuitive products
  • Allows for on-time and even early delivery
  • Encourages more transparency between developers and clients

ASD’s weaknesses include:

  • Demands extensive user involvement, which can be difficult to facilitate
  • Integrates testing into every stage, which can add to a project’s costs
  • Emphasis on rapid iterating and continuous feedback can lead to scope creep

Should you use Adaptive Software Development?

Adaptive Software Development can be a viable methodology if your organization prioritizes rapid delivery of products and sees value in continuously evolving your offerings. But if you do not believe it would be feasible to secure deep involvement from your users, or you are not willing to add costly continuous testing throughout your development process, this might not be the right agile framework for you.