Agile Software Development: Definition

Scott W. Ambler
Agile Modeling A lot of people have been asking the question "What is Agile Software Development?" and invariably they get a different definition depending on who they ask.  Many people will correctly say that agile software development conforms to the values and principles of the Agile Alliance (AA), and those sites are clearly great resources.  But, if you're looking for a "sound bite" definition of agile software development, that's a little harder to come by.  Here's mine (the layout of the points may be important), and I hope you find it useful:  

 

 

Agile is an iterative and incremental (evolutionary) approach to software development

which is performed in a highly collaborative manner

by self-organizing teams

with "just enough" ceremony

that produces high quality software

in a cost effective and timely manner

 which meets the changing needs of its stakeholders.

 

You might find my articles The Criteria for Determining Whether a Team is Agile, Examining the Agile Manifesto, and Agile System Development Lifecycle (SDLC) to be interesting introductions to agile software development.  Also, my 2007 Agile Adoption Survey provides some insight into the how Agile is being adopted within organizations.

 

My Agile Books

Agile Modeling The Object Primer 3/e Agile Database TechniquesOrder now! Refactoring Databases

 

Let Me Help

I actively work with clients around the world to improve their information technology (IT) practices as both a mentor/coach and trainer.  A full description of what I do, and how to contact me, can be found here

 


Canadian Flag

Copyright 2005-2007 Scott W. Ambler

Last updated: July 15 2007
This site owned by
Ambysoft Inc.