How to outsource MVP development

June 4, 2020 — 15 min read
So, you have great startup idea. You've pinpointed the problem, analyzed performance, and even, to some extent, seen your hypotheses corroborated. The only thing left is to put an MVP together. But not every entrepreneur has a technical team on hand, and not every company has sufficient resources in-house to build an MVP. When this is the case, the quickest and most inexpensive solution is to find a contractor who will do it all for you. Outsourcing offers the toolkit to build a business that works.

When outsourcing is a good idea

Your staff have more important tasks to attend to.

According to Statista estimates, 35% of companies outsource their IT services in order to free up resources and focus on their core business. Let's say your team is working on a large-scale project – building your own restaurant delivery service. Halfway through the project, someone comes up with an idea – how about throwing recipes in with the food? At this point, the thing to do would be to develop an MVP and put your hypothesis to the test. But your team members are under a lot of pressure as it is. Fortunately, there is always an outside contractor within reach to help you out.

Not enough knowledge, and no time or way to cultivate expertise in-house to get the job done.

One of the benefits of outsourcing is that you don't have to invest time, energy, or money searching for a viable team. You pay the specialists strictly for the hours they work, without actually hiring them. For example, it hardly makes sense to build an in-house IT team for a one-off task. It costs, and it takes too much time. And what are you going to do with the team when their job is completed? It costs to dismiss employees, too. Your best bet is to bring in outside experts for the duration of the project and pay them only for the hours they put in.
One of the benefits of outsourcing is that you don't have to invest time, energy, or money searching for a viable team.
Here is another example. The task that confronts you is largely beyond your expertise. Let's say your company is an excellent online store developer. You wish to offer your customers an algorithm that will recommend products based on what other people with the same Zodiac sign and similar consumer behavior buy. But recommendation algorithms are not your team's forte. The ideal solution? Outsource the job to people who know artificial intelligence and machine learning.

An assessment shows that the cost of internal implementation would be too high.

It does not always make sense for a company to handle all its business tasks on its own. The Harvard Business Review explained as far back as 2010 how outsourcing frequently allows companies to slash their administrative expenses while improving process performance, resulting in aggregate savings up to 30%.

Why outsource your MVP?

You get a cross-functional team.

A company dedicated to creating products for use by others already has a team of developers, designers, and managers in place. You do not have to seek and recruit every team member individually. But even if you get a hold of the right people quickly, that alone will not make them a team capable of smooth teamwork – they will need time to adapt and get accustomed to each other.
When you outsource, however, you get a ready-made team of people who have worked together for a while. And if you decide that after all you do need an in-house IT team, you will be in a position to recruit your team while working on your MVP if you let an outsource contractor help you quickly locate your future team members. We have provided this kind of service more than once before.

Start now and save going forward.

It is more likely than not that you will have your MVP ready sooner than you would be able to get a professional team together. It takes an average of 51–56 days to find the right IT professional, and 3 to 4 months to develop an MVP. When you add this up and allow some lead time for adaptation, process streamlining, and interpersonal "settling in", expect the development to take six months or longer.
But let's say your in-house team is in place, and it has given you a product. How are you going to keep your developers busy while you canvass market feedback? What happens if your project never takes off? And all the while, you would have to manage your team instead of devoting more attention to business development. It makes sense to hire an in-house team if you have a plan to keep the team members busy every day, taking the product forward.

Learn from the contractor's expertise.

When the people you choose to outsource to have prior experience developing MVPs, they will help you steer clear of the majority of rookie mistakes. The contractor possesses sufficient expertise to help you get a better product sooner. Knowledge transfer is the soul of outsourcing. If everything goes smoothly and you end up with a team of experienced professionals, you will be in a position to standardize, optimize, and even automate your internal processes.
Knowledge transfer is the soul of outsourcing.
Knowledge transfer is not only about the transfer of technological information. To the extent that it needs to be known within the project context, information on business processes, organizational structure, and other aspects will also change hands. Eventually you obtain more than just a finished product – you get systematic knowledge on how to work with and manage the product.

Two ways to outsource

FFW (Fixed Scope + Fixed Price + Waterfall)

Generally speaking, there are two options for doing business with a contractor. In the first scenario, you have a well-defined budget and your system design covers every detail, keeping your role limited to quality and deadline compliance control. The sequence in this case is FFW (Fixed Scope + Fixed Price + Waterfall).
Who wouldn't like a mutually agreed fixed budget from the outset? But the truth is, when all the conceivable risks are factored in, preplanned budget could turn out, in the end, to be costlier than a more flexible approach. The chief downside of preplanning is that your contractor remains a "black box" to you: you would be communicating through a manager, and you would not be able to quickly correct the trajectory at any time, even if it has become clear that it is the incorrect one.
The chief downside of preplanning is that your contractor remains a "black box" to you.
In an FFW scenario, you need a maximally detailed software requirements specification. But designing a system is a complicated area of expertise, and a person with no prior experience won't be able to manage. If you don't have a systems analyst on staff, it is probably a better idea to outsource your detail design. Make sure you outsource to someone with excellent command of IT and business logic, so that the output is a document that tells the developers what to do in a clear and concise manner. In top studios this work is part of UX.
For example, if you wish to make changes to the product after the requirements specification has been agreed upon, it is not enough to simply evaluate the additional scope of work and sign the paperwork for it to go ahead; you need to assess how the changes will affect the work that has been done and is yet to be done, tally up the cost of the new additions, and execute the appropriate documentation. This takes considerable time. Any changes would affect the cost, so everything would have to be recalculated and renegotiated.
+
System designed in minute detail;
+
Budget clear before development begins;
+
You control only quality and deadline compliance;
+
Easy acceptance of deliverables;
System has to be designed in minute detail;
Any change = revision of project cost and updates to documentation;
Anything that is not covered remains a mystery to you until the end of the project;
Contractor = a black box;

