Saturday, January 13, 2007

IT fundamentalism - The Technology Delusion

I've been reading The God Delusion recently with its rather nicely argued points about theism, deism, atheism and the like. Reading it made me think however about how a clearly designed environment, like IT, operates and while reading some of the chapters around monotheism it became clear.

IT loves to proclaim the "one" truth of IT and burn at the stake all those who do not agree. It is a professional of many fundamentalist preachers who preach "the one true way" of IT and proclaim that all others are damned. It is a professional of followers of those preachers who deride others for "not understanding the truth" rather than seeing that maybe there is another side that they don't know about. Now clearly I'm open to this charge around SOA, I pretty much think that viewing businesses as services is the only practical way I've seen so far that works and right now I'm preaching that gospel.

And here comes the other bit, we may proclaim to be fixed to "the one true IT god" but we will switch as easily as pie to the next "god" that comes along. Sometimes this is in the guise of a powerful preachers (e.g. Microsoft) who convince the followers that all that had been said before (e.g. VMs are slow and not the way to go) is true and that all that is said now (e.g. VMs are the way forward and the only way to work) is true and sure enough the gullible followers develop with this religion and rarely look for solutions outside of their creed.

Consistent in all of these beliefs is that all problems are, at their route, an IT problem that needs an IT solution. Thus the battle will rage on WS v REST and Java v .NET, Spring v J2EE, ESB v ESB, BPEL v BPMN, lazy loading v pre-fetching, OO v procedural, Netbeans v Eclipse and for all of these there will be people who take, in effect, religious convictions as to the "right" of their side in being the one true way to solve the problem.

The history of IT fundamentalism has taught us that one answer has pretty much never been the sole right answer that will be true for all ages and that just as the religion of EAI has pretty much died so the religion of ERP is liable to falter in the coming years. The history of IT fundamentalism has also taught of its immense dangers to projects and even businesses, the .com bust is a great example. WS and REST will be looked back on as a footnote in the debate and we will all have moved onto a new religion with new fundamentalist preachers proclaiming its truth.

Maybe however we should look to what has caused these IT debates and what is driving these changes. The answer, in reality, is that the big changes have not been made from the fundamentalist preachers of IT they have been made by people who saw a problem that needed fixing and provided a solution that hadn't existed before this means that they key to IT is not the solution that drives but in fact it is the problem which is important, and each generation has new problems that are now required to be solved.

The Church-Turing Thesis sums up this dilemma that in fact all current problems are reducible to previously solved problems or by definition is unsolvable. This means that the only question is on the efficiency of the latest IT cult rather than on it being genuinely different. This presents the IT preachers and their followers with a problem, how to push their new cult when in reality it is going to be short lived and is in fact just a different view on the same old problems. The answer is of course denial and fixation. We hear, most often from the followers rather than the preachers, that those who do not follow the true path are doomed to failure and (a common refrain) "do not get it". The failure to accept this new religion is placed straight at the doors of the non-converts.

Just like with religion this places the burden of proof in the wrong direction. If you are saying your new "miracle" truly is the Silver Bullet we've all been looking for then it is your responsibility to educate and accept the challenge. It is not enough to claim that "you don't get it" for as Albert Einstein said "If you can't explain it simply, you don't understand it well enough".

The reality of IT however is that these religious fads are, like religions in the real world, just things that give us false comfort about the real underlying problems and challenges that we face. It is better to have a religious rod of conviction that "REST" or "Agile" or "SOA" or "Web Services" or "PHP" or ".NET" etc etc is the best way rather than having to actually sit back and think that maybe it might be better to use something different on this problem because it is different to the previous problem. The current approach of "The answer is X, now what is the problem" and then blaming the problem is just plain madness.

The only rational position in IT is to be a political agnostic, that is you should accept that different IT religions are required in different areas and you should be skeptical about new religions that come along. When you find something that works for a given set of problems you should believe in it, but you should do so in the knowledge that something else might come along. Fundamentalism should have no place in IT, nor should the "believers" seek to condemn the heretics who dare to question their preacher or "bible". The political agnostic is one who chooses to believe for a period of time because right now that belief works for them, you could also refer to them as the slutty polytheist if you are of the fundamentalist monotheist persuasion.

One size doesn't fit all, one solution will not be the answer to all problems and there sure as hell isn't a Silver Bullet. Its fine to have certain beliefs on things that help but these should be backed up by data and should accept that these may not be true in all circumstances. Beneath it all should be the recognition that the true challenge is not what is the "one" IT solution, but what is the current problem you have and what is best suited to solve that problem. The problem is that the preaching of reason never generates the same degree of noise as that generated by the truly fanatical. So the messages that are heard in volume are not those of reason, debate and discussion but rants about technologies and the continual almost maniacal obsession with "the developer".

IT fundamentalism is a reaction to the fact that most IT challenges are created outside of new IT projects whether by customers, business, markets or the existing estate. It is a reaction to those who aren't assured in what they are doing and need some technology deity to cling to., IT fundamentalism dictates a "technology truth" as above everything as it is just too scary to admit that IT not only doesn't have all the answers but...

IT rarely even asks the important questions.

Technorati Tags:

3 comments:

Anonymous said...

Great Post!

Amen.

Anonymous said...

Amen,

http://www.jroller.com/page/dancres?entry=another_tool_in_the_box

http://www.jroller.com/page/dancres?entry=web_2_0_vs_soa

Anonymous said...

Its a very nice blog for...
architects in bangalore , architects in bangalore , interior designers in Bangalore , interior designers in Bangalore , architects in bangalore , architects in bangalore , interior designers in bangalore