Agile Software Development

Agile Software Development, or Agile for short, is one of many popular software development methodologies in practice today. Agile encourages flexible planning, early delivery, and continual development within a team and product. Agile is an encompassing term that includes other methodologies such as Scrum and Kanban which also promote Agile values.

Key to Agile Software Development is the Agile Manifesto. This manifesto, crafted by seventeen software developers in 2001, outline Agile values and principles, as shown below:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

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

That is, while there is value in the items on the right, we value the items on the left more.

Agile Software Development is directly opposed to traditional Waterfall development. Whereas Agile is run incrementally and iteratively, Waterfall is sequential in its approach: Requirements are first gathered, then a design is formed, development occurs, then shipping the application. At no point is a step revisted, even if a client is unhappy with the final product. For teams that use an Agile framework, a step is iterated on at any point during the development process, ensuring the client has feeback and recieves value.

Example

My team uses Agile Software Development to quickly iterate on our product, providing quick and meaningful value to our customer.

Further Reading

Synonyms