What is Agile Software Development?

It's a set of values, principles, and practices for sustainable software development

  • at its core, it is a mentality of expecting and embracing change and being able to effectively adapt
  • and on a fundamentally related note:
    • code that is Easy To Change is the foundation of a team's ability to be agile

Some key sources:

  • Extreme Programming
    • a development methodology seminal to Agile
  • Agile Manifesto (2001)
    • the official manifesto along with authors, signers, and a story of how the manifesto came to exist
  • Craftsmanship Manifesto (2009)
    • a followup to the Agile manifesto after some years of semantic diffusion
    • it includes emphasizing quality software as a fundamental ingredient
  • Agile Software Guide
    • a high-level overview along with collections of sources referenced in relation to each section in the guide--essence of Agile development, technical practices, collaboration, problems (semantic diffusion)

I also appreciate this blog post by Robert Martin--a reminder of the history behind Agile and clarification of what Agile is and is not:

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
egnomerator