Find articles from my Blog Archive:

Monday, 11 May 2009

Where have all the Engineers gone?

To kick off my entry into Blogging, I thought I would address the topic of Engineering in corporate IT. I've been around the block a few times with corporate IT architectures (mainly in the finance sector). I have to say that, universally, I see a consistent lack of attention to engineering principles.

I'm often asked to review architectures or systems. It's a simple matter to catch most projects out. Firstly I ask 'who is the Chief Architect for this project'. 50% start waffling - they have failed at the first hurdle.

If they get this far, I give a pen to the 'Chief Architect' and ask them to draw me a picture of the end-to-end architecture. At this point I often find either (1) they are really enterprise architects and have no clue about how the system is supposed to actually work - the pictures being so abstract as to be almost meaningless, or (2) they only understand their component - so they send a message to an interface somewhere, but have no clue about what happens past that point. In both cases nobody actually understands how the end-to-end system will work - with this situation its only a matter of time before something terrible happens to a project. I tell people that the Architect is the person you sack when the system doesn't work - if you don't know who to sack, then something is very wrong.

In both cases, the supposed architect is conspicuously NOT an engineer. Lets compare these cases to the Building Architect profession, to which the IT Architect aspires. In the first case I've got the equivalent of a Picasso impression of what the system will look like. In the second case, I've got a plan for a house extension but with nothing to show what the original house is like that the extension will be attached to.

It's not unheard of for large corporates to implement so called 'resilient' systems - so there are duplicate components with 'fail-over' so that services can be recovered if something goes wrong. Only they often aren't tested, or maintenance procedures mean they aren't at the same software levels. Guess what? When they are actually needed, they don't work. What use is that?

It didn't used to be like this - in the early days of IT the computers, and those engineers that understood how to make them work, were treated with reverence. Its my contention that our day-to-day familiarity with PCs and technology in general means that we have lost our respect for it, and for the skills needed to manage it in a large corporate environment. Corporate life today seems full of management 'challenges', budget constraints, skill shortages, consultants with 250 powerpoint charts, but where have the engineers gone?
In all these cases there is a conspicuous lack of rigorous engineering thinking. Could you imagine Brunel or Stevenson behaving like this? They were people who thought hard about how the whole system was supposed to work.

1 comment :