Obviously, there is no such thing. The world is seemingly nothing but great challenges these days, the ‘greatest’ being the one closest to heart at the moment. If you break a leg, crash your car or your house get hit by a missile, that’s your world’s greatest challenge right there and then. On a broader scale there’s climate change, war, fascism, pandemic(s) and more. And finally there is migration – on many levels.
If my mention of migration triggers images of desperate people in small boats in the Mediterranean or small trucks heading north through Mexico, you’re in good company. As the effects of climate change make increasing parts of the world uninhabitable, new waves of northbound migrants will roll in and must be handled. With compassion and understanding, not weapons and barbed wire. Clearly one of the world’s greatest challenges these days.
An entirely different type of migration challenge is of technical origin, managerial in character, of extreme complexity and potentially disastrous if not handled correctly. It’s also out of sight for most people except when hit by the consequences of ‘mismanaged migration’, ranging from delays, lost data, services out of order – to more serious/life threatening situations like supply chain breakdowns, medical record mixups, medication dispensing errors, even drones attacking the wrong targets. A timely reminder that just about anything is governed or supported by digital components, data flows and services these days – at some level. Interrupt or disturb those data flows and we have a ‘situation’.
I’m getting ahead of myself. Let’s backtrack a bit, to the point where this line of reasoning originated. Every once in a while I stumble across some reading that gives me goosebumps. Just incredibly good by some important metric – language, relevance, conveyance, subject, reasoning etc. A few weeks ago one such piece – about (technical) migration – popped up in my inbox, courtesy of the Pragmatic Engineer, a channel on Substack. And a source I frequently visit – and take inspiration from. The target audience for this particular channel is engineers, IT-professionals and project managers facing the same type of challenge. That said, you don’t have to be an engineer to understand the situation. Actually, understanding it may be useful in many contexts, in business and even domestically.
Consider the following (simplified) scenario: 10,000 employees serving customers all over the world around the clock must be moved from one office complex to a new one without anyone on the ‘outside’ noticing. Impossible? It depends.
If the task is to be taken literally – as in ‘take X employees from building A to building B as fast as possible’, it’s an obvious no-go. If you’re allowed to be creative, have time to prepare and reasonable resources at your disposal, it’s possible – at least theoretically. You could hire 10,000 new employees, train them and put them in the new building, have them (passively) listen in on all communications between the person they are to replace and their customers for a while, then take over. Seamlessly. And eventually you would hand out pink slips to the old employees and vacate the old building.
Again theoretically. In practice it wouldn’t work. Too expensive, too slow, too many variables and not the least – we don’t treat employees like that.
In a digital world however, something like this isn’t just possible, it’s happening and required – big time. Here’s the thing – and I’m sure you can associate with this scenario even if you’re not a technical person: A really big company, such as AT&T, GE, Microsoft, Shell etc., has outgrown some (digital, mission critical) system involving lots and lots of data – sensitive data, critical data, thousands of employees and even more customers. A new system is required, downtime is not acceptable, data loss is unacceptable, customers and users must not be negatively affected. The entire operation must be transparent – and must deliver everything the old system couldn’t.
A huge and extremely complicated process with many phases, including design and planning, mapping, development, testing to mention a few. And migration – moving data to the new system reliably and without downtime. Probably the hardest, most complex challenge an IT-organization (and organization in general) can face. It’s also inevitable. Organizations grow and change, technology evolve and change, markets evolve and change etc. Our tools, systems, machines, procedures, practices, routines etc. must change accordingly.
Also – and unsurprisingly given the complexity and size of such projects – there have been countless disasters over the years. Big companies have actually gone belly up because mistakes were maid, the process failed and business literally stopped for too long.
The market – you and I, whether as consumers or professionals – expect and demand (digital) expediency. We may be willing to wait for seconds, maybe even minutes sometimes – because ‘the net is slow’ (which sounds OK, but is rarely the case), but we demand delivery yesterday and rapid response all over. There are exceptions, as discussed in The Customer Service Disaster recently, but our ‘everything digital, everything on line’ world has changed the metric. ‘Fast’ is expected, patience is nonexistent and downtime is not acceptable.
Having been involved in quite a few migration projects over the years, I have immense respect for the professionals, the specialists who take on these challenges. Just like you wouldn’t task your maintenance crew with demolishing a building, your would’t ask the IT department to take on a big migration project. Most IT departments don’t have the skills, the resources and/or the focus required to take on such a challenge. Migration turned into a profession on its own, a discipline if you like, a long time ago. In practice a group of specialists – I think of them as a task force – that come, deliver and go.
Which brings me back to the goosebumps and The Pragmatic Engineer, which I’ve been following for some time. Stimulating and educating reading ‘from the trenches’ so to speak, covering a wide range of subjects in software and systems engineering. Recently, a series of posts on “Real World Engineering Challenges” have been particularly relevant and well written – the piece on migrations really shines: Real World Engineering Challenges # 6: Migrations
Check it out! If you’ve followed me this far, you must have recognized some of the challenges outlined above and you’ll love The Pragmatic Engineer. It’s well worth your time!