Agile is an umbrella term for light-weight frameworks, tools and techniques that help teams and organisations achieve agility. Initially specifically aimed at Software development, following recognition by Harvard Business Review, McKinsey & Company etc. agile is now spreading rapidly to all parts and all types of organisations.
Agile has roots in lean manufacturing and the theories of leading management thinkers such as W. Edwards Deming have significantly influenced the evolution of agile frameworks. Many of the practices such as continuous improvement and eliminating waste are lifted directly from lean.
In the late 1990s a number of new software development approaches emerged as a response to some of the issues caused by waterfall delivery. These new approaches to software development focussed on delivering customer value and responding to change. The originators of these new approaches to software development met in 2001 to understand if there were common themes in how they were working – and the agile manifesto was developed:
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.
Using structured feedback, agile is an enabler for change so that organisations can build products that customers want through short and regular review cycles.
The agile mind-set looks to deliver value as soon as possible by breaking down large challenges into small bite size customer valuable chunks. This mind-set puts delivering value to the customer above all else. The agile mind-set promotes a values and principles based approach rather than a regimented methodology. For example, the values from Scrum are commitment, courage, focus, openness and respect.
The basis of agile frameworks is the ability to iteratively and incrementally build working product. This is achieved in a short time frame and uses the inspect and adapt concept to improve alignment with market conditions, product vision and customer needs.
While there are many agile frameworks the two most widely adopted are Scrum and Kanban. The technical practices of Extreme Programming are considered complimentary and have recently been introduced into scrum.org’s professional scrum developer syllabus.