Tuesday, February 24, 2009

Questions to Ponder before Starting a Mobile Software Development Project for Handheld PDAs, iPhones and Smartphones

This article identifies some basic questions that should be asked and pondered by the business user and software development teams before starting on a mobile software development project:
  1. Do you anticipate needing one mobile software application, or many? Can you start with a 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.)?
  2. Do you know your exact solution and data requirements in advance? Do you anticipate needing to edit and adjust your mobile application as you learn from your field users and their experiences? Can it be hard coded, or does it need to be flexible and easily edited? The answers to these questions will impact both design and schedules.
  3. Do you have an in-house software development capability, budget and helpdesk infrastructure to enable you to develop and support your own mobile application(s)?
  4. Are you going to outsourcing the development of your mobile software application's design, development and deployment to an experienced mobility company, or build it internally?
  5. Will you be synchronizing your field data with one back-office database, or multiple database applications? How will you do this? Are you using a middleware solution in this process?
  6. Do you know how to integrate field data to your database applications? Do you have your own DBA that can do this? Are they involved in the data synchronization discussions. How can you ensure valid data is synchronized from the field?
  7. How secure does the mobile data synchronization need to be? The more security that is added and layered the slower the data synchronization. Does only a small part need to be secure or all of the data?
  8. Will the user always need and have internet connectivity, or will the application run equally well disconnected? Does you design take this issue into consideration?
  9. Mobile solutions are often used on laptops, Tablet PCs, Smartphones, PDAs, and rugged handhelds. Do you know your hardware requirements and user environmental requirements? Is the user environment hot, cold, dry, wet, dusty, flammable or frozen?
  10. Will you be supporting just one mobile device, or many different kinds and sizes? Is the screen size an issue? What size is the screen on your chosen devices? Is it sufficient for the work done in the field. Does the mobile worker need to read manuals, maps, images, blueprints and drawings, or just click on a few buttons?
  11. What mobile device operating system(s) will you be supporting?
  12. How will the mobile handhelds or mobile devices be carried and stored. Is the user wearing a suit, or wearing overalls in the rain. Does the environment require a rugged case, or a suit pocket? The answers to these questions impact your choice of mobile devices, operating systems and screen sizes.
  13. If your internal IT staff are developing your mobile solution, do they know how to do the following: integrate with and support GPS, Barcode scanners, RFID radios, Digital Signatures, digital cameras and synchronize data bi-directionally across multiple databases?
  14. What mobile database will you use? Does it have its own synchronization technology? If not, what mobile middleware are you going to use? Does the mobile database vendor support the operating systems you have chosen?
  15. Do you have an IT development team that is 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?
  16. Have you considered the implementation, training and support effort required to manage large mobile software deployments? Do you have project management and helpdesk software in place to manage it?
  17. 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?
  18. Does the mobile software application need to support a specific business process in SAP or other ERP? Have you designed the mobile software application to do so?
  19. One of the most challenging and complex parts of mobile application development is to 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?

These are a few of the questions you will want to discuss with both the business and the technical team before you begin this effort. For more questions and possibly some answers you may want to visit this Google Knol called Mobile Software & Handheld PDA Business Strategies.