Glossary for software development outsourcing

I believe our series of posts “How to find the right software development company” will help you find the right partner.

So far, we’ve covered different aspects of the process, shared useful tips and warned of the most common pitfalls.

Then I realized that if you don’t have previous experience with software development outsourcing some of the advice might sound more like a foreign language. So here are most commonly used keywords, acronyms, and terms related to software development outsourcing.

This glossary is going to be your go-to resource for understanding industry jargon. Keep it handy when looking for more information about IT outsourcing.


Outsourcing, Nearshoring, Offshoring differences


Outsourcing – is a business practice when companies contracts out specific projects, tasks or processes to other companies (vendors). The people performing the work are employees of the vendor and have no direct engagement with the hiring company.

Outsourcing includes both foreign and domestic contracting, and also may include offshoring and nearshoring. These terms are often confused when speaking of software development outsourcing.

Technically offshoring and nearshoring refers to resource’s location base: distant country or country nearby. But offshoring and nearshoring doen’t always means outsourcing. Developers may be hired as direct employees by the company, but work from overseas locations, is offshoring, not outsourcing. So it’s more correct to say offshore software outsourcing and nearshore software outsourcing.


Offshore software outsourcing: using a vendor across the world. Example: US offshoring to Russia, China, India, etc.


Nearshore software outsourcing: using a vendor in a country bordering your own of close by. Example: US nearshoring to Canada, Mexico, or Latin America.

Engagement models for software development outsourcing

Engagement model is a framework that defines collaboration between the company and outsourcing partner. The model determines the level of responsibility and control for each company. There are several engagement models, each of them suited to specific business needs.

Staff augmentation (dedicated developers)

When you use the tech talent pool of your vendor to work on your project. Although engineers are full-time employee of your vendor, they are dedicated to your company. Usually in this model staff and workflow are managed by the company’s in-house team lead. It’s a great way to boost your team for specific tasks or fill special talent gaps without going through a long hiring process.

Dedicated team

A team that works only on your project and is managed by the vendor’s project manager. You control workflow, but organization and management of daily tasks and people are the responsibility of the vendor project manager.

Dedicated Development Center (DDC)

This option is used for large, long-term projects. It includes not only the professionals who work on your projects, but also all needed resources: hardware, office space, furniture, etc.

Managed software project

When you provide the final project specifications and the vendor provides the needed specialists and resources to finish the project by a specific deadline.

Business solution development (custom software development)

When you have some business needs and are looking for professionals to create an end-to-end business solution. This means the software development firm analyzes your needs and industry processes, creates the specifications and technical requirements, and builds a custom software product to bring it to reality.

Engagement and pricing models are often confused. What you need to know is that “engagement model” refers to the relationship framework and assigned responsibilities, while pricing model refers to how you will be charged for the service and pay for it.

Pricing models

Fixed price.

As the the name indicates, the scope, budget, and schedule are pre-defined and the price is set. This model works better for short-term projects where goals, working procedures, and results are clear-cut.

Time & materials (T&M)

Time & materials is the most flexible pricing model. You are billed hourly for the specialists, resources and efforts used for your project. T&M allows you to change requirements, functionality, and scope during the project. It works best for medium and large projects, or very innovative projects where industry environments change quickly requiring flexibility to make ongoing adjustments to your project.    

Dedicated staff pricing

When speaking of pricing models, “dedicated staff” means you hire team or some specialist that work exclusively for you. You are billed for the service monthly no matter how many tasks you give your staff to finish (non-productive hours are also charged). It’s a type of fixed price model, but price is set not for project, but for for the developers dedicated to you. This model is a good approach for large, long-term projects.

Communication with your vendor


An abbreviation for request for proposal. A very important document during the process of choosing the right vendor. RFP is a detailed description of all features, requirements and specifications related to your project. The more detailed and accurate your RFP, the more accurate the cost estimate from your vendor and the better your decision. Read more{link to the post}. RFP is a very detailed document, so many companies prefer to send it after signing an NDA, so for first contact you may prefer to send a letter of intent(LoI)

Letter of Intent (LoI)

This is usually the first contact with a potential vendor. You briefly describe the size and complexity of your project to learn if the vendor has the skill set to build your product in time to meet your project’s deadline.


Non-disclosure agreement is an agreement between the vendor and a client to protect the intellectual property of the client. A mutual NDA protects the IP of both customer and vendor.


Non-compete agreement is an agreement that prevents the vendor from revealing your ideas/innovations to competitors, to work on similar projects with a potential competitor, or to develop your idea in-house for a set period of time.

If you have terms you think should be added to the glossary, please send them to me.

Leave a Reply

Your email address will not be published. Required fields are marked *