0% found this document useful (0 votes)
6 views5 pages

Agile

Adaptive Software Development (ASD) emphasizes human collaboration and team self-organization through a life cycle of speculation, collaboration, and learning. Scrum is an agile method that utilizes sprints for iterative development, focusing on daily meetings to promote team communication and problem-solving. The Dynamic Systems Development Method (DSDM) and the Crystal family of methodologies further enhance agile practices by providing frameworks for incremental prototyping and adaptability in various project environments.

Uploaded by

modapk0110
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views5 pages

Agile

Adaptive Software Development (ASD) emphasizes human collaboration and team self-organization through a life cycle of speculation, collaboration, and learning. Scrum is an agile method that utilizes sprints for iterative development, focusing on daily meetings to promote team communication and problem-solving. The Dynamic Systems Development Method (DSDM) and the Crystal family of methodologies further enhance agile practices by providing frameworks for incremental prototyping and adaptability in various project environments.

Uploaded by

modapk0110
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Adaptive Software Development (ASD):

Adaptive Software Development (ASD) has been proposed by Jim Highsmith as


a technique for building complex software and systems. ASD focus on human
collaboration and team self-organization. ASD “life cycle “incorporates three
phases, speculation, collaboration, and learning.
During speculation, the project is initiated and adaptive cycle planning is
conducted.
Adaptive cycle planning uses project initiation information—the customer’s
mission statement, project constraints (e.g., delivery dates or user descriptions),
and basic requirements—to define the set of release cycles (software
increments) that will be required for the project.
No matter how complete and farsighted the cycle plan, it will invariably change.
Based on information obtained at the completion of the first cycle, the plan is
reviewed and adjusted so that planned work better fits the reality in which an
ASD team is working.

Motivated people use collaboration in a way that multiplies their talent and
creative output beyond their absolute numbers. This approach is a recurring
theme in all agile methods. But collaboration is not easy. It encompasses
communication and teamwork, but it also emphasizes individualism, because
individual creativity plays an important role in collaborative thinking. It is,
above all, a matter of trust.
People working together must trust one another to (1) criticize without
animosity, (2) assist without resentment, (3) work as hard as or harder than they
do, (4) have the skill set to contribute to the work at hand, and (5) communicate
problems or concerns in a way that leads to effective action.
As members of an ASD team begin to develop the components that are part of
an adaptive cycle, the emphasis is on “learning” as much as it is on progress
toward a completed cycle. In fact, Highsmith [Hig00] argues that software
developers often overestimate their own understanding (of the technology, the
process, and the project) and that learning will help them to improve their level
of real understanding.
ASD teams learn in three ways: focus groups ,technical reviews and project
post-mortems. The ASD philosophy has merit regardless of the process model
that is used. ASD’s overall emphasis on the dynamics of self-organizing teams,
interpersonal collaboration, and individual and team learning yield software
project teams that have a much higher likelihood of success.

Scrum :
Scrum is an agile software development method.
Scrum principles are consistent with the agile manifesto and are used to guide
development activities within a process that incorporates the following
framework activities:
requirements analysis, design, evolution, and delivery.
Within each framework activity, work tasks occur within a process pattern called
a sprint.
The work conducted within a sprint (the number of sprints required for each
framework activity will vary depending on product complexity and size) is
adapted to the problem at hand and is defined and often modified in real time by
the Scrum team.
The overall flow of the Scrum process is illustrated in Figure.
Scrum emphasizes the use of a set of software process patterns that have proven
effective for projects with tight timelines, changing requirements, and business
criticality.
Each of these process patterns defines a set of development actions:
• Backlog—a prioritized list of project requirements or features that provide
business value for the customer.
• Items can be added to the backlog at any time .
• The product manager assesses the backlog and updates priorities as
required.
• Sprints—consist of work units that are required to achieve a requirement
defined in the backlog that must be fit into a predefined time-box
(typically 30 days).
• Changes (e.g., backlog work items) are not introduced during the sprint.
Hence, the sprint allows team members to work in a short-term, but stable
environment.

Scrum meetings—are short (typically 15 minutes) meetings held daily by the


Scrum team.

Three key questions are asked and answered by all team members:
• What did you do since the last team meeting?
• What obstacles are you encountering?
• What do you plan to accomplish by the next team meeting?
A team leader, called a Scrum master, leads the meeting and assesses the
responses from each person.
The Scrum meeting helps the team to uncover potential problems as early as
possible.
Also, these daily meetings lead to “knowledge socialization” and thereby
promote a self-organizing team structure.

Demos—deliver the software increment to the customer so that functionality


that has been implemented can be demonstrated and evaluated by the customer.
It is important to note that the demo may not contain all planned functionality,
but rather those functions that can be delivered within the time-box that was
established.
The Scrum process patterns enable a software team to work successfully in a
world where the elimination of uncertainty is impossible.
Dynamic Systems Development Method (DSDM)

The Dynamic Systems Development Method (DSDM) is an agile software


development approach ‘
It “provides a framework for building and maintaining systems which meet tight
time constraints through the use of incremental prototyping in a controlled project
environment”
DSDM is an iterative software process in which each iteration follows the 80
percent rule.
That is, only enough work is required for each increment to facilitate movement
to the next increment.
The remaining detail can be completed later when more business requirements
are known, or changes have been requested and accommodated.
DSDM life cycle defines three different iterative cycles, preceded by two
additional life cycle activities:
Feasibility study—establishes the basic business requirements and constraints
associated with the application to be built.
Assesses whether the application is a viable candidate for the DSDM process.

Business study—establishes the functional and information requirements that


will allow the application to provide business value;
also, defines the basic Application architecture and identifies the
maintainability requirements for the application.

Functional model iteration—produces a set of incremental prototypes that


demonstrate functionality for the customer.
(Note: All DSDM prototypes are intended to evolve into the deliverable
application.)
The intent during this iterative cycle is to gather additional requirements by
eliciting feedback from users as they exercise the prototype.

Design and build iteration—revisits prototypes built during functional model


iteration to ensure that each has been engineered in a manner that will enable it
to provide operational business value for end users.

In some cases, functional model iteration and design and build iteration occur
concurrently.
Implementation—places the latest software increment (an “operationalized”
prototype) into the operational environment.
It should be noted that
(1) the increment may not be 100 percent complete or
(2) changes may be requested as the increment is put into place.
In either case, DSDM development work continues by returning to the
functional model iteration activity.
DSDM can be combined with XP to provide a combination approach
that defines a solid process model (the DSDM life cycle) (XP) that are required
to build software increments.
In addition, the ASD concepts of collaboration and self-organizing teams can be
adapted to a combined process model.

Crystal
Alistair Cockburn and Jim Highsmith created the Crystal family of
agile methods in order to achieve a software development approach that puts a
premium on “manoeuvrability” during what Cockburn characterizes as “a
resource limited, cooperative game of invention and communication, with a
primary goal of delivering useful, working software and a secondary goal of
setting up for the next game”.
To achieve manoeuvrability, Cockburn and Highsmith have defined a set of
methodologies, each with core elements that are common to all, and roles,
process patterns, work products, and practice that are unique to each. The
Crystal family is actually a set of example agile processes that have been proven
effective for different types of projects. The intent is to allow agile teams to
select the member of the crystal family that is most appropriate for their project
and environment.

You might also like