Mobile application lifecycle management (ALM) is a process and a set of best practices for planning, coding, testing and deploying applications that target smartphone and tablet computers.
No longer just simple productivity tools, mobile applications are increasingly aligned with business strategy. As a result, organizations are moving swiftly to provide employees with sophisticated mobile apps that deliver data and services pulled from different sources.
This creates a double whammy situation for software teams. At the same time they are under pressure to quickly deliver what the business wants, they are also working to master new mobile ALM challenges that arise at each stage of the lifecycle.
This guide outlines those mobile ALM challenges and explores the various ways software professionals can meet and solve them.
Table of contents:
Understanding mobile ALM challenges and business drivers
Businesses have discovered that early strategies for supporting mobile workers have fallen short, and organizations planning mobile ALM projects must navigate their way through uncharted territory. Empowering employees at the point-of-activity requires more than giving them mobile access to data and services in desktop and Web applications. At the same time, software teams are struggling to boost their mobile ALM skills to understand how these projects differ from desktop and Web application development efforts.
Mobile ALM planning and requirements
Enterprise mobile applications require upfront considerations, including decisions about which platforms to support, how to protect key business data and how to ensure usability of applications that run within the constraints of small devices. It's also important to decide whether it makes sense to move applications and data typically stored on the mobile device to servers running a mobile cloud.
Making mobile platform, development tool decisions
Mobile applications force developers to grapple with decisions that are nonissues for Web and desktop projects. What is the best strategy for developing an application that targets more than one mobile device and operating system? A native development approach is likely to result in an application that takes better advantage of mobile device features. But it also requires managing separate codebases and teams, which is costly and time consuming. Cross development mobile tools offer another alternative. But fine-tuning the code they generate to fit different mobile operating systems is not trivial. Mobile Web apps are also a consideration. HTML 5 offers development flexibility but performance is often a problem.
Devising mobile ALM test strategies
Assuring the quality of mobile applications turns traditional software testing on its head. How do QA organizations test mobile apps that run on dozens of different devices and operating system versions and are deployed under a wide array of connectivity conditions? Two factors further complicate this test challenge: mobile workers are always on the move, and the apps they rely on need to continually connect to social media sites and enterprise legacy applications and databases.
Securing mobile apps and protecting key business data
Security is a concern for all applications, but mobile apps pose additional challenges. For one thing, smartphones and tablets are easy to lose or steal, and that puts sensitive business data at risk. To reduce that risk, developers must carefully plan how and where the mobile app stores and encrypts data -- while maintaining enough usability to ease the experience for mobile workers. Also crucial to keep in mind: Mobile apps pull data from legacy databases and applications that were not designed to be exposed beyond company walls. That means developers and testers must scan mobile apps for vulnerabilities like SQL injections and buffer overflows.