How to contract an offshore development company for your software startup?

in development •  7 years ago  (edited)

So you are a person or startup who wants to get your software developed cheaply by an offshore company since funds are short and time to market is important? Will you really save good money? Or is it likely to fail already? How will you make sure it won't fail? 

It basically all comes to the contract and its details. Let me show you my approach, and I would be happy to read your comments.

After I got many software & design projects done by offshore developers and agencies from India, Ukraine, Belarus, Pakistan and Brasil & Argentina, I wanted to put together my findings on how to contract them. 

Step 1: Compare with local prices

I lived in Germany and hourly rates for freelance developers are somewhere between 50Euros - 150Euros per hours, depending on experience and the needed skills/technology. So companies or digital agencies are looking for companies to get a job done cheaper than local developers. For instance, in most other countries like India, Pakistan, and most Eastern Europe countries, the hourly rate is somewhere between 20-35 Euros for a developer. So you think it is cheaper than in your country? So let's jump to find a company then.


Step 2: Find offshore software development companies 

Secondly, you need to find companies that can help you create your application. You have several options to get in touch with companies abroad:

  • Check Facebook groups like "Jobs for Developers / Designers" or "Freelance Jobs" or "Digital Nomad Jobs"
  • Google for "offshore software development" or "software company [FILL_COUNTRYNAME]" and go through the results
  • Ask colleagues/friends if they have a personal recommendation by posting on your business network like linkedin.com or similar 
  • Ask in Facebook groups for "digital nomads" or in "entrepreneur" or "Startup" groups, since there are always people who work with freelancers a lot and will have some recommendation


Step 3: First contact

Once you have their name and website, go check it out. After you checked if they are able to do what you are looking for (let's assume you want a mobile app), check their website for references, or even get in touch and ask them for references. You should check on the following things:

  • State of the art of their company website 
  • State of the art of their references - check them precisely (if they have something that you can install from the AppStore)
  • Hourly rate of development, or range, in $ or Euro. 
  • Have a call with them (CEO or Business Development) and get a feeling of their attitude - at this point you don't need to tell any further details of your project yet
  • Ask for references which are similar to your project, if available (that would also be a plus!)
  • Ask for a contact person of 2 or 3 of their current or former clients (USA or Europe companies - call them, talk to them about how the project went, if there were any known issues etc. ... try to get a feeling about their professional level.

This is an important step. If you don't have the technical (or design) knowledge to evaluate their references and the way they work, ask someone in your network to help you.  Ideally, your CTO should do this :) You do this with 5 - 7 companies. 

The result should be 3 - 5 or more companies that are capable to do the job. I personally like to have a call with their project manager / single point of contact to see his/her English skills, since that is the person you have to work with! 


Step 4: Send an NDA

A so called Non-Disclosure-Agreement is what mostly gets signed before any business or product related information is transferred to another agency. You can download templates online and adjust them to your needs. After this document is signed by both parties, you can continue.


Step 5: Get a quote

For enable this company to prepare a precise quote, you need to describe your project and your requirements as completely as possible. What you should definitely have ready:

  1. Wireframe / Layout file that visualizes your product: You can fastly create nice wireframes with Sketch for macOS, for instance.
  2. Briefing: I always send a document that lists all features of the product in DETAIL.
  3. Deliveries: Assets and information which you provide them
  4. Technical requirements: List down on which devices your software has to run, on which operating system version, which screen resolutions, etc.
  5. Agreements: address general topics like ownership of source code, when is the application seen as approved by your side, what are the deliverables (like APK file for mobile app, or PSD for design work)
  6. Exclusion criteria: What are the responsibilities of the agency and what not - for instance, they can not be held responsible for issues that come up on OS updates after release of the app, etc.
  7. Timing: tell them your deadline if you have one (surely you have one!). Remember: 100 man days can not be done in one week. Developers are no magicians ;)


Step 6: Compare quotes

Put all offers you received against each other and chose the company you want to work with by using your finding on the language and interpersonal skill level and level of professionalism  until this point. Listen to your guts - to some extent. The cheapest offer is not always the best. 

Hint: Mostly, I can roughly say if that application needs 20h, 100h, or 300h of work. If you can not tell at all: get an IT consultant or developer in your network to let him/her estimate your project and get some advice on which technology is suitable. That greatly helps no to be screwed over! And you can put it against the other offers. If you decide to get that help (which I very much recommend), do it as early as you have all requirements and your concept ready!


Step 7: Create a contract

Now that you got the offer from them, put it against your IT consultants estimate and check, which of the companies are close to that. In terms of hours, it should match. If not, they either:

  • try to squeeze you like a lemon
  • or they are using a different technology for development than your IT consultant advised (let them explain why!)
  • or they did not understand the project at all 
  • or they put a lot of buffer time because they did not put enough time into the estimation
  • or they don't want to do the job (happens sometimes, so they put the price way too high)

From my experience, a good offer recaps your requirements by using their own words and gives you a separated calculation, not just a total number (unless you just asked for a ballpark estimate). 

Check if it has:

  1. Final price
  2. Starting date
  3. Defined deliveries

Hint: I can not stretch this enough: define contractual penalties, review conditions and payment conditions

  1. Penalties: if the final (and tested) product is not delivered by day X, you will deduct 10% of the agreed final price. For every following day of delay, 1% will be deducted until -30% has been reached.
  2. Review conditions: If they don't define from their side (which they should, but it is not very common, to be honest), agree on a regular quality check. For a mobile app, I'd suggest receiving an updated version every end of the week (or two) with a short description of what has changed during the week.
  3. Payment conditions: I think it is fair that you split the payment. For instance, I like 35% upfront on the signature of the contract, another 40% on delivery of a fully tested and working beta (which you and your team will put under heavy final testing). The remaining 25% is paid upon go live / upload to AppStore etc.


Step 8: Let them do their work

During the production time, you need to agree with them upfront on a regular check on their progress. Let them suggest something that feels right for you. Trust, but verify!

Remember - in software development, there can also be progress that you can not "see". For instance, you can develop a mobile app's structure without having built the UI/views. But make sure they will give you a proper timing / project plan. 

Side note:

I recently had a mobile app estimated by 6 entities. 2 of them were in Germany. The rest was India, China, Brazil and Argentina. I had the project estimated upfront by a developer who I paid for helping me with that. Except for the german developer, all others were around 3-5 times higher in terms of development hours - even though their price was around 22Euros / hours, the german developer was still a lot cheaper. Plus no language barrier, I did the job with the German developer.

Good luck with your projects and your business!

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @oliverklein! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You made your First Comment

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!