I have noticed a trend in I.T, the need to develop and release well tested products very quickly, call it “the smart phone app state of mind” or simply “the App state of mind”.
Why call it this? I’ll explain; according to Apple Uk, the app store currently has over 200,000 apps, this means massive competition, more importantly it means for any app to succeed i.e. achieve significant sales, it has to be really good (in the first place), fully tested, marketed and released very quickly, the same applies to the larger I.T world, in the today’s fast paced, highly networked, innovation driven environment companies have found that in order to survive they need to speed up their product dev and sale process or risk facing a bottom up disruptive overtake in the market place, Nokia readily comes to mind.
This App mentality can be clearly seen in the software dev world as well, as more and more companies are shifting from traditional software dev methodologies e.g Watefall, EUP etc, to more agile ones e.g. Agile Scrum/XP, DSDM Atern, Agile unified process (AUP) etc. In response to this more coding methods (TDD, MVC), platforms (Azure) and tools (nunit, mbunit) are being developed to cope with the challenge.
In the same vein, any software developer intending to stay competitive in the software dev world needs to adopt the App state of mind, it’s no longer enough to be a good coder, they must be able to develop fully tested and functional software very quickly, for instance they need to be able to use TDD in concert with Agile methodologies to develop production ready code within the shortest of times. The ability to switch to more traditional approaches when needed would be is a major plus.