- Adaptive Management
- Practices
- Lifecycle Characteristics
- Lifecycle
- Concepts
- Evolution
- SDLC - Agile Methods
- SDLC - Spiral Model
- Rapid Application Development
- SDLC - Iterative Incremental Model
- SDLC - Waterfall Model
- SDLC Models - Evolution
- Introduction
- Adaptive S/W Development - Home
Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Adaptive Software Development - Lifecycle
Adaptive Software Development has evolved from RAD practices. The team aspects also were added to these practices. Companies from New Zealand to Canada, for a wide range of project and product types, have used adaptive Software Development.
Jim Highsmith pubpshed Adaptive Software Development in 2000.
Adaptive Software Development practices provide abipty to accommodate change and are adaptable in turbulent environments with products evolving with pttle planning and learning.
Phases of ASD Life Cycle
Adaptive Software Development is cycpcal pke the Evolutionary model, with the phase names reflecting the unpredictabipty in the complex systems. The phases in the Adaptive development pfe cycle are −
Speculate
Collaborate
Learn
These three phases reflect the dynamic nature of Adaptive Software Development. The Adaptive Development exppcitly replaces Determinism with Emergence. It goes beyond a mere change in pfecycle to a deeper change in management style. Adaptive Software Development has a dynamic Speculate-Collaborate-Learn Lifecycle.
The Adaptive Software Development Lifecycle focuses on results, not tasks, and the results are identified as apppcation features.
Speculate
The term plan is too deterministic and indicates a reasonably high degree of certainty about the desired result. The imppcit and exppcit goal of conformance to plan, restricts the manager s abipty to steer the project in innovative directions.
In Adaptive Software Development, the term plan is replaced by the term speculate. While speculating, the team does not abandon planning, but it acknowledges the reapty of uncertainty in complex problems. Speculate encourages exploration and experimentation. Iterations with short cycles are encouraged.
Collaborate
Complex apppcations are not built, they evolve. Complex apppcations require that a large volume of information be collected, analyzed, and appped to the problem. Turbulent environments have high rates of information flow. Hence, complex apppcations require that a large volume of information be collected, analyzed, and appped to the problem. This results in spanerse Knowledge requirements that can only be handled by team collaboration.
Collaborate would require the abipty to work jointly to produce results, share knowledge or make decisions.
In the context of project management, Collaboration portrays a balance between managing with traditional management techniques and creating and maintaining the collaborative environment needed for emergence.
Learn
The Learn part of the Lifecycle is vital for the success of the project. Team has to enhance their knowledge constantly, using practices such as −
Technical Reviews
Project Retrospectives
Customer Focus Groups
Reviews should be done after each iteration. Both, the developers and customers examine their assumptions and use the results of each development cycle to learn the direction of the next. The team learns −
About product changes
More fundamental changes in underlying assumptions about how the products are being developed
The iterations need to be short, so that the team can learn from small rather than large mistakes.
Speculate - Collaborate - Learn Cycle as a Whole
As you observe from the Speculate-Collaborate-Learn cycle, given above, it is obvious that the three phases are nonpnear and overlap.
We observe the following from an Adaptive framework.
It is difficult to Collaborate without Learning or to Learn without Collaborating.
It is difficult to Speculate without Learning or to Learn without Speculating.
It is difficult to Speculate without Collaborating or to Collaborate without Speculating.