Tuesday, March 10, 2009

Starting a Mobile Software Development Project for Handheld PDAs, iPhones and Smartphones

Questions that should be asked and pondered by the business user and software development teams before starting on a mobile software development project:

one mobile software application, or many?
One mobile software development platform that supports all of your mobile application needs, or will each mobile application be a separate IT project and use different development technologies and infrastructures (e.g. Windows Mobile, Google Android, RIM Blackberry, Symbian, iPhone, etc.)?

Fix solution and data requirements? needing to edit and adjust your mobile application as you learn from your field users and their experiences?
hard coded, or flexible and easily edited?

in-house software development capability, budget and helpdesk infrastructure to enable you to develop and support your own mobile application(s)?
Or outsourcing the development of your mobile software application's design, development and deployment to an experienced mobility company, or build it internally?

synchronizing field data with one back-office database, or multiple database applications? How? middleware solution?

how to integrate field data to your database applications?
Do you have your own DBA that can do this?
How can you ensure valid data is synchronized from the field?
secure mobile data synchronization? security->slower the data synchronization.
only a small part need to be secure or all of the data?

always internet connectivity, or run equally well disconnected?

Mobile solutions are often used on , and hardware requirements and user environmental requirements? laptops, Tablet PCs, Smartphones, PDAs,hot, cold, dry, wet, dusty, flammable or frozen

supporting just one mobile device, or many different kinds and sizes?
screen size?sufficient? manuals, maps, images, blueprints and drawings, or just click on a few buttons?

mobile device operating system(s) ?

How will the mobile handhelds or mobile devices be carried and stored.
wearing a suit, or wearing overalls in the rain.
Does the environment require a rugged case, or a suit pocket?
-> operating systems and screen sizes.

integrate with and support GPS, Barcode scanners, RFID radios, Digital Signatures, digital cameras and synchronize data bi-directionally across multiple databases?

What mobile database will you use?

own synchronization technology? If not, what mobile middleware?
Does the mobile database vendor support the operating systems you have chosen?

experienced in designing, developing and deploying mobile applications, or is this their very first mobility project.
Can you afford the steep learning curve, time and money developing a mobile application in-house with no experience?

Have you considered the implementation, training and support effort required to manage large mobile software deployments? project management and helpdesk software in place to manage it?

Have you made sure that your mobile software application's database and screen design will include the data fields required by the office database application you will sync with?

need to support a specific business process in SAP or other ERP?

create the right data model for your mobile application before you start development.

Often an appropriate data model for a simple mobile application, is not the appropriate data model once you start adding features and additional modules in future versions.

Is your database model designed to easily support additional components?