Blog

Is Developing Your Own Mobile Solution a Good Idea?

by Kevin Benedict

March 14, 2011

There are a lot of challenges and complexities involved with developing an enterprise mobility solution. You can choose to purchase a packaged application, where the vendor has already solved most of the challenges, or you can choose to take on the challenge yourself and develop your own mobile solution or outsource the custom development. It is important, however, to recognize what difficulties and challenges are involved in custom development. The following list of questions and considerations is intended to help you understand what it takes to develop your own mobile solution:

Do you have the resources available to collect all business and technical requirements for the application? Do you know what questions need asking?

Do you have the time and resources available to design, develop, test, deploy and support a mobile software application for the long term?

Do you have the time and people available to review all the hardware requirements and operating system features that are needed by the end user?

Do you have experienced mobile application designers available that are familiar with the unique features of every operating system?

Mobility is here for the rest of your career. Are you able to develop a mobility solution that can rapidly evolve as the mobility landscape evolves, or will your design require major work each time new mobile operating systems and devices are released?

What MEAP (mobile application development platform) will best serve your needs?&n
bsp; Have you selected it, or do you intend to develop your own?

Do you have software engineers trained and available to develop mobile applications?

The most difficult part of developing an offline/online mobile application is synchronization. Do you have an experienced data synchronization expert on staff?

Do you have the resources to document support and training documentation for your custom mobile application?

Do you have help desk resources available to support the deployment of mobile applications?

Do you have a mobile device management system and support infrastructure in place?

Who will train the mobile application users?

Do you have a sufficient budget to cover the immediate development effort and the next quarter’s maintenance and support costs?

Is the business unit that is funding the development project willing to cover the additional development costs if the project takes 50 percent longer than anticipated?

Is the IT development staff willing to dedicate personnel to this project for the entire project duration or will they be pulled off and needed elsewhere?

Are your software developers mobile application security experts, or will you use packaged security solutions for mobile devices?

Do you have database integration experts available for this project? You may need one available for every different database application you intend to integrate with.

What are the time-to-market requirements? Are you losing business or money by not having the mobile applica
tion implemented today? If you can buy a packaged mobility solution today, or develop one over the next six months, how much do you lose by waiting six months before deploying?

Who will support the mobile application after the original developers leave the company? Can you afford the time and money to cross-train a team of developers?

Mobile software solutions need custom business rules added. Is the framework and standardized methodology for implementing these business rules in place?

Which business unit will pay to update the mobile application when mobile operating systems, devices and requirements change? Is this in the business unit’s budget plans?

What database will you use in your mobile client application? Is the DBA (database administrator) supportive of this choice?

What synchronization technology will be used? Is that in the budget? Who will attend training classes to understand it? Are the training classes in the budget?

Do you know how to connect to the enterprise database remotely from the field? Have you designed these features?

Do you know how to develop mobile printing support? Will you support just one kind of mobile printer or many different brands? How will you do this?

Do you know how to validate data and ensure data accuracy on the mobile application? Database administrators will require this. They don't want bad data entering their database.

Do you need to develop your application to work on laptops, tablets, smartphones and ruggedized handheld computers? If so, is this in the budget and what skill sets do yo
u need for each platform?

Do you have software developers that are experts in wireless communications and connectivity?

Do you know how to develop and support hardware add-ons such as barcode scanners, RFID readers, GPS, digital cameras, and mobile printers? Do you know all the different hardware add-ons required by the mobile workforce? What equipment, accessories and hardware and software development kits will you use?

How will you glue all these components together in your application so it all works and can be supported by the help desk?

How will you support different mobile devices, and different versions of mobile operating systems?

How will you manage deployments that may start with 10 users but quickly jump to thousands of users?

These issues must be considered in preparation for developing an enterprise class mobile application. Your success depends on your experience, expertise, budget and long term commitment to supporting your own code base. These challenges are the reason most companies choose to purchase a packaged mobile application, or configure an existing template that already includes an SDK, MEAP and MDM. The economics of a custom mobile application are just plain hard to justify.