Should You Build an App Internally or Hire a Development Agency?
Summary
- Know What You’re Looking to Build
- Understand Exactly Where Your Money is Going
- Plan for Maintenance, Iteration, Adoption, & Scaling
- Work With People You Trust
Know What You’re Looking to Build
Like any goal you want to achieve, you first need to define your ideal outcome before you can intelligently plan what it’ll take to get there. If you’re looking to build a simple weight tracking app, the time and resources you’ll need to invest look radically different than if your goal is to build the next big social media platform. So the first step is to determine the full scope of your project. If you are aware of an app that’s similar to what you want to build, take a closer look at it. Roughly count how many screens it has. If there are more than 5, you are starting to get into a fairly complicated design. What functions does the most basic version of your app need for your users to get value from it? Do they need to log in? Record data? Analyze data? Send push notifications? Does your app need to be available on iOS and Android right away or just one system? Getting your wishlist on paper will help you determine the types of expertise required for your project and will allow your experts to budget time and resources as needed. Now take a look at your existing team. Are there people in-house who are confident in their ability to create exactly what you’re looking for? Do they have enough experience to prioritize features or raise red flags about aspects of the project that could be risky? Is there enough manpower to finish the project in a reasonable amount of time? Larger, more experienced teams like those in a development agency will have a bigger upfront cost, but their efficiency will also save time and therefore cost in the long run. And if you or your team run into problems trying to scope the project, a good agency can help you determine the minimum viable product (MVP) that will get you into the market successfully. However, if your project is extremely simple (1-4 screens and only 1-2 main functions) paying for the expertise of an agency may not be necessary if you have a confident in-house team with the time to develop and maintain your app.Understand Exactly Where Your Money is Going
Focusing on total estimated spend for internal versus external app development can be misleading. It doesn’t give you a clear picture of the true value your money can buy. Most companies looking at dollar value alone end up comparing apples to eggs. And while they’re both vaguely round foods with a protective outer layer, there isn’t a person alive who would say you’re getting the same thing. Dig a little deeper and make sure you’re comparing apples to apples. Six figures may feel like a shocking price for a development agency to create your app, but closely compare what you get from an agency to having an existing member of your team lead the project. What are the salaries of the development experts on your team? In Canada, the average iOS developer earns a salary of $70,941 and the average Android developer earns a salary of $70,706. If you have one iOS and one Android developer working on the project for 8 months, you’ve almost reached the 6 figure price tag for a simple and probably incomplete project. And, you haven’t even accounted for the cost of the work that had to be set aside for 8 months to focus on your app. Why incomplete? Because development expertise isn’t the only kind of expertise required to launch a successful application. Agencies also have designers, project managers, product experts, and QA specialists baked into the cost to ensure the final product is technically sound, on time, and delivers the best possible experience to your users. It’s all about economies of scale. A specialized tech company putting all of their resources into perfecting their development workflow and spreading their costs over multiple clients can achieve more than all but the biggest multinational companies can on their own. Unless you work at P&G, you need to consider this. And if you plan to hire developers specifically for this project or you have to replace one or more partway through, you are also looking at another $4000-$5000 in hiring costs, $400 in onboarding costs, and $1,252 in training per person. Then you’ll have to consider the delays to your project as the new hires familiarize themselves with their predecessor's coding style, increasing the risk of costly mistakes. Conversely, if an agency experiences turnover, there’s a much higher chance that someone with a similar skillset is familiar with that developer’s work style who can take over and ramp up quickly.Plan for Maintenance, Iteration, Adoption, & Scaling
The number one mistake companies make when evaluating how to develop an app is thinking about the cost as self-contained. Many leaders view building software like building any other widget they can sell. You put up the costs for R&D, build the thing, then get to stop spending and let the sweet ROI roll in. But software development is never finished. Without regular maintenance and updates, you risk incompatibility with the latest devices, security breaches, and being outmaneuvered by competitors offering shiny new features. To stay competitive, 82% of apps are updated more than once per year and experts suggest budgeting 15-20% of the initial development cost to cover those expenses annually. If you decide to develop by moving a team member off of another project temporarily, you will either need to hire someone for app maintenance or outsource once the first iteration of the app is complete. Either way, it will be much harder for a new person or team to get up to speed on a project they didn’t build. So consider this ramp-up time in your costs as well. Regular maintenance costs to consider include:- Backups and recovery
- Security
- Support
- Version updates
- Bug fixes
- Adding features
- Ongoing training
- Scaling the system
Work With People You Trust
Even when they understand the potential cost savings that can be gained from going with an agency, many leaders still choose to develop their app internally to gain a sense of control over the project. It’s understandable. There’s a lack of transparency in the industry and no shortage of horror stories about companies paying top dollar for fake code. We’ve seen it first hand when we’ve been brought in as a third party to audit another agency’s work. And we’ve had to have tough conversations with those clients about what they’ve paid for and the need to restart their projects. Unfortunately, that sense of control you gain by doing things in-house is just an illusion. As we’ve already discussed, it’s nearly impossible to put together a big enough team with the right skills to complete a complex project at a company that doesn’t specialize in tech. This leaves the few team members put on the project overwhelmed and often overworked. And desperate, under-resourced teams can lie about the code they’re producing as easily as a shady agency. Stressed team members are also more likely to leave, putting the project in jeopardy. Even if people are treated perfectly, they can still leave for other opportunities at any time. There is no such thing as complete control. You just end up paying more for a false sense of security. The good news is that it isn’t that hard to find a development agency you can trust. It comes down to asking the right questions early in the process. For example:- What is your development process like?
- What services do you offer and what are your limitations?
- What is your specialty?
- What could cause the price to change midway through the project? How will this be communicated?