Mobile // Mobile Business
Commentary
2/19/2014
10:00 AM
Connect Directly
Twitter
RSS
E-Mail
50%
50%

Can You Deliver Antifragile Mobile Apps?

In a mobile business, it's not enough to be resilient against unexpected problems -- you need to always be testing for failure.

When I migrated from the UK to Western Australia one of the first things I did was visit a native animal sanctuary. I wasn't surprised to see the koalas and kangaroos, but I did a double take when I came face-to-face with my first black swan -- especially when it attacked me.

My guide friend then gave me some solid advice about my new environment – "out here you'll need to toughen up."  

This "man up" lesson applies in enterprise IT, where for years we've managed systems to survive and withstand adversity. We understand that hardware breaks all the time. Software has bugs and people make mistakes. Unfortunately -- just like my black swan -- events are not always predictable. So if your cloud provider goes out of business, or rats chew through your main communications link, how can you ever build reliable applications for your users and customers?

[Learning to use a version control system is a sensible way to start on the DevOps path. Read DevOps Beginner? Start With Git]

Just being resilient is not enough -- your teams and applications need to become better and stronger for the experience. They need to thrive after failure. They need to become antifragile.

In his book Antifragile: How Things Gain From Disorder, Nassim Taleb argues that fragile items get weaker or break (like Humpty Dumpty) when exposed to stress, whereas something antifragile should do the exact opposite -- get stronger. This idea has found its way into IT, with progressive businesses regularly engineering and inducing system failures to improve them -- like the Netflix chaos monkeys and the Simian Army.

But aggressive swans and trouble-shooting monkeys aside, does the notion of "antifragile" really have a role in the development of applications? I believe it does, especially as the pressure intensifies to deliver mobile apps quickly.

Please mishandle
In many ways, upgrading an enterprise application is like handling a Ming Vase.  It's valuable, but fragile. Change is something to be feared, so the traditional IT approach is to upgrade quarterly or even yearly. Today, apps, especially of the mobile kind, are built, enhanced, and retired at a frenetic pace -- weekly, even daily. Something I was reminded of when LinkedIn informed me that the app I'd recently downloaded was now being retired and replaced.

To thrive in this mobile world, organizations need to develop an almost counter-intuitive mindset -- one that stresses app delivery processes so that upgrades become mundane activities that are not feared but relished. We do them often and we get stronger.

Such "mishandling" starts when teams have the ability to introduce smaller sets of changes almost continuously using Agile thinking rather than make larger changes over longer periods.

If problems arise they can be rolled-back quickly, with feedback loops established so that teams learn from the experience. This of course may require an investment in new tools and DevOps and Agile techniques. Fair warning: You should never underestimate cultural obstacles -- often the most fragile aspect of a company is entrenched thinking.

Removing constraints
Delivering enterprise mobile apps is no walk in the park. There'll be new types of data sets, APIs, integrations, and third parties to support. There'll be variable transaction types, latency and unpredictable traffic -- plus, of course, new security and support issues to address.

In the past, organizations have mitigated risk through rigorous, costly, and lengthy testing, assembling complex infrastructure sandboxes to mimic production systems. But this doesn't work so well anymore.

Like my black swan confrontation in Australia, mobile apps can be harassed by unpredictable events that are difficult to test in a physical environment. And even if you could, would the time needed to test really be worth the effort? 

There are other approaches. Netflix and Amazon thrive on failure -- periodically introducing random events to test design assumptions and architectures. Alternatively, an enterprise might virtualize services during development and testing to simulate conditions -- perhaps even incorporating tools into the development process itself like application performance management and crash analytics tool that spot and eliminate bugs before, during and after apps hit the streets.

It's broken, so what now?
To be successful, IT can't build something as tough as a new mobile business with a head-in-the-sand mentality or by obsessively protecting systems against rare events.

Rather, they should thrive on the unpredictable, with highly collaborative groups that learn and act when things go wrong. Call it DevOps or whatever you like, but supporting lofty goals like "antifragile" must also involve strengthening established procedures.

For example, when the proverbial sewerage hits the fan after a mobile app outage, having a developer on call could help improve the flow of critical support knowledge – with the caveat that they're good at speaking with customers.

So following this logic, the next time you meet your own black swan you'll be better prepared and come out stronger from the fight.

Cloud Connect Summit, March 31 to April 1, offers a two-day program colocated at Interop Las Vegas developed around "10 critical cloud decisions." Cloud Connect Summit zeros in on the most pressing cloud technology, policy and organizational decisions, and debates for the cloud-enabled enterprise. Cloud Connect Summit is geared towards a cross-section of disciplines with a stake in the cloud-enabled enterprise. Early Bird rates end Feb 21. Find out more about Cloud Connect Summit and register now.

Peter Waterhouse is a senior technical marketing advisor for CA Technologies' strategic alliance, service providers, cloud, and industry solutions businesses. View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
PeteJW
50%
50%
PeteJW,
User Rank: Strategist
2/25/2014 | 11:32:19 PM
Re: Fantastic concept
Thanks Lorna - or the timeless phrase -- "If it compiles ship it"

I agree that antifragile goals might be beyond the goals of the typical org with legacy applications, but as development shifts to mobile, and such legacies are integrated with new systems of customer engagement, then old methods for maintaining resilience (especially by avoiding change) might need to be rethought.

 
Lorna Garey
50%
50%
Lorna Garey,
User Rank: Author
2/19/2014 | 1:10:18 PM
Fantastic concept
I am reminded of programmer humor: My code works. I have no idea why. My code doesn't work. I have no idea why.

Is this approach, while certainly a worthy goal, practical only for newer and leaner apps? I can't imagine anyone looking at a 12-year-old legacy application that has links into ERP and CRM and HR systems with an antifragile mindset. In fact, I bet it would strike terror.
InformationWeek Elite 100
InformationWeek Elite 100
Our data shows these innovators using digital technology in two key areas: providing better products and cutting costs. Almost half of them expect to introduce a new IT-led product this year, and 46% are using technology to make business processes more efficient.
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Tech Digest, Nov. 10, 2014
Just 30% of respondents to our new survey say their companies are very or extremely effective at identifying critical data and analyzing it to make decisions, down from 42% in 2013. What gives?
Video
Slideshows
Twitter Feed
InformationWeek Radio
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.