Stop the Cargo Cult
What does being Agile mean?
Every software development company finds its own answers to this question, and that’s great because it provides a large variety of working solutions. As well as a range of common mistakes, for sure. You can see just how popular Agile project managers and coaches have now become. And there are some known traps on the way to achieving efficient Agile. It’s a good challenge for each Agile advocate in the companies to understand the difference between real Agile implementations and the imitations, caused by a popular cognitive distortion called cargo cult. The name derives from the belief; which began among Melanesians in the late 19th and early 20th centuries, that various ritualistic acts such as the building of an airplane runway will result in the appearance of material wealth, particularly highly desirable Western goods (i.e., "cargo"), via Western airplanes.
For sure, a simple imitation of some actions cannot bring the expected result in both cases. So let’s take a look at some directions where imitations happen the most, because the responsibility of a Scrum master, or an Agile coach, is to recognise them.
You might hear that Agile is about ceremonies, right? Daily standup, retrospective, a set of different planning meetings, and quite often the team looks for ways to skip them and do some work instead. If you ask the team members what is the purpose of those meetings, most likely they would not even know it. This is not Agile, this is bureaucracy.
There’s also a common thought that Agile means no plan and no safety: just take some initial requirements, throw them into the backlog, then let the team work on them somehow and release a software that is not even tested properly. This is a lack of professionalism, not Agile.
You’ve definitely heard a lot, that Agile means no plan or roadmap, change the priorities on the go, jump between different tasks, or even dramatically exceed the budget with no result. This is chaos, caused by imitations of some technologies or approaches instead of applying the real values.
One more common idea is that Agile is too new to have some real experience or a history, so it’s not accepted by the conservative companies.
The history of Agile, actually, spans over 70 years, from the moment Taiichi Ohno, an industrial engineer at Toyota, developed Kanban to improve manufacturing efficiency in the late 1940s. This methodology was designed to be flexible and react to the real demands based on active monitoring of the current needs and capabilities. Since then, Agile has improved through a wide variety of approaches, best practices, and new ways of implementation; but there’s still a lot of things to discover and understand. It’s a really interesting journey to dig into Agile values along with the teams and companies.
How do you distinguish between effectiveness and the cargo cult imitations?
At its core, Agile is represented by four values, all of which follow the same evolutionary principle: be flexible enough to adapt to the changing conditions. Agile is built in a way to always monitor the results, measure the effectiveness, and find new ways to improve. All of which is impossible without understanding the real reason for doing something. The key tenet that all Agile mentors profess; is that by understanding what you want to achieve and how your current actions can serve you, you can then ensure everyone involved has a similar vision.
The Agile ceremonies can become a quite expensive distraction when people do not share their feedback and ideas; or when people don’t understand what was the expected result of said meeting or action. Clients may be very unhappy when they get a product or service, that doesn’t fit their needs, and the company management sometimes gets lost without a clear vision of the processes and results.
Sometimes we get a challenge here, at Monsoon Consulting, to resolve a customer’s need, that we never did before, or our common processes are different. In this case, we analyze how we can become flexible enough to resolve their need and at the same time, not break something that already works fine. We would never achieve this without listening to our customers, trying to fully understand their business, to empower our experts to think out of the box, while being rational at the same time.
I would never say we are Agile all the time, for sure. What I would say is that we learn from what we do, and we measure the expectations and the actual results; in order to understand what did or did not work and the reasons why. The Agile mindset requires you to analyze, inspect, and improve - and to allow sufficient flexibility so that you can avoid wasting time and effort on something redundant. It’s always worth talking to the client as many times as needed until the business case becomes clear, as well as then discuss with the experts and let them apply all their knowledge to the implementation. In the end, remove all impediments such as the bureaucracy, chaos, bad plans without both clear vision and good flexibility, or lack of information, when nobody knows the whole picture.
How do we do that? Well, every time we do something, we should always ask: is this something useful, or just an imitation? How can we measure the results? What do other stakeholders think?
It would be unfair to say we already achieved the Agile nirvana. But we are definitely keen to think, learn, and stop the cargo cult imitations.