The mobile market requires new software development practices
The traditional methods used to define and develop desktop applications will not work with mobile application development At least that's the conclusion Gartner reached after finding that the increasing pressure on IT organizations to deliver large numbers of mobile applications has led to new development techniques being used.
During a recent presentation to ICT leaders in China, Van Baker, research vice president at Gartner, said "Enterprise application development teams use traditional practices to define and develop desktop applications; however, most don't work with mobile app development, due to device diversity, network connectivity and other mobile-specific considerations". According to Baker, users find it challenging to effectively describe what a mobile app needs to do.
As a result, the traditional practice of having a business analyst sit down with the mobile app end users — employees for business-to-employee apps and consumer focus groups for business-to-consumer apps — to define requirements for a new mobile application normally fails. "The experience associated with mobile devices is significantly different from that of desktop devices, including shorter session lengths and limited presentation, due to screen size constraints" said Baker.
App testing and analysis
Testing mobile applications also differs greatly from testing traditional desktop applications. For a mobile app, each device OS can behave differently, depending on the actual device on which it is being used. “The important thing for enterprises to realize at this point in the mobile app maturity cycle is that there is still much to learn about how to design, build and deploy great mobile apps,” explained Mr. Baker. Once the app is deployed, it is important to understand how it is actually used, because behaviors may change. This suggests that in-app analytics are critically important to make the results generated by application usage useful. In-app analytics, offered by specialist vendors (such as Flurry) or available with MADP solutions, such as Appcelerator, Kony, IBM and Pega Software, can tell developers what users are doing inside the applications they're using.
‘Agile development’
According to Gartner, typical in-house desktop AD frequently takes approximately a year and a half, and when deployed, the application may be maintained for as long as five years prior to retirement. They are therefore distinguished by having long life cycles (and stable in terms of their functionalities). Mobile apps are different. They need to be frequently revised to meet end-user expectations. The pace of change in the cell phone market is incompatible with a reduction in the speed of development, which therefore requires application development and deployment practices to be developed that enable applications to be incrementally improved as quickly as user expectations change. It is therefore imperative to implement agile software development techniques.
Agile development is the name given to the software engineering techniques that minimize risks by developing successive versions of software (called 'iterations') in short periods of time, 2-8 weeks, approximately. Each of these iterations includes its own planning stages, requirements analysis, design, programming, review and documentation, carried out by self-organized and multidisciplinary groups. All of this is almost more a school of thought than a mere programming technique, which even has its own 12-point manifesto ("Simplicity—the art of maximizing the amount of work not done—is essential", etc.).