Monday, July 6, 2009

Software life cycle: More freedom than in human life

Software development as one of the human activities is part of our life. Hence, it cannot be completely independent from society, from politics, from prevailing lifestyle. That said, it looks strange to me how common software development techniques show obvious tendencies absolutely opposite to the main trends of the society.

The turning point for the society is 9/11. In the morning of 9/11/2001 I was on my business trip in Boston, MA, and thus I have lived through all that nightmare of the first week after The Turning Point with American friends and colleagues. America was under attack, and America began to defend. Nobody could show the enemy, so the defense activities focused on “security”. Why in quotes - because for a few first months it was “kinda” security. For example, one could not visit any normal eatery in the airport beyond the checkpoint. The reason was that after the checkpoint you should not have any ability to possess a knife or a fork that could become a weapon in the airplane. Good! But after that, in the airplane your dinner was served with absolutely normal metal knife and fork. Yes, now they are plastic, but for the first 1-2 months they still were metal. Was it security? No, rather stupidity.

Anyway, at this point the USA has turned to a new way, and the entire world obediently followed it. The new way - the new rules; the new rules - the new regulations; the new rules and regulations – serious shift in the spirit of the society. Rules, regulations and the shift, all of them were about restrictions and about much more control on how people behave. Strictness grew terrifically: recall, for instance, how in August 2001 people in the US airports used to check in for flights near an airport curb, without showing any ID at all; and compare it to how airport check-in is organized now. The same for lot and lot of other places all over the world. Let’s take just a few examples. Look around yourself at any place in London, and you will see couple of video cameras watching for you. Not the single huge and monstrous London Eye, but thousands of tiny electronic London eyes are watching for you wherever in this beautiful city you are at any given moment. Replace the word “London” in the sentence above for “Moscow”, and everything remains true except that the huge London Eye does not have an equivalent in Moscow. Need more examples? Okay, let’s move to the Eiffel Tower in Paris and walk around it. In couple of minutes you will notice well equipped and armed to the teeth officers looking so impressive, that I would never put in doubt they represent some French special forces. These guys with their rifles are not just loafing around, they watch for those who are. Very close to the tower there is a bus – a local staff wherefrom these guys are managed. So, we easily detect presence of the Big Brother in every country now. The Big Brother does not hide himself now, on the contrary - his presence is demonstrative in each country. To a scale of the whole world it really is the Big Brotherhood, or more precisely - the Brotherhood of Big Brothers. Who would believe in this a decade ago? Just a few years of fear, and here is the result.

I was just talking about main trends that work now for the society. Maybe I became a little bit too agitated: All these obvious and hidden cause-and-effect relations are very interesting, and we really depend on all this. Well, now let’s have a look at the main trend in software development PM. If the trend would have been the same as for the society, we should have seen enhancing strictness and control. Do we see it? No, quite the opposite: In managing their projects, software developers more and more move in the opposite direction, to anarchy. The term seems to be too strong? Let us imagine we are, say, in 1985 and while talking to a follower of a waterfall SLC model we describe him/her an agile methods of 2009. No doubts he/she would have indignantly called it anarchy. Yes, until now we do use waterfall and spiral SLC models. It is not that old good approaches have vanished; I would rather say they are out of style. If 10 years ago following something like RUP standards was somewhat innovative, now it is commonplace, and it looks unprofessional if you abandon RUP-like or MSF-like approaches when they are required. But in these days we are talking quite often about agile methods, about mixed Agile Unified Process, and so on. And we really use these comparatively new PM techniques. What’s strange is that these new “irregular” and “anarchist” techniques have not appeared just out of mind, they are not a result of some theoretical research. They only mirror real needs of customers. But our customers are just people and together they build our society. So what we have is that people in their common life vote for enhancing regulations and control, and at the same time they stand for more and more freedom in managing software projects. What is it? Escape to virtual reality similar to the same in computer games? As if we are burying our heads in the sand, like “Okay, I have to waive freedom in real life, but at least when I work on software, I partly compensate it!”

No comments:

Post a Comment