Friday, February 13, 2009

Maturity of the IT industry

A fellow SharePoint geek pointed me to this transcript of the Inquiry into Identity Cards - the next part is sadly enough quite recognizable...

Q373 Mr Cameron:

The question I would like to ask all of you, to which a yes or no answer is sufficient, is: do you see the public procurement difficulties as insuperable?

Professor Thomas:

Yes, I do. I would like to tell you something that you will not believe but which I think it is important that you hear, and that is that almost every IT supplier in the world today is incompetent. I have worked in the IT industry almost all my working life for large and small organisations, and I know what I speak. For example, the typical rate of delivered faults after full user acceptance testing from the maker suppliers in the industry over many years has been steady at around 20 faults per thousand lines of code. We know how to deliver software with a fault rate that is down around 0.1 faults per thousand lines of code and the industry does not adopt these techniques. We are as an industry very much in the early stages. The industry is only 50 years old. If you compare that with civil engineering, which is several thousand years old, we are tackling some of the most complex engineering designs and building some of the most complex engineering systems that the world has ever seen, essentially using craft technology. If you looked at the methods that are employed in most companies you would come to the conclusion that actually IT system development is a fashion business, not an engineering business, because they jump from one methodology to another year after year so long as it has a whizzy name, "Agile this" or "Intensive that". The underlying engineering disciplines that every mature engineering discipline has learnt it needs to use in order to be able to show that the system it is building has the required properties have not yet been employed in software and systems engineering, and that is at the heart of why these things do not work.

What's your opinion? Leave a comment...

Tags van Technorati: ,

3 comments:

Brad Saide said...

True. Unfortunately, the pace at which the IT industry moves has forced us all to be experts, based on a foundation of limited knowledge.

This is the consultant's world...

Anonymous said...

Hello Mr Poelmans !!

My humble opinion of this is I have the evidence of that lack of maturity everyday in my job ;o)

IT is by essence complex, and the love of complexity of some managers are driving a lot of people nuts..

Bye dude

Anonymous said...

Fantastic extract, and it is bang on. Software Development is nothing like as rigorous as proper engineering, say, civil, automotive, chemical, etc.. 'Software Engineering' is a good objective, but as an industry, it's rarely practiced.

Off the top of my head, the only example of proper I can remember reading about was Feynman's observations on the reliability of the shuttle - http://ranum.com/security/computer_security/editorials/dumb/feynman.html - see the section on Avionics.

It's rare to see that kind of rigor, though. Normally, software is driven by by the cost (as cheap as possible right now) and timescale (yesterday) to the point of unreliability. How many customers pay for prototypes? Very, very few. Can we factor that cost in? Only if we become more expensive than the competition, and customers seem to select vendors almost entirely on cost. Ability to deliver seems to never be considered, presumably because it is hard to judge (and failure aren't always the fault of vendors).

I'd actually go further than Professor Thomas, though - I don't think that most IT organisations can be competant - bricks and steel don't change that much, but we have an entire new technology stack every 2 years.

Still, looking through the transcript, it's nice to see some thoughtful and reasoned responses.