English 中文(简体)
Lifecycle
  • 时间:2024-11-05

Adaptive Software Development - Lifecycle


Previous Page Next Page  

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.

Adaptive Software Development Lifecycle

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.

Advertisements