The Guide Content
Chapter 1 What is software outsourcing and why it’s now not only about the price
Chapter 2 How to choose the country and outsourcing partner
Chapter 3 Let’s start a new project: the set-up process
Chapter 4 Step 1. Business analysis and design are key
Chapter 5 Step 2. Software development: quality is a must
Chapter 6 Step 3. Testing and support for the result
Chapter 7 FAQ about outsourcing software development
Now you have a clear vision of what outsourcing is and understand the main outsourcing types, it is time to take the next step – choosing the right country.
Once you shortlist three to five vendors, evaluate them:
- Pay attention to whether the company has implemented similar projects to yours, look at what technologies the service provider owns, familiarize yourself with the projects already implemented, and evaluate the company’s achievements in terms of quality and quantity.
- Ask for references and talk to customers of your potential software partner.
- Consider preparing a technical task for the company to which you want to outsource your software development. Be sure to include the entire scope of work with a description of the specific result that you need, and the timing.
- A high level of responsiveness when answering questions is greatly valued in the IT business world. The IT professional must quickly provide the requested information and notify the client that their question has been accepted for consideration and they will receive the required information on time.
- The company’s host country should also be considered. A country’s economic and political situation can become obstacles to smooth cooperation.
- Take into consideration the availability of English-speaking programmers for easier process integration.
- Make sure that your partner is in the appropriate time zone and that their business hours match yours.
Choose an engagement model
An engagement model is a framework that defines collaboration between a customer and an outsourcing partner. It determines the levels of control, responsibility and flexibility.
Depending on overall requirements, estimated budget and time frame, there are three types of contracts: Time & Material, Dedicated Development Team (DDT) and Fixed Price.
Time & Material model
In this case the outsourcing team evaluates the technical requirements, as there might be no detailed specification in the first place. Later on, the scope of work may undergo changes. The cost of software development is based on direct labor hours at a pre-discussed hourly rate.
Advantages: flexibility; hourly rates; work is divided into sprints, so that the customer will always be notified about the progress; product quality is assured thanks to multiple iterations.
Dedicated Development Team
This model is mostly chosen by companies with an urgent need to complete a specific task. The outsourcing partner provides a development team that focuses only on the outsourced project. The customer is in charge of product development. This working framework reduces additional expenses of hiring extra staff or investing in other resources.
Advantages: no need to set clear specifications, as requirements can be added during the process; agile approach makes it possible to adjust conditions; dedicated team of highly qualified developers under one roof; weekly/monthly reports.
Fixed Price model
The cost to build an app is fixed and discussed before the fulfillment of the project. Project requirements define the scope of work. Wireframes are created to help the development team figure out the hours necessary to implement all features. Usually used in small projects, tenders or governmental projects.
Advantages: fixed pricing; no additional management as all the details are written in the contract; strict time frame; easy to monitor and predict when the project will be completed.
We advocate the Time & Material model over the Fixed Price model for a few reasons:
- It is easier to adjust to the project’s requirements and keep up with constantly changing business needs.
- The Time & Material model is faster, as it allows the outsourcing partner to move at an accelerated pace while working on details along the way.
- The client pays only for actual work completed while saving time on the project.
- Time & Material is less risky, as it is possible to track the development progress at any point.