We are talking here about the development cost of an enterprise mobile application, that which will serve the enterprise itself as part of its operations, and the impact on this development cost of design and software architecture choices therein; including interactions with the technology environment, functionality, testing and deployment, maintenance and updates.
The question is not simple and to seize its complexity, we can make the comparison with a process as complex but more familiar to us; how well to estimate the construction costs of your new house?
You got it; there will be impact choices in terms of plans, materials, land, floors, etc.
Then to estimate accurately the development cost of an enterprise mobile application, we are going to try to confine the main factors at play and especially, to highlight critical choices you’ll have to face.
STRATEGIC ANALYSIS
Before estimating the development cost of an enterprise mobile application, it is necessary to revisit and validate the initial reasons behind this decision; what is the primary motivation of your company in the development of an enterprise mobile application?
- Do your company’s employees have to inevitably continue working in mobility, outside your walls?
- Does your mobile employee have to transact business, decide or plan on the road; in short, which business processes have to be mobilized in order to maintain business operations on the road?
- Will this mobile application bring a competitive advantage to your enterprise and if so, at which level?
- Must we transmit critical information necessary to the mobile workforce on the road (salesmen, managers, technicians, delivery people, etc.)
The original intention for developing an enterprise mobile application as well as targeted users will guide developers in the design of the mobile application interface.
UX / UI DESIGN
It is necessary to design a model / mock-up of the navigation architecture and the position of every graphic element of the application before moving on with the phase of creation. Questions of degree and nuance however remain:
- Must the application have a wide audience design type like with a striking wow effect for the Millenniums?
- It’s all a question of balance, one must find equilibrium between outrageous design costs and satisfying quality user experience; at the risk of disinterest and fast application usage decrease.
- Apart from rigorously applying navigation architecture best practices to optimize quality user experience, how many custom graphic elements (icons, transitions, graphic display, video buttons, etc.) will you have to design?
SOFTWARE ARCHITECTURE
Environment
- Who is the mobile application targeting: the sales force and / or the managers and / or the technical service?
- What is the nature of the information exchanged and manipulated?
- Which type of devices (smartphones or tablets or laptops) will be used by either Web or Mobile users?
- On which platforms (OS and versions), will the mobile application be deployed; iOS and / or Android or multiplatform (Xamarin)?
Functionalities
The application functionalities will have a major impact on the development cost.
- Does it have to work in an offline mode?
- Requires data to be saved on the device
- Requires a data synchronization module
- Should it have access to the device features such as camera, GPS, WiFi, Bluetooth or the Accelerometer?
- Access to its functionalities on a device is relatively easy, the problem comes from the diversity of these, the diversity of OSs, the number of versions to maintain
- Should it interact with third-party applications such as Google Maps, Uber, Twitter, etc.
- As many applications to interface with, as many APIs to integrate
- As many API versions to test and to validate
- Will it have to be fed with real-time data from external third-party applications?
- For example, stock quote or product price changes, etc.
- Does it have to deliver personalized notifications. For example, product X price just changed, no more places available for Y event, etc.
- Can the application work with the OS-integrated notification system or will development be required for a custom notifications system?
- Will the notifications be multi-channel (texts, emails, sounds, banners, etc.)?
- What back-office systems should the mobile application communicate with and how difficult will it be? In addition to security considerations involved, it is generally not possible to allow mobile devices to access company servers directly, so not to open security breaches on the outside; still there are several other elements to consider:
- Should all users be authenticated in two or three steps (password + code + biometrics)?
- Must communications with back-office applications be maintained in real time, or intermittently (IoT) or on demand?
- Is it just reading or reading and writing?
- Must all data exchanged be encrypted?
- Should the exchanged data be deleted immediately after the mobile device request?
- Which data can and / or must be saved on the mobile device?
The precise definition of your needs and the number of functionalities to be programmed will enable you to better estimate the technical difficulties of your mobile application development project giving your back-office information systems and quality and performance targeted for your enterprise mobile application. All these factors will have a direct impact on the programming time required and therefore on the development cost of an enterprise mobile application.
ESTIMATION
As a rule of thumb, 50% of total budget of an enterprise mobile application goes to development and the remaining 50% budget goes to analytics, architecture, design, project management, testing and deployment costs.
Experience tells us that in the majority of cases, the range of development cost of an enterprise mobile application is between $ 25,000 and $ 100,000.
The factor with the greatest impact on the development cost of an enterprise mobile application will be the level of interaction required with back-office applications and systems and the security constraints imposed by these.
It would be wise to plan a specific budget in the initial cost of your enterprise mobile application development for the first update that is very often so critical to the success of a mobile application, its adoption by users.
One must also plan for the annual recurring maintenance and update costs (evolution) which shall vary depending on the number of users and the level of complexity of the mobile application.
CONCLUSION
For the investment in a mobile application development project to be profitable, the mobile application must first be “adopted” (liked) and used by users; design is everywhere, design is king, in mobility more than elsewhere. Do not underestimate its impact.
Make sure your enterprise mobile application really meets the needs of your target audience. It is important to clearly define the scope of your mobile application and stick to it; “Less is more“!
A golden rule in software development is to advance gradually, step by step; to deliver little at a time but more often. Dream Big, Start Small, Fail Fast, Iterate.
In short, there is no magic, we mostly get what we paid for… rarely more!
Denis Paul & Michel