Cargo cult is a movement that is found in societies that believe in often-apocalyptic religious prophecies that predict a return to power, the defeat of enemies, and/or the accumulation of wealth. This movement often occurs in colonial societies.
The first occurrences date from the end of the 19th century in Fiji, but the most important ones are the ones in the Melanesian islands after the World War II. During the war, both sides airdropped supplies and military equipment for their troops that often shared it with the local population. Some unspecified Americans were worshipped by the locals by claiming that they had brought cargo to their island during the war and that they will provide more cargo in the future. After the war, some islanders imitated the practices they had seen the soldier, sailors and airmen use. Those behaviours included mimicking activities, dressing as soldiers carving headphones from woods, building control towers or waving landing signals.
There are some theoretical explanations of cargo cult. One of them says that cargo cult was a form of expression of personhood and wealth. Another one places more emphasis in the cultural change, and how they use memories to comprehend new realities, especially the secret of the European material possessions.
As a part of an agile team, we follow the cargo cult movement as well. We’re doing cargo cult when we estimate without any reason, when we don’t think why we estimate, what do we want to achieve and what do we do with those estimates apart from drawing a fancy chart. We’re doing cargo cult when we don’t estimate without any solid reason, just for following a new nice hashtag on twitter. We’re doing cargo cult when we write unit tests just for saying that we have unit tests. We’re doing cargo cult when we meet for a retrospective but we’re not taking any action after it. We’re doing cargo cult when we do a daily stand-up meeting to report status to our manager. We’re doing cargo cult when we do a practice just because we always did or just because we worship some book or some IT twitstar.
Our case is much worse than that of those islanders. At least, they had seen something working. They saw aeroplanes landing or dropping supplies. They saw people giving them presents. Their life was better (or at least different) those days. On the other hand, a lot of teams are doing some practices without never seeing any benefit in our daily work and without even considering if it’s what we need or not. Do you need retros? I bet so. Are you improving the way you work because of them? No? Then why are you doing retros? Just for moaning during one hour Are you doing something significantly better than in your previous life because you’re now estimating and planning? No? Then why are you estimating and planning? Are your unit tests helping you in having a more robust code and being confident with it? No? Then why wasting time doing unit tests?
If you spend some time in one activity at work, whatever it is, you must get something of it. If you don’t, don’t pretend you’re something that you don’t really are. Agility doesn’t have to be your goal. Your goal should be to deliver the maximum value to your customers. And by doing agile practices you’ll probably achieve that. But if by doing an activity you’re not improving the way you work and you’re working exactly in the same way (or worse) that you use to, please don’t do it. If at the end you’re working in exactly the same way, don’t waste your time. I strongly believe that agile, and especially XP, will help you so much in delivering the maximum possible value to your customers. But you will need to work hard, improve step by step, analyse your results, tweak your process.
By just pretending following some practices, you’re not going to improve.