One of our more frequent challenges in enterprise-architecture is to get The Usual Suspects to understand that, yes, there are indeed many other kinds of technology than just the IT – and even if whatever-it-is has a computer in it, we still wouldn’t call it IT.
So if that’s a struggle you’re facing, you might like this rather nice example: an egg-sorting machine.
It was shown yesterday on the BBC program Country File, as part of a segment on chicken-farming. The segment is on the video from c.14’30″ onwards; in case the video isn’t accessible, here are a trio of screen-grabs (© BBC 2012).
Don’t panic, IT-guys – yes, it does have lots of nice complicated computing in it! (For example, you’ll see a yellow-green status-display on the unit in the middle of the line on centre-left.) It photographs every egg to check for orientation; it shines scanning-lasers on every egg; as the guy says in the voice-over, “the computer remembers where every cracked egg is” as it goes through the line.
Yet there’s a heck of a lot more to its technology than just that – and in terms of what it must physically do, it’s a heck of a lot more complex than a cloud-computing server with solid-state memory just sitting there doing nothing much but sweat off a bit of heat in a server-rack somewhere. For example:
- it starts with a stream of eggs of mixed shapes, sizes and colours
- it has to sort and rotate every egg into the same orientation, so that they’ll all end up point-down in the box
- it has to weigh and measure and sort each egg into the right colour-group and size-group
- as the voice-over says, “it taps the eggs with tiny little hammers, and then listens to the sound it makes to check for cracks” – because cracked eggs sound like a cracked bell
- it has to separate the cracked eggs from the uncracked ones in the midst of the flow – without breaking the cracked eggs, because they’re saleable to egg-processors
- it has to place all of the sorted retail-quality eggs into boxes of several different sizes and types and branding, then close the boxes and glue the labels on – without breaking any eggs in those closed boxes
And it has to do all of that at the rate of around half a million eggs a day – in other words, perhaps 10-20 per second – with no more than a couple of dozen breakages in the whole of that time. (Oh, and it has to survive an egg breaking anywhere in the middle of the sort-process…)
Stop and think for a moment about just some of what all that technology has to do:
- pick up eggs of varying weights and varying sizes – in other words, not consistent – and do so several times throughout the process
- hit an egg with a hammer, hard enough to make a sound on the egg-shell, but not hard enough to cause a cracked egg to break – and the eggs are all of somewhat varying sizes
- keep track of literally hundreds of eggs at time
- move different-sized and/or cracked eggs around relative to each other and into different parts of the flow
Sure there’s software – lots of it. But that software has to cope with all manner of uncertainties – such as all those varying sizes and weights, and eggs that suddenly no longer exist because they’ve broken somewhere inside the machine. Messy – in several different senses…
IT is often complicated. But this is more than complicated: it’s seriously complex.
For a smaller-scale version of this, take a look at the laser-printer sitting over there on your side-desk. You’d probably think of it as a computer-peripheral, just some minor thing that you’d barely even call IT. But now take off those too-usual computing-blinkers, and think of it in terms of its physical technology. It has to be able to cope with all manner of different papers of different thicknesses and different sizes, with different friction-coefficients, different surface-textures, different static-electricity factors and different responses to ambient temperature and humidity – and it always has to ensure that it has just one sheet of that paper at a time. It has to position that paper, and pull or push it through the paper-flow to within an exact tolerance – which is probably quite a lot less than than the size-tolerance for the paper itself. It has to place a laser- or LED-pulse or position a print-head exactly to within probably less than a thousandth of an inch – and, in a colour-printer, align multiples of that to within far finer tolerances again. It has to maintain toner-particle or ink-droplet size to exact tolerances – even varying the droplet-size in many printers. Even a simple printer will be expected to do a row of perhaps two to five thousand of those in one go, at rate of around a thousand or so rows per second – all whilst moving all of that somewhat-uncertain paper through the paper-flow. And it has to do all of in an environment that – if it’s anything like mine – varies wildly in temperature and humidity throughout the day and year, steadily builds up dust, cobwebs and even the occasional resident insect, and may well be left unused for days or weeks at a time.
By contrast, what does the typical ‘really complicated’ bit of banking software do? A couple of calculations, perhaps a few database lookups, wait around for a few web-services, find a few files, string ‘em together, stuff like that. Fast, of course; lots of times a second, honest! Uh… right. Sure. Very difficult. Pardon me if I don’t show quite as much excitement about it as I should?
Most IT deals only with certainties: and, however fast it goes or however complicated its algorithms may be, to be blunt, certainty is easy. Easy by comparison to dealing with the subtle variety of the physical-world, at any rate – let alone the immense complexities of the human relational-world.
The usual ‘everything-is-information’ industries for which TOGAF and Archimate and the like were developed – banks, insurance, finance, tax – well, yes, they all use lots and lots of complicated IT: no question about that. But in reality all of that ‘information-technology’ only covers one small subset of business-information, and one small subset of technology, in one small subset of industries. Gosh…
So open your eyes a bit: take a look around you. Take a look at just about any industry other than that one very specific subset: then try to do anything in that other industry, in terms of enterprise-architecture, that covers that industry’s full scope of information, and/or the full scope of its technologies. That’s when you’ll discover just how myopically-constricted and constrained most so-called ‘enterprise’-architecture frameworks really are – and why IT-centrism and the like is the absolute bane of this entire discipline of enterprise-architecture…
But at least that egg-sorting machine is fun to watch, anyway.