The challenge of Mobile Software Development
Mobile software developers face the challenge of delivering increasingly more products that are more complex, faster and at lower cost while maintaining high-levels of reliability and performance. With content being the main market differentiator in the mobile sector this pressure will only increase. Developers that recognise this trend know that they need to modify their engineering approach.
Variability – an increasing problem
The mobile domain, like other embedded domains, is inherently complex but the demand for an ever-increasing number of software variants magnifies this complexity. This demand comes from several sources including:
- Handset Diversity
- Operator-specific requirements
- Market differentiation e.g. high-end vs. low-end products
- Legal and Environmental constraints
Traditional solutions to variant management typically consist of an ad hoc combination of methods such as modifying copied files (clone-and-own), configuration-management branching, language-level constructs such as if-defs and templates, special file-names, runtime parameters and build and/or installer scripts.
That these solutions will require more and more maintenance effort over time, eventually leading to a crisis point, has been well documented.
The associated download looks specifically at the challenges faced by Mobile Games Developers and analyses whether Software Product Line development is an approach which could help address some of these challanges.