While agile development is founded by the four agile values (see the agile manifesto) and ruled by agile principles (e.g., the 12 principles behind the agile manifesto), most of daily agile project work is determined by agile practices: How shall we act and interact in order to build new systems and software?
Every team shall establish its specific combination of agile practices that best suit its specific needs. But where can we find candidate agile practices? Where can we get advice on how to combine them and build effective development processes?
This article lists useful information sources on agile practices. Teams can use them as starting points when designing their own suitable development approach. In addition, when projects run into difficulties, the collections of agile practices might provide ideas on how to improve.
Before we move to the collections of agile practices, let’s take a look on how we can combine them into development processes: Agile methods (e.g., Scrum, Kanban, Extreme Programming (XP), and Lean Software Development) and agile method frameworks propose specific sets of practices that function well with each other. However, no agile method or framework might perfectly suit a specific situation and development context. So, you might well start with such a method or framework, but quite soon you will see the need to add some other agile practices, too. This is where the collections of agile practices come in …
A classic source of agile practices is the Agile Alliance’s Guide to Agile Practices. It covers the most important practices and presents them in an alphabetic list. Most practices are described by a concise definition, expected benefits and common pitfalls are stated, and the origins of the practices are defined. Unfortunately, not all practices are defined at this same level of detail.
The Scaled Agile Framework (SAFe) homepage hosts an interactive diagram that illustrates the method framework and at the same time links to detailed explanations of each underlying agile practice. The explanations are generally very thorough and instructive. The SAFe homepage might be the richest and most elaborate source of agile practices. A related information source is Dean Leffinwell’s book on Agile Software Requirements.
Another approach for large-scale agile development has been described by Craig Larman and Bas Vodde in two related books. The second of these two books, Practices for Scaling Lean and Agile, hosts an extensive collection of agile practices.
Gojko Adzic has written a book and maintains a website on Specification by Example. This book contains useful explanations of agile practices, mostly from the requirements and testing disciplines.
The definitions of most agile methods involve collections of agile practices. The Wikipedia articles on Scrum, Kanban, Extreme Programming (XP), and Lean Software Development provide good overviews of the respective practices.