Time is also key factor: Do you need this app launched with full functionality within a few weeks, or can you afford to give it more time, launch with a small set of features, and then iterate? If you need the whole thing working at launch time and don't have months to spare, outsourcing is likely again the best option. But bear in mind that even outsourcing development can take longer than many people expect. Development timelines are one of the most contentious issues between dev consultants and their clients, and business people are often shocked to discover that what they thought would be a quick, simple process is bound to take several weeks longer and many thousands of dollars more in development costs than they expected.
The pros and cons of outsourcing development
Handing your dev work over to an outside contractor can seem like a no-brainer for a business with substantial resource constraints. And in truth, there are plenty of benefits to relying on outside talent. But there are also some downsides to entrusting important dev work to outsiders. Here's a quick list of pros and cons.
The biggest benefit you'll get from an outside dev contractor is peace of mind. Assuming you vet your contractor thoroughly beforehand and scrutinize their references and examples of past work, you can enjoy some assurance that you're dealing with someone with a proven track record of shipping high quality apps in a timely fashion. Experienced dev consultants can counsel you to avoid potential pitfalls, narrow the scope of your app's functionality in ways that will benefit your users (the importance of this cannot be overestimated), and plot a development strategy to build the best possible app for your needs.
Experienced developers will also save you a lot of time on the front end. Not only will they most likely already have the required technical knowledge to build your app, but they'll probably also have already built something similar. So you can get often get your app up and running within several weeks rather than several months.
At the same time, these benefits often come with some potentially frustrating complications. Experienced developers are in high demand everywhere, and they command high consulting fees. Those fees don't stop once the app ships, either, since bug fixes and security updates will require additional work on an ongoing basis. There's no such thing as a totally finished, bug-free app. Budget accordingly, and hope your contractor sticks around to help with the maintenance.
Communicating with outside development teams can be surprisingly challenging for many in the business world. Business people often underestimate the complexity that goes into coding even a relatively simple app, and software developers often lack important insight into a client's business structure, team dynamics, and objectives. Miscommunication with an outside dev team can cost you time and money, so be sure to appoint a talented project manager from within your organization to ensure smooth communication with the developer.
Be especially vigilant to resist what developers call "scope creep." This potentially project-wrecking phenomenon occurs when clients fail to express important feature requests early in the process, assume that a common or popular feature will be included even though it hasn't been explicitly discussed, or decide they want to add new functionality after development has begun. Adding new features changes the scope of the project, and that typically translates to more money and time. Because of this, misunderstandings over project scope can damage relationships between clients and developers in ways that ultimately undermine the quality of the final product.