Plan to Fail, Don't Fail to Plan--Continuous Testing Is the Secret to Avoid Fire Drills.

Author:Rozenberg, Amir

We all know how it goes: you eat like a king over the festive season, promise to stick to a diet and fitness regime in the New Year, but ultimately call it quits by February or even March if you're strong willed. But where this once meant lapsed gym memberships and discarded, practically unworn, trainers, it now more often refers to a boom (and subsequent decline) in gadgets and apps.

According to Apple, users downloaded a record $300 million in apps from the App Store on New Year's Day 2018, and services like MapMyRun, MyFitnessPal, Fooducate, Neutrino make our New Year's resolutions accessible, immediate and (in theory, at least) easier.

Of course, fitness isn't the only industry to be revolutionised by applications in this way; fashion, gaming, and even healthcare, are all now powered by clever apps and more advanced technology. And companies are getting more savvy when it comes to event based accelerated marketing; capitalising on calendar hooks like Black Friday and Christmas to inject new features and functions into their apps--and ramp up the publicity. Combined with organic spikes in interest this means that app developers are facing increasing pressure; to be ready for increased demand, and for the trouble-shooting that will likely come with it.

So, in order to keep up with massive spikes in activity around the event-based marketing of an app, whether it be native or web-based, it's imperative that developers and DevOps team instil their own New Year's resolution to not only ensure successful rollouts but also that apps remain functional regardless of the activity level. And as we move further into 2018 and as DevOps teams and developers are looking to make this the year in which they minimize technical crises, continuous testing should be at the top of their resolutions list.

But, how do they do it? How do development teams achieve the holy grail in customer satisfaction--timely, innovative, applications which are user friendly--and which won't go wrong? Our experience tells us that there are several steps which development teams can ensure the benefits of continuous testing is effectively implemented throughout the systems development life cycle (SDLC):

  1. Plan for the worst

In a continuously changing market, development teams simply can't get everything right. Technology is changing more quickly than businesses are used to, and developing while appreciating this fundamental truth is crucial. Most companies talk about sustainability of their service APIs and application stacks, and their ability to cope with an upswing in demand. But the conversation must now move on, to deal with a hard truth what happens when (not if) something goes wrong?

Development teams can safely assume can that some services will go down. Many incorporate third party offerings, like authentication methods or payment systems, so even if your own infrastructure is up and running, the third party may not be able handle unpredictable increases in demand.

And, development teams need to ask themselves 'how well have I predicted this situation?' and 'how quickly can I make adjustments needed to get up and running...

To continue reading