Dealing with legacy systems when we’re not sure what exists can be dealt with in two ways: discovery and documentation or architecting around the legacy system.
Let me outline a problem and see how familiar this sounds to a group of enterprise architects.
“We've got a whole load of legacy projects hanging around, some of which are documented and most of which aren't. It’s the usual story, documenting what you’ve put in is not a high priority – what they care about is getting the job done – and after that you end up moving straight on to the next job. If you’re trying to find out what’s been put in place before you’re usually bang out of luck. Most of the time the people who worked on that project have moved on, so we've got no easy way of finding what's gone where... and even when someone from that project's still around they can't remember for sure, so we end up routing around the whole area just in case.”
Hmm. A situation where no-one is completely sure what’s in place, because of a project-based approach coupled with the fact that documenting what you do is always a secondary concern at best. How many architects would find that story familiar? I’ve got to admit, it sounds pretty familiar to me, which is why it's intriguing to know that this was a consultant in the oil extraction industry talking – specifically, a drilling expert.
At first, it seems like the drillers shouldn’t have a problem – you just look to see if there’s a cap where you want to drill, right? Alas, nowadays, oil wells don’t always go straight down – horizontal drilling, where the well goes around corners, has increasingly become common. And with a sideways well there is every chance to suddenly hit some old well. But even where there’s no drilling carrying on in an area, legacy wells is a problem – because of the public health question. Land-based wells can leak into groundwater, while new excavations can inadvertently tap into old shafts.
So we have another industry that struggles with the effect that legacy projects can have on new ones. It’s interesting to note the two ways that the oil industry deals with them.
When there’s a public health issue, the only approach is to perform surveys and document the old wells, and there are actually ongoing programs in place for this in locations such as the USA. But for offshore drilling, where the concern is not to hit old shafts, it’s not unknown to simply guesstimate the rough location of old shafts and curve around them ‘in case’ something is there. Surprising though it sounds, that’s what my drilling friend told me.
So what does this tell us for enterprise architecture? Dealing with legacy systems where we’re not sure what exists could be dealt with in two ways. Where the concern is one of regulatory compliance, then, as with oil wells, a program of discovery and documentation is the only way forward. However, where there the main concern is the effect on new projects, I’ve noticed that as with oil drilling, the temptation can often be to architect around the legacy system.
It seems that we’re not the only industry where doing the right thing can sometimes depend on fear of regulation…