Peel away the layers of agile practices, dig down through the principles and values of the Agile Manifesto, and what is at the very core of Agile is one simple objective and two activities.
The objective is Risk Mitigation. Think about it – all the practices that distinguish Agile approaches – daily stand-ups, user stories, test-driven development, pair-programming etc – were adopted in order to reduce the risk of project failure inherent in predictive or plan-driven methods.
The two basic activities we employ in this risk mitigation exercise are Collaboration and Learning. These are the two main factors that make Agile what it is and make it work. Keep these two things always in your mind. In every task, think to yourself “who should be involved in this activity (and how) in order to make it most effective”, and “what do we need to learn most, and how do we discover the answers as quickly and cheaply as possible”.
All of the principles and practices in agile boil down to those fundamentals. Is it really so simple?
Consider cross-functional teams, co-location, stand-ups, user stories, facilitated workshops… All are examples of practices and disciplines designed to amplify collaboration. Because two heads are better than one. Because the wisdom of crowds is better than any individuals. Because it is more effective and efficient to get people in a room together to decide something than it is to share emails for weeks on end. Because there is no more effective form of communication than face-to-face.
Iteration, architecture modelling, story mapping, show-and-tells, prototyping, pair-programming… all examples of agile practices designed to amplify learning. Learning is important because we recognise that not only do we not get the requirements set exactly right the first time and realise it will change, we also don’t know whether the solution we create will exactly meet the users real needs. So we need to learn about those things as quickly as possible. And continue to do so until the project’s objective is met and the customer is delighted.
This may be an over-simplification of a complex subject, but when the conditions for running ‘pure Agile’ simply aren’t all there, it pays to come back to the essence of what Agile is and why it works.