A lesson from Apple about why you should never use v1 of anything that’s not properly tested

I dodged a bullet of sorts last week: I didn’t upgrade the operating system on my iPhone.

Turns out my phone’s maker, Apple Inc., had a troublesome bug in its iOS 8.0.1 software update that essentially blocked users’ ability to make calls. Apple was reportedly forced to pull the update about an hour after its release and subsequently had to do another release, iOS 8.0.2, with a fix to the bug, according to Bloomberg.

The release of iOS 8.0.1, ironically, was aimed partly as helping fix problems from the initial release of the eighth version of Apple’s operating software for mobile devices, according to Bloomberg.

Apple told Bloomberg that fewer than 40,000 iPhone 6 and 6 Plus devices were hit by the software problem. Maybe so, but if you couldn’t make a key call when the glitch happened, does that make you feel any better?

In fairness, the products Apple makes are so complex that it may be inevitable that some bugs surface. And, as Bloomberg points out, the public only finds out about the bugs Apple missed, not the multitude it catches. Still, it appears from this Bloomberg piece that Apple – probably like most companies in its field – could do certain things better on the testing side.

A couple of issues in Apple’s testing process that Bloomberg points out:

  • Differing priorities. Consider an Apple committee that prioritizes what bugs should be fixed when, called the Bug Review Board. Meetings of this board “can become contentious because engineers will often argue for more time to fix a problem, while product managers will push to move forward to meet approaching deadlines,” the Bloomberg story says.
  • Turf battles. Divisions between different groups at Apple may have an impact on testing. For instance, “engineers who test the newest software versions often don’t get their hands on the latest iPhones until the same time That they arrive with customers, resulting in updates that may not get tested as much on the latest handsets,” Bloomberg says. Without special permission,only senior mangers can have access to unreleased iPhones, the news service reports.

Some lessons from an inter-divisional disconnect

It’s perhaps inevitable at a company of Apple’s size that internal squabbles crop up. What business big or small doesn’t have them? Still, it sounds from reading the Bloomberg piece like Apple could learn a couple of lessons from the botched releases on iOS 8 and iOS 8.0.1.

For one, I can’t help but wonder whether increased use of release automation would be in order. Apple’s quality control team does use automated tools, but the devices also undergo manual testing, the Bloomberg piece says. In addition, the company leans heavily on outside developers for testing of early versions of key software to find fixable problems, the news service’s piece says.

The other problem that Apple might have, at least judging from Bloomberg’s reporting, is disconnects both between different groups that handle testing and between the software development and testing sides of the house. 

There are fixes for such disconnects –- DevOps springs to mind. Regardless of what management tool Apple uses, the company needs the senior brass to address them. If engineers are arguing for more time to fix bugs, and product managers are pushing to meet release deadlines, then something’s got to give.

And that something just might be a glitch that keeps customers from making calls on their pricey new iPhones.