ASD is a methodology promoted by Jim Highsmith that incorporates the principle of continuous adaptation, that is, adapting to change and not fighting against it. In it there is no static life cycle (plan-design-build), but rather offers an iterative life cycle, where each cycle can be modified while another is executed.
Adaptive Software Development Advantages and Disadvantages
Its main characteristics are:
1. Iterative.
2. Oriented to software components rather than tasks.
3. Tolerant to changes.
4. Guided by risks.
5. Reviewing the components helps you learn from mistakes and start the development cycle again. The cycle used by ASD is known as: Specular-collaborate-learn, which is dedicated to constant learning and collaboration between developer and client.
Speculation:
1. Start, to determine the mission of the project.
2. Setting the time frame of the project.
3. Determination of the number of iterations and the duration of each one.
4. Definition of the objective of each iteration.
5. Assignment of functionality of each iteration.
Collaboration:
Concurrent development of construction work and product management.
Learning:
In each iteration the following is reviewed:
• Product quality from the customer’s point of view.
• Product quality from the point of view of the developers.
• Developed functionality.
• Project status
Basic features of ASD
• Work oriented and guided by the project’s mission.
• Based on functionality
• Iterative development
• Temporarily limited development
• Guided by risks
• Work tolerant of change.
Advantage:
• It is used to be able to learn from mistakes and start the development cycle again.
• Uses available information about all changes in order to improve the behavior of the Software.
• Promulgates collaboration and interaction of people.
• Points toward Rapid Application Development (RAD), which emphasizes speed of development to create a high-quality, low-maintenance product by involving the user as much as possible.
Disadvantages:
• Errors and changes that are not detected previously affect the quality of the product and its total cost.
• Since this is an agile methodology, it does not allow to carry out processes that are required in traditional methodologies.