By Nic Grange, CTO, Retriever Communications
Enterprise mobility first-timers encounter various barriers at different stages of the process. Some easy to overcome if you plan well and keep in mind the most common obstacles. Following are some misconceptions we’ve seen IT managers come across when running enterprise mobility projects.
- You only need to involve end users after the mobile application has been developed.
Once users get their hands on the application, you will have lots of feedback and realize more often than not there are usability issues or something was missed. Changing things at a late stage in the development process can be very costly as it may require significant rework. You may also realize you have wasted effort on developing things that aren’t needed.
You need to involve a variety of end-users as early as possible. Build early prototypes and get user feedback as soon as you can. At this point, changes are relatively cheap. The other benefit is that it will generally help with user acceptance when you finally roll it out.
- You can get it right the first time.
Thinking you’ll get it exactly right the first time is naïve. With anything complex, getting it completely right the first time is almost impossible. Despite the clear benefits of Agile approaches, many enterprises are still using a waterfall approach for their projects. Mobility is certainly one area where you don’t want to be doing that.
It is better to do small, iterative releases which reduce the risk and cost of not getting it right the first time. Use prototypes early on as learning experiences and feed that back into the next round of development. If you do that, you will end up with a better result.
- Coding the application will take up the majority of the time.
There are many aspects to a mobility project, and people often think coding the application is where the majority of the time will be spent. While it can be significant, you will need to factor in at least as much time for prototyping, designing the user experience and user interface, testing your application on different devices, organizing and running field trials, working out how to deploy your application, how to integrate it with your corporate systems, and how to secure your corporate data.
- You can use any web developer to build the mobile application.
Just because someone has the raw technical skills doesn’t mean they will be able to easily adapt to using them in a different domain, especially if they don’t have any experience in that domain. While web developers have had more focus on the mobile experience of their websites, there are additional constraints with mobile application development.
- Most of the costs will be in the initial development.
The cost of maintaining an application should not be underestimated, especially in case of a mobile application. With new operation system versions coming out every few months and new devices and form factors being released regularly, just because your application works today, it doesn’t mean it will still work in a month’s time when your users automatically upgrade to the latest operation system or buy a new device. You will need to be constantly testing and updating your application.
The cost of maintenance in software development is generally not well understood. There is lots of anecdotal evidence that the maintenance cost of a software application over its lifetime will overshadow the initial development costs.
- You can roll out the application to all users at once.
If you encounter any teething problems, which are quite common, then these are going to impact all your users. Big bang rollouts generally don’t work. It is much better to use a staged rollout with some time in between stages to allow for rectifying problems.
As any new project, mobile app development is a process that demands thorough planning, testing and challenging assumptions. Knowing the most common pitfalls around mobile app development ahead of time will obviously save you time and money but, let’s not forget, it will also save you a long-term headache.