It has been 15 years since the Agile Manifesto was authored and most organizations that develop software now proclaim that they are “agile.” The word “agile” is an adjective meaning able to move quickly and easily. What organization wouldn’t want to be labeled as “agile” based on the definition? There are many agile methodologies to choose from: Scrum, Kanban, XTreme, Lean etc. The problem is that many organizations lose sight of the basic definition of the word “agile” and focus on the artifacts and ceremonies of their selected agile methodology instead of focusing on supporting the 12 principles behind the Agile Manifesto.
People label and categorize everything. It is how we as humans make sense of the world around us. The problem with using labels is that people have different assumptions regarding the label based on their experiences. The fewer words used to convey an idea, the more room there is for interpretation. A person with experience in a poor agile methodology implementation will have negative feelings concerning the term “agile” while someone with a good experience will have positive feelings. Over my 20 year career I have been involved in 4 different “agile” implementations. Half were good, and half were a disaster. I would much rather hear an organization say, “We continuously deliver valuable software to our customers” than to hear them say “We are agile.” There is little room for interpretation of the former statement but a wide berth for the latter. There is also 100% value to your customers in the first statement and 0% value in telling your customers you are “agile.”
So what does a good agile implementation look like? It is enshrined in the very first principle of the 12 principles: “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” The software development methodology doesn’t matter, how closely you follow the development methodology doesn’t matter, the labels you use for your organization do not matter, the only true measurement of agility is continuous delivery of valuable software to your customers. In future posts I will be discussing some of the effective processes that I have implemented or seen implemented in various organizations that support the first principle behind the Agile Manifesto.