Back in early 1990s, as a college student in Russia, one of the rituals I had to undergo was Collective Farming (колхоз), mostly comprised of picking up fall vegetables like potatoes, carrots, onions etc from the fields. While a typical student could be working in a restaurant or lab to earn the college funding, the government instead funded the education and got the students to pick potatoes. A good trade off, I guess, that also taught me an invaluable experience on team work. You pick potatoes one by one, the sum of which eventually feeds the whole country for the winter.
Modern economies can be broadly classified into three flavors: capitalist, socialist and socialist-disguised-as-capitalist. Having lived and closely observed the economy and culture of three major countries (India, Russia and USA), I see a glaring similarity between a project methodology and economy – both have people, leader, finance, budget, success, failure, debt, credit and blame in common. The economy, or at least in the perception of a society, over the course of several years, seem to shift between capitalism and socialism.
Waterfall methodology resembles a capitalist economy. The dominant voice (rich) leads, most others merely toeing the line. The powerful voice, could be the project manager, architect, backend developer, frontend developer or qa – typically whoever has the most experience and knowledge sets the pulse of the project. The client (people or ordinary stockholders) are told they are the most important, but are usually damned until a crisis happens. Everybody’s stock value is very different and there is always a hero who saves the early morning. It is not always that the most hard working get the credit, but the loudest. Also everyone is or appears pretty happy, until the last minute of the release, that is when the project starts to crumble, just like panic strikes in when the bubble bursts.
When the economy went burst a few years ago, it was surprising to see streaks of socialism in US economy, which touts free market capitalism in every possible opportunity. Repeated failures of large projects using waterfall methodology have given rise to Agile flavors, which is the equivalent of a socialist economy. The team decides what to do, the team shares the glory, the team shares blame, everybody works, no one is idle for long time, no single person is a hero, everybody is accountable, everyone is perceived equal in value and yet, true to socialism, some, like the product owners are more equal than others. But socialist economy also has problems. In the absence of a leader (= product owner) it will go nowhere. They also eventually yield to corruption, suppression of creativity, inertia and devaluation.
The third type, socialist-disguised-as-capitalist economy – I like to shorten it as “chaotic”. “Startup” companies adapt this methodology. Just like India, extremely agile yet filled with huge portions of inertia between. Things appear totally haphazard, but some how click at the end, just like the traffic. No documentation (traffic rules) are necessary, communication is more by intuition, you just look at each other and determine who makes the move first. Awesome sauce really, QA looks at the Developer and instantly knows what features are implemented and what aint. When you see a crisis, there is a very simple solution: Just Honk.
Given that Agile resembles socialist economy, in about 10 years from now, it may not be very popular and may become what “EJB” is now – people know what it is, but not many want to go there. Agile works now for today’s issues, but so did waterfall for yesterday’s issues.
Human psychology, human behavior may not fit into Agile eventually. Egoism is the basis of any work, and without the expression of that, work will be undervalued. Throughout history, personal glory has always been coveted more than anything else. While team work tends to be appreciated from time to time, thats not in the nature of human beings. Why do you think “team work” is so much emphasized in Dora, Diego, Wow wow Wubbzy, Mickey Mouse clubhouse and those several hundred Disney cartoons? Why lay so much stress on it, why because, humans are born as “individuals” first, and have to be inculcated the concept and benefits of team work into them from the early age. But again, inherent human tendencies may resurface much stronger than ever before, ushering a modified version of waterfall methodology.