Mobile applications have become the most effective tool for facilitating a wide variety of consumers transacting with their service providers. Mobile apps guarantee a personalized, secure and reliable interface between the consumer and the service provider; in the internet era, nothing could come closer to meeting the demands of the consumer as well as the service provider.
Mobile application development has hence become an important focus area for organizations looking at enhancing their engagement levels with their customers. Not all organizations have the competencies in-house to develop such applications, and they invariably depend on third party mobile application development companies to help them roll out mobile applications.
It would be helpful for such mobile application service providers to understand that like in any other industry/process, a well-structured development process for mobile applications will help ensure that their mobile apps help them keep their customers engaged with them throughout the transaction life cycle.
What are the best practices that organizations should watch out for, and how do they translate into business benefits?
Inception and mobile app strategy
All software development processes start defining the business functionality of the application. Mobile application development is no different.
When the strategy is to distribute the app through a public app store, the inception and strategy phase could be split further into the following aspects:
- Functionality of the app: This aspect defines what the app is capable of doing, and typically provides answers to the following questions:
- What business functionality will the app provide to the user?
- What value will the app bring to its users?
- Infrastructure integration – What existing infrastructure will it integrate with or extend?
- How will this app work in a mobile form factor?
- How can I add value using mobile technologies such as location awareness, the camera, etc.?
- Competitive landscape: This involves gaining an understanding of the functionality of existing, comparable apps. This could be the basis for defining additional functionality is currently not available, so that the app in consideration can differentiate itself in the marketplace.
This is the phase when the actual development process begins, and can again be split into two distinct aspects:
- User experience (UX) design: This involves the use of mock-ups, or understanding the user interface guidelines as defined by each platform, namely Apple iOS, Android and Windows.
UX Design factors guidelines as laid down by each platform, so as to ensure that the app behaviour blends well with the usage and navigation aspects that the end user is already familiar with.
- User interface (UI) design: The next phase after UX design is the UI design, where more graphical aspects such as colors, fonts, and styles are incorporated. Here again, each platform has a laid down set of guidelines, and it would be ideal to ensure that the UI design adheres to these guidelines.
This is the actual phase where the application development activity kicks in. Application development involves the following three technical aspects:
- System design
- Database design
- Business process integration design
Mobile application rollout has to go through a well-structured release process, as defined below:
Prototype – The app is still in proof-of-concept phase and only core functionality, or specific parts of the application are working. Major bugs are still present.
Alpha release – Core functionality is generally code-complete (built, but not fully tested). Major bugs are still present, outlying functionality may still not be present.
Beta release – Most functionality is now complete and has had at least light testing and bug fixing. Major known issues may still be present.
Commercial release version– All functionality is complete and tested. Barring new bugs, the app is a candidate for release to the marketplace.
Maintenance & change management
This represents the phase where continuous updates are provided to the app, so as to keep the features updated.
One of the main differences between traditional business application maintenance and mobile app maintenance is the frequency of updates: while in the former, updates are typically released months apart, in the latter updates are more frequent.
A well-structured mobile application development process delivers the following benefits:
- A framework driven process for application development
- Getting it right the first time
- Manage user expectations
- Manage IT staff expectations