The operating table takes the form of a macbook; the patient — an old platform that a new client wants revitalized. We begin to peel back the layers to figure out just what we’re dealing with. CRACK! A bolt of lightning flashes as we gaze upon our worst nightmare — this isn’t just an old platform, this is a creature stitched together from mismatched frameworks, outdated tools and a triage of old libraries. An intern releases a high pitched screech before fainting. Some of the younger developers in the audience have only heard rumours about such ancient organs, and the question on everybody’s lips is: how do we bring this monster back to life?
Dramatics aside, this is a scene that’s blown in through the doors of TouchFoundry before. High churn, low quality dev houses can promise you the world at a great price, in record time, but fail to mention that they’ll be doing so by picking up some rotting parts from a recent grave robbery. And sure, that’s one way to do it, and yes, for a time, this Frankenstein’s Monster will function as requested.
But platforms don’t exist in a vacuum. They need to scale with businesses, adapt to user needs, and suddenly jump through flaming hoops that clients never saw coming — and just wait until they find out that Frankenstein’s Monster freezes in place at the very sight of them. So they wheel these monstrosities into companies like ours — low churn, high quality digital innovation consultants, to see if there’s anything that can be salvaged from the creature they’ve been given. Gloves on, ladies and gentlemen, we’re going in.
Taking stock of the rot
You can’t jump into surgery without making sure you’ve disinfected your working area, and in this case, we’re talking about making sure that the code that makes up your platform is clean as a whistle.
When a dev house is stitching together a creature that can only just barely be considered living, they might be tempted to grab at a series of premade apps, all built with their own unique frameworks, and stitch them together just to get the blasted thing running. The problem with that is when it comes time to scale, adapt and update, it’s quite likely these haphazardly stitched in organs are going to stop communicating with each other, and bring your monster crashing to the ground.
So, step one is wrapping your head around exactly how your organs are talking to each other. Follow the arteries that are connecting your spleens to your livers, hearts to brains and, bad news, if that rot’s got a clot, it may mean ripping out a feature and building a new, healthier one from scratch.
There’s no telling just how far into decomposition this abomination might be until you start looking at it as a series of independent limbs and organs — who knows, there might be a healthy ticker keeping this thing running. In fact, it could be the case that most of the platform is functionally healthy, but some gangrenous old feature that’s been callously shoved into it is crippling the whole platform.
So begins the dissection. By breaking down your platform into a series of functions and features you can understand just how far gone this monster is. Once your platform is spread across your laboratory in pickling jars, you’re ready to inspect, evaluate, and decide what’s getting stitched back in and what’s going in the trash.
Tools and features that are no longer supported by their creators are the first to go — if it’s not getting updated with the rest of the information technology world, it’s only a matter of time before it bugs out and puts this creature back in the grave. One also has to be aware of the security risks these outdated organs might open your monster up to — if they’re making your monster vulnerable, cut ’em out and throw ’em in the trash.
But this is not the time to get high and mighty about what’s lying in front of you. Resurrecting platforms in this manner is a complex job, and if there are limbs and organs that maybe aren’t exactly what you’d consider the ideal, but still keep this beast running, keep them. The platform was initially designed to run with them, so swapping them out unnecessarily might just lead to further complications.
Stitching things back together
Apply goggles, frizz up hair and wait for that lucky bolt of lightning, because we’re bringing Frankenstein’s monster back to life. If we’ve learnt one thing from the good doctor, it’s to not let this thing out into the world until you know it’s ready to interact with the public. So, once all your pieces are stitched back together, create a safe environment where you can let your platform stretch its legs whilst you’re still tweaking it, so just in case it turns on you, there’s minimal risk. This staging site is where you’ll be teaching your monster how to walk again.
Experiment with new tech. Now that your platform has had all its rotting bits removed and its circulation improved with clean code, adding new or updated features should be a breeze. This is an opportunity to really wow your client by showing them what the monster they delivered you is really capable of.
Figure out exactly what your monster needs to make it a little less like a monster and a lot more like a fully functional platform. See what fresh features are already out there, but if necessary, code some new limbs and organs from scratch — whatever it takes to refine and perfect your creation.
And would you look at that! Who’s the handsome young platform strolling out of TouchFoundry’s doors? That’s no monster! That there is a top of the line platform ready to take the world by storm. All it took was time, patience and just a little bit of mad science.