Agile software development has come a long way since the Manifesto for Agile Software Development was published in 2001. The original twelve principles still largely hold today:
- Customer satisfaction by early and continuous delivery of valuable software
- Welcome changing requirements, even in late development
- Working software is delivered frequently (weeks rather than months)
- Close, daily cooperation between business people and developers
- Projects are built around motivated individuals, who should be trusted
- Face-to-face conversation is the best form of communication (co-location)
- Working software is the principal measure of progress
- Sustainable development, able to maintain a constant pace
- Continuous attention to technical excellence and good design
- Simplicity—the art of maximizing the amount of work not done—is essential
- Best architectures, requirements, and designs emerge from self-organizing teams
- Regularly, the team reflects on how to become more effective, and adjusts accordingly
Now 15 years later, everyone – and we (almost) literally (well, somewhat figuratively) everyone – has taken a wack at molding the essential clay of Agile into a new, branded philosophy often with a dictionary of unique and incompatible TLAs (Three Letter Acronyms) and other terms-of-art. A culmination of this evolutionary radiation can be found in the graphic accompanying this post (click here for a larger version).
So where does your organization fit in this completely easy-to-read, simple-to-understand roadmap of the modern Agile landscape? And where do you fit Quality Assurance into your Agile processes?