Monthly Archives: February 2013

Move Fast and Break Things

When back in 2006 I started to work on UIQ 3.0 and Symbian OS 9.x, I was impressed with the architecture and design of Symbian. Coming from a fast-moving mobile app-development company to work on Operating System that was powering 80% of world’s smartphones at that time was an exciting challenge. What struck me first day that everything that UIQ and Symbian did they did in the right way. Everything you read in books and blogs, articles and white papers was applied at Symbian: Symbian OS was object-oriented from the ground up and had vast sophisticated hierarchy of classes with awesome documentation, development tools were mature and powerful, every aspect of software development process was also done in a right way – we used Agile/SCRUM, great source control system (Perforce) and bug tracking  software (Serena). Every feature was properly designed, reviewed, implemented and tested. When we fixed bugs – we looked at the spec and only then talked to PM/Architect. And yes, specs were actually up-to date (mostly). Every code check-in was core reviewed, had accompanying Unit Tests and automated testing suite was executed (STEAM). However, in early 2007 iPhone came out and it became clear that Symbian will soon become obsolete unless major changes will be done.

Symbian

Copyright Alex Kolesnikov

So why did Symbian and UIQ failed during transition to capacitive multi-touch screens? As with any major disaster (think collapse of USSR) there are many reasons that lead to a quick demise, but I think the most obvious and biggest reason of failure in case of Symbian was that it could not embrace change fast enough. Going even further, I believe that the fact that Symbian engineers, architects and management were used to near-perfect release cycles and great engineering systems, they were all reluctant to embrace the change. Why would you change a great engineering infrastructure? Great engineering culture that was working so far? Being used to a predictable and solid engineering practices inhibited change.

Move fast and break things. Adopt or die. Adopt chaotic, hectic world of Web 2.0 and cloud, when you ship or rather launch every week. Symbian, good bye!