28 November 2006

Islands of automation

By Andrew Clifford

We use the phrase "islands of automation" to describe systems that are not connected. We all know that islands of automation are a bad thing. Or are they?

I first came across the phrase years ago when people were selling me data warehouses. Our existing systems were islands of automation, we had no coherent view across them, and we needed a new database to bring them together (or so the salesman said). I have heard it used to promote component-based design, that does away with old-fashioned silo thinking. I am sure I have used it to argue for the purchase of middleware. Everybody knows that islands of automation are a bad thing, and anything that overcomes them must be good.

But I think we might have got this wrong. Perhaps islands of automation are exactly what we need.

There are many things about islands that make them a good analogy for effective systems design.

There is one obvious drawback to islands. They can be isolated, with insufficient communication to the rest of the world. In our system-as-island analogy, we need to tackle this weakness by building a rich set of communications to and from the islands. We need "well-connected islands of automation".

Some of the alternatives to islands of automation have many more drawbacks.

We need well-defined, purposeful, self-sufficient systems, with rich and clear connections to others. Given the alternatives, well-connected islands of automation are a good analogy for how we should approach systems design.