Mobile App Development: In-house vs. Consulting Firm vs. Freelancer

No icon

Partner Post - The BHM Group Mobile Apps & Web Development

Posted: March 18, 2016


Paul Francis is a partner at The BHW Group (a web and mobile app development company based in Austin, TX). There he works with clients throughout the app design, development, deployment, and marketing processes. He writes frequently about the technical and business sides of mobile app development. If you are looking for some help on your next mobile app, feel free to reach out!


Most companies are realizing that they need a mobile app to compete in today’s increasingly mobile-first marketplace. Much like how companies without websites had to get with the times or face extinction 20 years ago, many companies today are playing catch up with their already mobile competitors. The truth is that building a mobile app can be an intimidating, confusing, and expensive process. There are so many approaches one could take and before a single line of code is written, dozens of questions must be asked, considered, and answered. One of the most crucial questions a company should ask is, “who is going to build this mobile app”?

There are three primary answers to this question: Those being, doing the development in-house, through a consulting firm, or with a freelance developer. The hope is that by answering this initial question, you will have found someone or a group of someones who can assist in answering your remaining questions.

Enterprise vs. Consumer

Screen Shot 2016-03-16 at 3.25.17 PM

Source: VisionMobile


Using an in-house developer is in many ways the traditional approach. In this scenario, the mobile developer or developers work directly for your company.


  • Greater Trust in Their Motivations – Both freelance and consultant developers have some motivation of selecting more expensive approaches. Internal developers can be freed from this motivation.
  • Longer-term Perspective – In-house developers will be responsible for the code they write for years to come. They have a self-serving motivation to consider the long term ramifications of their decisions.
  • Benefit from Experience – Developers should be getting better and more knowledgeable overtime. Seasoned developers are extremely valuable and when they work for you directly, you can benefit greatly.
  • Priority Alignment – When a project’s developers work directly for you, you can refocus them as needed. Developers can help solve many problems, so having them in-house can help with more than your mobile app.


  • Hiring and Training – If you don’t have existing developers this can be extremely difficult and risky.
  • Non-salary expenses (insurance, 401k, etc.) – Depending on your size and the stage of your business, this might be a concern.
  • Least Flexible – Hiring a developer full-time means you need to find ~40 hours of weekly work for them. For internal developers, you basically have to grow in 40-hour increments.
  • Can be Pulled Away from Project – The final item from the advantages can also be a negative. If your developers keep getting pulled away with day-to-day tasks, it can put a project well behind schedule.

Software Engineers Time Spent, by Category

Source: readwrite


Companies that choose not to develop mobile apps themselves often hire a mobile app development company to build it for them. This can be done on a fixed-cost or hourly basis.


  • Likely More Experienced (As a Company) – Most mobile app development companies launch dozens of apps each year. You can rely on this wealth of experience when building your app. For example, the company I work for has launched hundreds of apps, whereas most non-development companies will launch a handful at most.
  • Flexible Team Size – It is not uncommon to have a consulting company devote a flexible team to a mobile app project. This can allow for an optimized team size based on the current needs of the project.
  • More Diverse Skill Set in Developers – If it turns out your project needs an expert for a certain feature, it is much more likely that a consulting company has a capable developer than you do internally.
  • Fresh Perspective – You and your team know your business inside and out. Your internal developers know your code inside and out. But, it can often be hugely beneficial to bring in a fresh set of eyes when beginning a new project.


  • Other Clients – Flexible team sizes can also be a disadvantage if the consulting company needs to devote resources to a larger client.
  • Can be More Expensive – If you know you will need full-time developers for an extended period of time, it might be more cost effective to do the work in-house.
  • Might not be as Invested in the App’s Success – Consultants definitely want to build a great app, but their loyalty lies with their company first. In-house developers are motivated by company success through things like bonuses and equity.
  • Different Styles – Consulting companies might have a different management or project style that could make working with them difficult. Even if they adapt to your style, they might not be accustomed to it.


Sometimes hiring your own developer or working with a consulting company is not the right approach. If that is the case, another option is working with a freelance developer.


  • Likely the Cheapest – There are tons of freelance developers who work hard to underbid each other for projects. Take a look at sites like to see just how many freelance developers there are. That large supply can definitely help reduce costs.
  • Great Fit for Smaller Projects – Consulting companies often have minimum project sizes, but freelance developers are often willing to take on smaller projects.
  • Available Immediately – Hiring in-house developers can take time and consulting companies often have built in delays before a project can begin. It is very likely that you can find a freelance developer who can start immediately.


  • Single Point of Failure – When the project is over, it is possible that the freelance developer is the only one who knows how things work. If that developer takes a job elsewhere or is too busy when something goes wrong, you could be in serious trouble.
  • Lack of a Team – If an internal developer or one from a consulting company makes a mistake, another developer can step in as needed. With freelance developers, this option is more difficult.
  • Often lower Quality – Any approach has some risk of being executed poorly, but freelance developers are often newer to the field or trying to build their portfolio before getting a full-time job. Others might be excellent developers who like the flexibility of being freelance, but those are definitely difficult to find.


As with any project, building a mobile app takes planning and thoughtful decision making. One of the most important steps to being successful is knowing what your options are and seriously considering the various approaches. The important thing to remember is that any of these options can work, but each works best in different situations, for different companies, and on different mobile apps.