No one likes waiting for software updates, but preparing such an update for release turns out to be a tougher ordeal than most people suspect. Sony Ericsson detailed their procedure of updating, which explains why we'll have to wait a while before they release the promised Android Ice Cream Sandwich (ICS) update, even though the ICS source code has been out for weeks.
The first stage is to merge the changes brought about by ICS into Sony Ericsson's own source code and to resolve any issues that might arise from the merge.
ICS has been optimized for Texas Instruments, so Sony Ericsson has to throw those parts out and replace them with equivalent parts for the Qualcomm 8255 chipset, which they used across the 2011 Xperia lineup.
You'd think that using the same chipset in all phones will make the transition easy. Not quite, it turns out. The chipset might be the same, but the peripherals - cameras, Bluetooth, Wi-Fi, GPS, sensors, etc - are different. Support for those has to be included in the Hardware Abstraction Layer (simply put, they need divers for those devices).
That's quite a bit of work, but it's far from the end of it - after that's done, all devices must be tested to see if the new software works properly. And they need an official certification that they do.
Sony Ericsson say that they apply for a global certification as often as possible but sometimes, they need to apply for different countries individually. For a product launched globally, it must be certified in up to 80 countries. And while some tests can be performed in-house, other tests need to be done by third parties.
As you can imagine, that's very time consuming. In fact, Sony Ericsson says that getting the certifications is the most time consuming part of the whole process.
That's not the all of it, either. Some operators want to include their own software modifications before the update is ready. And only after all those things have been checked off the checklist, can a software update be pushed out.