How to Determine the Best Approach to Building an Enterprise App & the True Cost of Ownership
- Product Development /
- Product Strategy /
Enterprise apps can be as complex as they are critical—making the stakes uncomfortably high. If your team is considering building a new, or replacing an existing enterprise mobile app, one of the first questions you are probably asking yourself is “how much does it cost to make our app?” While there are many factors that drive the cost of designing and developing an app, there are overarching questions you can ask yourself that will help guide you toward an answer. In order to identify a budget range that will assist in establishing a roadmap for your app, you will need to decide what type of team you will need, what process you want to follow, and determine the overall complexity of your app features.
What roles do I need on the app team?
To create a new app end-to-end requires a team with a diverse set of skills. The exact team composition varies, but a core mobile app project team typically consists of a combination of the following roles:
- Project Manager
- Creative Director
- UX Designer
- UI Designer
- Technology Director
- Mobile App Engineer
- Web Application Engineer
- QA Analyst
Depending on your app, a single team member might fulfill several roles at once. For example, for less complex apps you might have a designer that can handle both the UX and UI design. If your app doesn’t require any middleware development or API connections, a solo mobile engineer may be able to implement your vision. You might also have a project manager with experience in QA. Conversely, for larger, more complex projects you may need several team members to fill the same role.
What’s the process to create an app?
Most app (and web app) project processes typically follow a variation of the following phases:
- Strategy: define your product strategy, the value you will create in a succinct and tangible way; where to focus, why, and what it will take to achieve that value.
- UX design: explore the user’s journey to solve their problem, touching on information architecture, interaction design, and user research.
- UI design: create the visual user interface, focusing on style, branding, and accessibility.
- Implementation: create code governance and code management processes, and build the codebase for your app.
- Quality assurance + launch: ensure the app matches all requirements, doesn’t contain any bugs or other issues, passes security testing, and is deployed to app stores or enterprise mobile device management (MDM) suite.
There are two ends of the spectrum that a project process can align with: agile or waterfall. Depending on how your team chooses to operate, the phases listed above will either happen one after another (waterfall) or overlap and repeat (agile). Discussing agile vs. waterfall is a topic too large to discuss here, but essential to consider before beginning your app project.
How long does it take to create an app?
Can an app be developed in a week? It certainly can if the requirements are minimal in scope and purpose-built technologies are leveraged. But to design and build a consumer-grade product that solves complex business challenges you’ll need to follow the process outlined above. Depending on the functionality, the stakeholders involved, and the chosen project process, a typical app project will take between 3 to 6 months, split about evenly between UX/UI and development. For complex apps that require custom middleware builds or heavy integrations, it’s not unusual to see 9 to 12-month timelines.
What team do I need to create an app?
Depending on your business, you will have access to a few different teams that can assist you in the creation of your app. Each team will present their own advantages and challenges in addressing your unique needs. Keep in mind that when you increase your investment, first and foremost you are buying experience, which entails more specialized expertise in Android and iOS app design and development. Building your product is just one piece of the process. A team that doesn’t include expert designers and strategists may create project debt that you will encounter post-launch.
Hiring an in-house team to create your business app may make sense if you are ready to make a long-term investment into assembling the right people necessary for your project. Defining and opening the job requisitions, interviewing and hiring, and onboarding and training can take 3 – 6 months. Once you have the right team, you will need to establish processes, ensure everyone is trained on them, ready to execute, and prepared to mitigate any learning curves your new team members might have. When you have the team ramped up, you’ll have dedicated resources available to create and continually iterate your app. Depending on your geographic location, expect to invest $50,000 – $80,000 / month to stand up a basic mobile app project team (more on the specific roles required below).
App Development Companies
App development companies have become very prevalent. These companies will commonly have offices and staff located in South America, Asia, or Eastern Europe leveraging large development teams in those locales to produce a high number of apps at a lower cost. Some app dev shops also staff designers that can help with the app design, but don’t expect them to apply best practices in user experience design, such as running empathy mapping workshops, creating service blueprints, or facilitating user testing. They may be able to create aesthetically pleasing apps, but the user experience will likely not be fully evolved or fleshed out due to the weaker UX process. Overall, expect more variance in the quality of communication, work output, and governance. On the flip side, their cost to create and launch an app can be a fraction of the cost to hire an in-house team.
Building a freelance team provides a middle ground between the other options, and comes with its own pros and cons. You’re essentially bringing on hired guns that are well versed in working with unfamiliar team members and organizations. You can combine local vs. off-shore, and different levels of seniority to fit your needs. But beware that there might be an additional burden in establishing and monitoring the project process, as each freelancer comes to the table with their own way of doing things. You’ll also need exemplary project management to manage several outside resources simultaneously. It’s also not unheard of for freelancers to go dark, which can derail an entire project and could require you to rehire that position and restart the work. The cost will be contingent on the seniority and location of the team members but can be less expensive than an in-house team. Be aware of the risks and the additional overhead required to manage such a team.
Digital Product Agencies
A company that specializes in end-to-end app project execution can secure a jump start in assembling a project team. They have project teams that are fully staffed, trained on the correct processes, and seasoned veterans of other app projects. An agency, such as EMERGE, can typically stand up experienced project teams for clients within 2 to 4 weeks. Handing off your business IP to another company can seem intimidating, but a quality digital product agency will always create proper documentation to ensure project continuity. This not only insures against project team turnover on the agency side, but also prepares the project to be handed off to an in-house team in the future. Since team members will not all be resourced to 100% for the entirety of the project, the cost of standing up an agency project team may be lower than the cost of an in-house team. For example, the early parts of the project will focus on strategy and design, requiring only moderate engagement from the development team. In a later phase of the project the team allocation might be flipped. The cost savings created by this method compared to hiring a full-time in-house team can easily offset the premium charged by an agency.
Features to consider when estimating app complexity
It should be no surprise that the cost of an app is primarily driven by the app’s feature requirements. Here are some common features that can significantly impact the cost of your app:
- Will the app be built for iOS, Android, or both? Apple iOS is a better choice to reach a more engaged user base. However, in emerging markets, such as Asia and Africa, Android has a particularly broader reach. Most branded consumer apps will need to be available on both operating systems, while internal enterprise apps can have more constraints applied.
- Do your users log in? This requires authentication and account management. If it’s an internal business app, you’ll want to leverage your existing authentication system via LDAP or OAuth. For externally facing apps an email login is generally best to start with unless your app will have tight integration with services like Facebook or Twitter, in which case social login is better. We also recommend evaluating leveraging an Identity-as-a-Service offering such as Auth0, Okta, or Ping Identity.
- Does your app send notifications? You’ll need a notification service, as well as settings to manage notifications in your app.
- Do people create personal profiles? A profile means that some of the people that use your app will have to enter information about themselves that might be viewed publicly. They will also need the ability to manage their profile.
- What privacy settings do you need to allow for? This is especially important if your app has any sort of user profile or social component.
- How will you monetize your app? Charging for an app upfront is less expensive to build, but in-app purchases can produce higher returns with an engaged user base.
- Is there any user-generated content? If your app collects reviews, has a social component, or activity feed, you’ll need to consider content moderation. This requires admin workflows and potentially AI-supported moderation. Review mechanisms themselves can become complex as well, with ranking systems varying in complexity, which impacts your budget.
- Does your app need to connect to other business systems or data sources? This means you’ll need to create API connections and potentially build server-side applications to help with data orchestration, or integrate with an enterprise service bus such as Mulesoft.
- How unique does the UI need to be? On the lower echelon, app UIs can leverage existing design systems, such as Material Design, to save money on creating the user interface. On the higher echelon, a consumer-grade app UI design system will require a custom look and feel, gestures, buttons, and transitions.
- Does your app require content management? Utilizing a headless CMS is a good way to manage the content in your app without having to build a custom middleware. If you already have a website CMS that you want to draw content from, the app will need to be integrated with that.
- Does your app require ERP integration? Connecting to Oracle or Netsuite can extend ERP data capabilities to your mobile users, but also add a fair amount of complexity and contribute to the app’s cost.
- Is there e-commerce or support for mobile payments? You might be selling products in your app, or allowing your users to manage subscriptions. Once credit card information touches the app, you need to account for payment card industry (PCI) requirements.
- Does the app collect protected health information (PHI)? Once you are handling health data, Health Insurance Portability and Accountability Act (HIPAA) requirements need to be on your radar.
- Does the app utilize system APIs and sensors? Integrating with the camera, microphone, or using GPS or Bluetooth adds complexity to the app build. Utilizing third party SDKs, such as Aruba Meridian, can provide indoor wayfinding capabilities, while increasing the level of effort to build your app.
- Will the app function offline? If the app relies on online data, but needs to function offline, it will need to have features added to handle data caching and synchronization.
If you responded to all questions with the less complex needs, your app might be on the lower end of the cost spectrum of $75,000 or below for a production-ready application. If, on the other hand, your app requires most of the complex options on this list, you should expect to be at the higher end of the cost spectrum of $250,000 and up for a production-ready application. If your app’s features fall somewhere in between and you are flexible and willing to prioritize the most important features for an MVP, you should be able to get the MVP up-and-running for $100,000 – $250,000.
Feature prioritization and the role of MVPs
Now that you’ve established your overall feature set, it’s important to decide which specific features to include in your initial versions of your app. Going through the process of defining a Minimal Viable Product (MVP) forces you to prioritize the most important features of your app, particularly in relation to the budget and timeline parameters. This is a great way to manage cost and expectations of the initial app release.
The term MVP is used frequently in the software space, but can be applied to a variety of approaches to getting an app with a certain feature set launched. We recommend understanding what an MVP is before embarking on your app project, as it can be a valuable tool in containing feature creep and cost. At Emerge, we define MVP as the best viable solution that meets the needs of the target audience, incurs the least amount of risk, while conforming to all the known constraints. It’s the first step towards achieving your long-term digital product vision.
Technology approaches to building an app
There are some risks associated with using cross-platform frameworks. In particular, they are community supported and tend to fall in and out of favor over time. If longevity is your primary concern, building your app using the native languages is safest. On the other hand, building and maintaining a single codebase using a cross-platform framework, as opposed to multiple codebases, can save costs both on upfront development and ongoing maintenance. We typically see development cost savings of 30% – 40% when building a single React Native codebase as opposed to two separate native language codebases. Building a Progressive Web App (PWA) can create even more savings, by allowing a singular codebase for both a web application and mobile app.
Calculate the total cost of ownership
In order to ensure the long-term success of an app it is important to examine and budget for the total cost of ownership over time as opposed to the initial app cost. When creating the plan for your app, don’t stop with the launch date. When creating the plan for your app, it is important to plan beyond the launch date. Consider things that may need to take place after the launch: collecting and reviewing user feedback, addressing post-launch bugs if they arise, and ongoing maintenance tasks. When working with an external team we recommend a monthly budget of $2,500 – $10,000 to keep the app up-to-date with external factors such as OS updates and 3rd party API updates. The higher end of that range will also allow you to iterate the app and address usability or feature feedback.
We recommend planning 24-36 months out. Divide the calendar for the time leading up to the project launch and the time after the project launch. Plan for who needs to be available once the application has launched. What is required of their time? Also, are there any hard costs that you can account for now? Annualize these costs to obtain the total cost of ownership per year. Being aware of this cost and having these funds allocated is a significant step toward the long-term success of your application.
Bringing it all together and next steps
Now that you understand what kind of team you need to create your enterprise app, how features drive the app creation cost, and how to plan for total cost of ownership, you can begin planning how you will create your app. This should help you reduce complexity and increase app adoption. From here, dive deeper into how to define your MVP, consider if a progressive web app could be a good solution for your app, how to ensure your application succeeds after launching, and how to create a technology strategy for your digital product.
[Updated July 15, 2021 with latest information]