Apple’s software development methodologies, especially when it comes to iCloud services, are not competitive in this day and age. Apple won by releasing OS X updates on a yearly basis when the competition was Microsoft and major Windows update cycles were 3-5 years long. The competition is now Google (and possibly Facebook), so the rules have changed.
Facebook has already declared war on Google and Apple by announcing that Facebook Home, their Android home screen replacement, is going to be updated on a monthly basis. This is not to suggest that Apple needs to release monthly iOS updates, but to say that a new strategy is needed. One such strategy could be to separate certain application updates from the system wide release cycle. Do we really need to wait one year for improvements and innovations in Safari? Maps? Calendar?
Server side software lends itself very well to a rapid iterative release cycle. It’s not only an advantage, but a requirement. Internal iteration might work for the client side, but server side software can can, and should, be rolled out to production more rapidly. It makes for a nice keynote slide to say that a new OS has 150 new features, but it makes for happier customers if 50 of those features were made available throughout the year.
For years Apple has intrigued us with the big reveal. It’s certainly one element of their success, but the fact is that releasing updates to iCloud are not the same as launching a new iPhone. Many, including myself, will happily wait for a year for a new iPhone, or a new version of OS X, but no one should have to wait for improvements to Maps or iCloud syncing. The rules and the competitive landscape have changed significantly, so Apple needs to adapt quickly to remain competitive.
UPDATE: Read this excellent article by John Siracusa. His point about Google becoming a bigger contributor to WebKit and having to eventually take it inside by forking it, as Blink, is another excellent illustration of the problems Apple will face if they don’t take certain aspects of their development process and adopt a Google-like rapid development & release model.