Professional Documents
Culture Documents
Introduction
Agile software development methods (ASDM) consist of a group or a set of software development
methods where requirements and solutions evolve through a close collaboration between selforganizing, cross-functional teams. ASDMs promote adaptive planning, evolutionary development,
early delivery, continuous improvement, and encourage rapid and flexible response to change.
ASDMs are conceptual frameworks that focus on delivering working software with the minimum
amount of work.
Most ASDMs provide opportunities to assess the direction of a project throughout the development
lifecycle. This is achieved through regular rhythms of work, known as iterations or sprints. By
focusing on the repetition of abbreviated work cycles as well as the functional product they yield,
ASDMs are described as iterative and incremental. Development teams using traditional methods
only have one chance to get each aspect of a project right.
The methods defined below have been used by software experts for years with varying degree of
success. The only methods of exception are Adaptive Software Development and Scrum.
AD - Agile Database Techniques
The goal of the Agile Data (AD) methodology is to define strategies that IT professionals can apply in
a wide variety of situations to work together effectively on the data aspects of software systems. This
isnt to say that AD is a one size fits all methodology. Instead, consider AD as a collection of
philosophies that will enable IT professionals within your organization to work together effectively
when it comes to the data aspects of software-based systems.
AM - Agile Modeling
Agile Modeling (AM) is a practice-based methodology for effective modeling and documentation of
software-based systems. Simply put, Agile Modeling (AM) is a collection of values, principles, and
practices for modeling software that can be applied on a software development project in an effective
and lightweight manner. Agile models are more effective than traditional models because they are just
barely good enough, they don't have to be perfect. You may take an agile modeling approach to
requirements, analysis, architecture, and design.
ASD - Adaptive Software Development
The practices of ASD are driven by a belief in continuous adaptation-a different philosophy and a
different life cycle-geared to accepting continuous change as the norm. In ASD, the static plan-designbuild life cycle is replaced by a dynamic Speculate-Collaborate-Learn life cycle. It is a life cycle
dedicated to continuous learning and oriented to change, reevaluation, peering into an uncertain future,
and intense collaboration among developers, management, and customers.
Crystal
The Crystal family was recently introduced by Alistair Cockburn 2. It is a set of AMs covering a broad
range of needs in terms of the number of developers and project criticality, which may range from C
(loss of comfort), to D (loss of discretionary money) and E (loss of essential money). Life-critical
projects are not yet covered in these methodologies.
The cycle repeats until enough items in the product backlog have been completed to the satisfaction of
the Product Owner; the budget is depleted, or a deadline arrives. Which of these milestones marks the
end of the work is entirely specific to the project. No matter which impetus stops work, Scrum ensures
that the most valuable work has been completed when the project ends.