The real cost of mobile app development
Clients are often surprised by the cost of ownership of mobile applications.
That’s not really surprising, since most organisations don’t specialise in product development, and the ‘hidden’ long-term costs of maintaining mobile apps could easily be overlooked.
Some may have dabbled with their own ad-hoc web development, and have come to appreciate – and expect – a similar process with their mobile apps. The problem, of course, is that mobile apps are a throwback to the ‘bad old days’ of fat-client development, as opposed to the efficiency of the thin-client web model.
To better understand the real cost of owning mobile apps, and how to manage them, we need to consider the main sources of the costs. These are the costs that follow the initial capital investment to develop the app, and assume you’re building a multi-platform mobile application that is live on all the relevant application stores.
The impact of platform fragmentation has an almost immediate effect on the balance sheet. Depending on your business scenario, you’ve probably built two or three versions of your app as ‘native’ applications for different platforms – iOS, Android, Windows, Blackberry – each assigned to a group of people with two or three different skill sets.
Since labour is often the most expensive line item, this is where the first major cost comes in. For the life of the apps, you will need developers with the appropriate skills – Java, Objective C, Android – and since you probably won’t find one person with all the skills, you’re hiring two or more developers. Moreover, depending on your organisation’s business continuity and redundancy policies, you possibly need more than two of each. That’s a minimum of three or four developers, continuously, for the life of the apps.
While it’s true that cross-platform development platforms alleviate some of this burden, the reality is that you still need native plugins to enable certain features for almost all the cross-platform frameworks available today. On top of that, you need people that specialise in each platform when it comes time to compile and submit the app to respective app stores.
While mobile fragmentation becomes an issue at the development stage of an app, it’s during testing that the real cost of fragmentation comes to the fore.
Consider, for example, that you develop an app for three platforms, each with multiple OS versions, and intended for use on a large variety of devices, from tablets, to feature phones, smartphones and mobile kiosks. Let’s assume further that you have to implement new features regularly, because you subscribe to best-practice agile methodologies.
For each iteration you then have to complete regular regression tests before proceeding with app store submissions. Just consider the number of regression tests that need to be completed: application test scenarios, platforms, OS versions, form factors, device manufacturers.
It’s obviously impractical to test everything, so a sensible sub-set of test cases has to be prepared, probably based on a fixed group of devices that you feel provides you with an adequate cross section and covers your risk (remembering that you have to test on physical devices, and to get pre-paid SIM-cards to test over each network, because not all issues will be identified testing in virtual environments or over WiFi).
In a typical development environment you’d invest in test automation technology to reduce delays and costs. However, automation is notoriously problematic for mobile app testing. So unless you own all the devices you need to test, you may find testing costs can spiral out of control.
If your intention is to make your application available to your customers (as opposed to private, internal-facing apps), they will expect you to support them when the application doesn’t work as intended on their particular device.
That means someone has to be available to answer a phone, respond to emails, or monitor a chat service. That someone has to be trained and empowered to respond appropriately, as would be the case in any dedicated support centre environment.
You could always limit the type and number of devices you support, but this would still demand time and cost to manage appropriately.
The bright side
The real cost of mobile apps is spread over an app’s shelf life. Decisions made early in the development process can and will make a difference to an app’s TCO, and there are numerous strategies you can follow to minimise costs in the long run.
For example, you could start with web apps, then expand. It’s always easier to have your app well defined and targeted, and using existing resources to do so. Building an app based on a successful web app is always easier – and less costly – than building it from scratch.
You should also address policy management upfront. For example, do you have a defined BYOD policy? If so, this will simplify your development choices. If possible, confine BYOD to a narrow set of devices and base configurations.
Define a strategy and roadmap, so you know whom you’re building for and your intended outcomes. Enlist focus groups for each app, so you know if you’re hitting the mark. And, if possible, take your app beyond the confines of your business. Scale helps drive ROI.
Lastly, consider partnering with specialists that can guide you through some or all of the process. App development is rapidly evolving, and it pays to have people around you with experience, skills and insight to develop your apps to their full potential.
This article was published on ITWeb on the 14th August 2013: