Remember getting a CD in the mail to upgrade software? Insert the disk, run the program and wait. Maybe watch an episode of the X Files in the meantime, and … it’s still not downloaded. How much time did we waste upgrading to the latest version of AOL back in the 90s anyway?
Enterprise software was even more painful, with expensive licenses and highly complex deployments. It was an intermittent, upgrade cycle world back then. Once you deployed, you are locked in until the next major upgrade. The CRM system you implemented in 2002 was no better in 2005. But as the cloud emerged the on-premise license model began to decline. The upgrade cycle was broken.
Smart phones ushered in the cloud tipping point. There was no disk drive to upgrade Facebook or Angry Birds. Software upgrades were pushed to the device regularly and easily managed. No more versions either. It’s simply Spotify or Über. There is no Instagram 4.0. This cloud upgrade model has become the norm for tablets, laptops and nearly any connected device today.
We’ve gone from the intermittent to a world of continuous delivery, where we regularly upgrade with the latest security patches or new feature as they are available. And as technology has gotten infinitely more complex, managing it has gotten considerably easier.
In fact, the cloud makes it much easier to adopt a new solution by taking away the deployment pain of the licensed, on-premise model. This has only accelerated IT complexity as environments become increasingly multi-vendor. And while the cloud enables continuous delivery, it doesn’t always deliver on the mix-and-match promise.
With so many moving pieces, technology is more prone than ever to interoperability issues. Take telecommunications, for example. What used to be relatively straightforward phone systems have evolved into complex, multi-vendor environments that enable phone, chat, collaboration and increasingly video services. It has emerged as the heart of most organizations.
Issues like one-way calling, poor voice quality or glitches in conferencing solutions cause significant loss of productivity. When systems fail for e911 services, it becomes mission-critical and even life threatening. So how do we manage the increasing complexity of today’s communications systems?
We need upfront insight to understand interoperability. Will Microsoft Skype for Business work with my PBX? Does that cool new videochat feature work with my existing infrastructure? If I migrate to that cloud communications service, will it work with my older equipment? What about that satellite office?
The problem is that our thinking around interoperability testing is stuck in the past with outdated software licensing and that dusty AOL CD. Back then IT managers could test for interoperability once with relative confidence that communications would work until the next major upgrade. But we live in a dynamic world now with continuous software delivery. While patches, new features and updates are meant to improve communications, they also represent potential conflicts. You can’t assume that because Microsoft Lync 2013 works with your PBX that Skype for Business also will. Or even that a patch to your conferencing software won’t create compatibility issues with Skype for Business. There are so many pieces that are constantly changing that the probability of conflicts is steadily increasing.
To address this, we need to rethink testing. It’s a continuous world and we need a continuous solution. It doesn’t have to be a 24/7 solution, but continuous testing on a regular basis can ensure that systems will work and even allow you to optimize them. In fact, it leads to continuous insight.
Testing is not merely a pass-fail proposition. It leads to valuable knowledge. It’s about more than understanding that the new chat feature is not going to work with your existing system. Test results can offer insight into how to make it work. Or how to optimize a feature. Perhaps improve voice quality or head off one-way calling problems at the pass.
It’s about playing offense and optimizing your system to deliver more value, rather than defense to fix problems as they arise. Avoid them altogether before they become problems.
There is a reason why upgrading our apps to the latest version has become so easy. The software makers have taken the complexity away by constantly managing updates. And continuous testing and insight remove complexity in a mixed environment to optimize performance and give us the full value of those latest features.