Contents

 

Introduction

Agile, General

Crystal/ASD

DSDM

Extreme Programming (XP)

FDD

Scrum

Win-Win Spiral

XBreed

Lean Development

 

Introduction

 

Agile software development is an emerging force in the world of software development designed to face the challenges of an increasingly volatile marketplace. Changing requirements and shorter deadlines have led to an increased deviation from the practices of traditional, heavyweight processes to the adoption of practices which foster a more lightweight development environment. In general, Agile methodologies value a flexible process receptive to change rather than a rigorous process encumbered by a predefined rules and limitations. The points of the Agile Manifesto sum up the philosophies behind all Agile methods:

 

  • Individuals and interactions over process and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

 

 

Agile development itself is a philosophy rather than a process, but has spawned a number of Agile development methodologies, such as Crystal, Scrum, DSDM, as well as the most well-defined Agile process, eXtreme Programming. But these Agile processes are not a total deviation from traditional software techniques, as Agile development employs many concepts that have been present for years, such as test-driven design, pair programming, and refactoring. Many Agile practices have been adopted with success in industry, but widespread use remains to be seen in a world of more established, traditional heavyweight processes (such as the waterfall model). It is important to educate the software community about the potential benefits of Agile software development in order to provide software engineers with new insights and ideas about tackling common problems such as quality assurance, customer satisfaction, development scheduling, etc.

 

Below is a list of resources providing information on Agile software development. A section is dedicated to Agile development in general, followed by several sections with resources to the various Agile methodologies that exist today.

 

Comments, suggestions, or contributions, please send to: Lucas Layman (lmlayma2@unity.ncsu.edu)

The creation of this Agile Portal was funded by the North Carolina CACC.