Search more articles

CAN COMPLICATED BE SIMPLE?

I have had an iPhone since the 3G.  I love the device.   Apple has made it easy to stay with them and they create great continuity in their upgrade stream.  They have excellent functionality and peace of mind with iCloud backups.  A recent experience made me realize just how dependent I am on the way that Apple rolls things out.
As usual,  with no warning,  I got a notice that the new release, iOS 9.0.01, was ready on my phone.  I had just done a backup so it seemed like an opportune moment, why not?  I had the time.  Remember though, there is no real notice about what is IN the latest iOS release ahead of time, nor is there any real background on what it is when you get it unless you troll the net to learn what good and bad things others have shared.  My first clue should have been to look deeper since it was iOS 9.0.1 NOT 9.0 which means Apple rolled out a ton of bug fixes right away.
But hey, we let it fly.
The first thing I noticed was it took an inordinately long time to load and install, atypical.  So long that I began to congratulate myself on the current backup I had made.  Finally it installed, but it looked like it was going through a lot of standard setup options that most updates don’t do.  The load process did several annoying things like attempt to use my iTunes credit card to drop into Apple Wallet (I had to read it twice and decline because it made it seem like it was just for iTunes, no thank you Apple). The update automatically tried to turn on location services (which I had carefully configured to my liking prior), turned on time zone settings for my calendar and added some new icons automatically rearranging my home screen.  Nothing dramatic, just a little intrusive and again with no real explanation as to what it was doing (anybody remember the “free” U2 songs you couldn’t delete from the last release?).  But the update took off and finally my phone was back. 
I didn’t think about it until the next day.  I was in Newark, NJ  with a colleague and we went to call an Uber Taxi for our meeting.  I opened the App,  and set my location and requested a car.  As usual I got a response within a few moments and the driver called me.  “I am at the Airport Marriott across from the terminal” I tell him,  “Where?” he asks?  “Are you at LAX, I thought you were in Santa Monica”? – it then dawned on me,  the update had turned off ALL OF MY PREFERENCES for location services.  The Uber app thought I was still in Southern California.  How funny.  I apologized to the driver and canceled the request, going back into my phone and redoing a number of configured settings that had been undone by this major upgrade.
Once I got a car on the East Coast, I ran through some of my favorite apps on the ride and found they were broken or behaved badly.  Again, nothing that rendered the phone useless,  but it did not behave as it did before.

Lessons for Release Management

Now, the iPhone and the iOS software are very complicated bits of technology which are designed to make my experience useful and simple.  But it dawned on me that this was a lesson in how to handle release management.  Complicated made simple…
  1. Publish what is in the release well ahead of time,  actually, publish it two and 3 versions out. So you aren’t adding functionality at the last minute.
  2. Let your partner community know it’s coming so they can plan for it ahead of time.
  3. Deliver any new functionality in the “off” position and allow the user to turn things on when they see use in doing so.
  4. Honor the configuration that the user has established and do not override their previous settings.
A simple, straightforward and planful approach to insure that the release is useful right away,  and that it does not have adverse impact on the user. As a consumer of software,  you should be able to expect nothing less.
BTW – I still love my Apple devices, but my iPad is not upgraded yet,  I think I will wait for iOS 9.0.2.

Featured post

How to Write Effective Literature Review

A literature review is an essential component of any research project or academic paper. It involves identifying, evaluating, and summarizin...