Employees, customers and consumers are moving faster than ever. If you want to keep up with them, you’re going to have to change the way you approach development, so you can move as fast as they do.
Have you ever thought about the phrase “as easy as shooting fish in a barrel?” Why is that so easy? Because they are penned in.
Put those fish in the open water and that gun becomes useless. They move too quickly and unpredictably. You have to figure out where they are going to be, then cast and cast again. You have to adjust your target and technique until you get it just right, and you have to be prepared to adjust it again as soon as they stop biting.
This Is Mobile Development
It’s the agile flip of the wrist and the thoughtful and constant adjustment that hooks your users, rather than the big firepower you’re used to.
Why is mobile development so different than the software development you’ve pursued before? Because the target of your mobile applications and systems is constantly moving and changing
Changing Environment
Enterprise software development usually takes place in a tightly controlled technology environment. Your IT department has a lot of control over the systems that have to be connected, as well as the upgrade and deployment cycle around the end-users’ computers. This is conducive to developing a detailed specification in advance and then executing against that fixed specification until the system is deployed.
In a mobile context, you don’t have this control. You may have to support multiple mobile platforms and a constantly shifting array of hardware models. The mobile platforms release upgrades (both to the OS and to the dev tools) much more frequently than desktop operating systems. You also have to account for a wide range of real-world variations in cellular service.
One of Alliance’s customers needed to enable 25,000 field sales and service team members to collect sensor readings in demanding industrial settings with a BYOD culture. We gave them a cross-platform native app for iOS and Android, with offline support and automatic sync. 80% code reuse across the device platforms, and code-sharing with the .NET server applications gave us the efficiency to support a diverse user base both quickly and cost effectively.
Changing Expectations
Make no mistake, the mobile revolution has dramatically raised the bar in terms of users’ expectations for the software they use. They expect intuitive user interfaces, efficient workflows and intelligent management of connectivity issues.
Gone are the days of just forcing any interface on the users. To deliver the best user experience, you need to utilize persona-based usability design to identify key scenarios and tasks (as we did for the world’s largest standards body).
Go With The Flow
Doing mobile the right way means saying goodbye to the traditional waterfall development process you’ve probably used in the past. You have to expect that there will be various changes and adjustments along the way between the initial specification and the finished release, so a rigid spec that gets “carved in stone” at the beginning won’t be the right guide by the end. An agile development process (like the one we use at Alliance Global Services) is a much better fit to the fluid needs of mobile development.
It’s Not A Project, It’s A Process
Enterprise software used to be measured in “projects”. After a major investment, the resulting system would sit largely unchanged (save for bug fixes) for years. That doesn’t work for mobile. With such a dynamic environment and user base, your mobile applications will need to constantly evolve and adapt. There isn’t an end point to a mobile initiative. There is just a steady stream of improvements and incremental releases.
One of our clients began as a multi-device hybrid HTML5 app implemented with native gesture support in version 1.0, but evolved into a native app for version 2.0 to take full advantage of better performance and a much richer UI experience.
Pick A Partner That Sticks By Your Side
When you drop the big, one-time tech specs in favor of constant evolution and optimization, you also need to change the way you think about your development partners. Your mobile systems need continuity, deep integration into your business processes, and serious insight into user needs and behavior. If you parcel it out and send a dozen components to a dozen different development resources, you can’t get the type of deep knowledge and guidance that will give you the best bang for your buck.
Your provider should be doing more than just executing against your spec. They should be gathering valuable insights into your users’ behavior and helping you evolve your mobile offerings into true game changers.
The way to make the most of your mobile investment is to adopt a development philosophy that can change when the environment changes, and to pick a nimble development partner that has the expertise to address a rapidly evolving landscape and can scale to fully support you. That way, you can move as quickly as your audience does.