FTA (Flexible Scope + Time & Materials + Agile)

Your other option is full involvement and "Agile". You control the budget, you are on the development team, and you are part of every process. But this approach too has its downside. Stringent self-discipline is a must, and the quest for perfection, for the "ideal product", can go on forever, since you have direct access to the team. In return, however, you are rewarded with an open, transparent relationship with the contractor. We call this approach FTA (Flexible Scope + Time & Materials + Agile).
It is the most flexible approach to development: no one is afraid to ask questions, and no one is afraid of new tasks or making changes to the product. Everything is discussed first – what needs to be done and how – and only after that is an approximate budget calculated for every aspect. Things that are not fully clear are accorded a flexible budget. If a certain solution turns out to be too expensive, it can simply be abandoned. Priorities can change freely during the course of the project. The team also welcomes changes, as they allow it to react to market fluctuations and expand the product's potential.
The main advantage of the approach is that you don't have to wait for the end of a project to see the results of the work, and, if necessary, any adjustments can be made.
As the customer, you become a member of the team: you participate in meetings, discuss changes and ideas, identify and shape the tasks for the week, track the progress, and rearrange priorities. In doing this, you'll be developing exactly whatever your business needs most, and not what was in the initial budget estimate. The main advantage of the approach is that you don't have to wait for the end of a project to see the results of the work, and, if necessary, any adjustments can be made.
Flexibility in budget development helps maintain a balance between value to the business and cost. You will also have to keep an eye on the budget to avoid cost overruns while constantly adding cool features. So you need the expertise to help you make a decision as to what is important to the business and what you can do without.
+
Maximum flexibility;
+
Open communication;
+
The customer is on the team;
+
All functional problems immediately obvious;
+
Easy access to project status updates;
+
You control the budget
Technical debt;
Quest for perfection can be interminable
Maximum self-discipline a must;
You control the budget;


When you outsource, you get more than just your product developed – you get a standby advisor with experience and expertise. So when you search for a developer, remember that you are looking for a potential partner.

How to find a contractor

A freelancer on Upwork is not a great idea for sure unless they run a team of developers, designers, and QA specialists. With competition now so heated between IT products, gone is the time when an MVP could look shabby. These days an MVP has to be top-notch and done fast – definitely not a one-man job. Look for a team with loads of experience.
Of the thousands of companies you find in rankings, on Facebook or LinkedIn, or through recommendations from friends or colleagues, pick one whose processes are extremely well structured. How can you tell?
  1. Request a detailed workflow chart from the company. Every process should be sufficiently transparent. It would be best if you get a sense of the cycle that leads from task-setting to production.
  2. There should be a centralized project management tool in place. This means that there is a single designated place where the team meets to communicate on the project, discuss and assign jobs, and control the metrics, while the customer has access to a full status update at any time.
    • Transparent communications. Communication should occur on platforms that allow for speedy access to correspondence history, easy calls, and rapid exchange of valuable artifacts, such as Slack, Teams, or others like them.
    • There should be a project knowledge base in place. All project documentation, troubleshooting records, key agreements, project takeaways, and new project and process knowledge, along with all other information, should be organized and stored at a single location. It will make knowledge transfer a lot easier going forward.
    • There should be a repository and file management system in place to ensure that all project artifacts are accessible to project participants.
It is crucial to be able to keep all knowledge and outputs for your own use post-development. Make sure you find out what technology your contractor uses so you can purchase and deploy it later. Or you can hook your contractor up to your system. In this case, the contractor will be doing everything on your turf right away. The easiest way would be to replicate the contractor's infrastructure, deploy it in your organization, and invite the contractor to work in this environment.

Helpful tips for outsourcing your MVP

Go with FFW when your project is small-scale and speed is not crucial.

The rule of thumb here is to precisely identify the result you want to achieve in the end and make sure that changes are kept to a minimum (or, preferably, not made at all). However, even the most specific requirements and specifications are unable to cover every detail or foresee every problem that may occur. Remember Hofstadter's Law: "It always takes longer than you expect, even when you take into account Hofstadter's law". With FFW, the work is liable to take quite a long time, but you will have the advantage of a fixed budget, laid out in detail from the start.

In all other cases, go with FTA.

This is the most flexible and convenient approach for products with a high level of ambiguity. If you absolutely and without fail have to have a fixed budget, you can agree on a cost with the contractor, but you can also keep changing the product in any way you like. The point is that for X amount of money, within Y number of months, you get an MVP whose functionality was shaped in the course of work on the project, based on your priorities. You work together with the contractor team to design the product, build the roadmap, and deliver the functionality.

If your project is long-term, consider maximum integration with the contractor; if not, it isn't worth your while.

Assign your tasks at a designated location and hold meetings together. You are part of the product, so never distance yourself from the development effort. The contractor will not be able to meet your expectations without your active personal participation. You are the one with the business vision; only you know how it will pay off.

If you plan to take your project forward on the MVP's code base, hire a CTO right away.

Alternatively, you may want to leave maintenance and ongoing development to your contractor. Do the math to figure out which makes more financial sense.

Keep a record (Google documents, etc.) of knowledge acquired from the contractor.

Every time you learn something new from communicating with your contractor in a meeting, write it down. Every time there is some technology or some part of the project, you don't get, seek clarification and write it down. Every time there is a problem, and a solution is found, write it down. If you see your contractor using some unusual trick in testing the task, make a note. You are in this not just to get a ready-to-launch MVP, but to build up a knowledge base for future reference.
Written by:
Ed Khristus — Founder, Head of Production at Func.