We assume you already know the benefits of outsourcing software development. You either have your brilliant idea that you would like to develop, you are a startup that would like to build the first MVP or a startup ready to expand, or you need to strengthen your current project development. Maybe you have also looked for these services locally, but you cannot find a match.

In any case you would like to get external help and are wondering what would that mean for your business in terms of cost and quality. To get an in-depth analysis of what drives the price and price influencers when outsourcing you can read our guide to outsource software development.

There are several factors that influence the price when outsourcing your software development as well as two main models of cooperation. The two main models of cooperation are “fixed price” and “time and materials”.

1. Fixed price

With fixed price projects the price is determined up front and the project is specified thoroughly. The scope of the project and the services provided are defined by SLAs. Fixed price projects usually suit well when the scope is well defined and by scope we mean the functional and the non-functional requirements of the project. With a well defined scope an almost ideal estimation can be done and if the price is right for both parties, we can enter into agreement and start developing. The pain point in fixed price projects is the scope definition, there are additional costs to define the scope. Things like requirements engineering, defining functional requirements, non-functional requirements, technical requirements, project deliverables, project boundaries, project constraints, acceptance criteria, change management process and project finalisation. You can read our comprehensive guide on fixed price project costs for more details.

2. Time and materials

This is a flexible billing model where the client is charged based on the actual time spent and resources used for the project. Instead of a fixed price, the client pays for the hours worked by developers, project managers, and other team members, as well as any materials or tools required. This approach is ideal for projects with evolving requirements or unclear scope, as it allows for adjustments along the way without the need for constant renegotiation. It provides transparency and control over the budget, as clients can monitor progress and costs in real-time.

Our clients are not limited to choose only one approach, but these approaches can be combined as needed along our journey of building your solution.

Common for both of these models is what are you willing to outsource, and where you are willing to outsource it in terms of location.

Location wise we are based in North Macedonia and all our developers are locally sourced. Geographically the outsourcing falls into three main categories offshore, nearshore, onshore.

Offshore

Offshoring means that there are significant time-zone differences. We normally discuss this with our clients and we agree upon a certain overlap in operating hours for synchronisation and organisation. Pricing is normally more competitive than nearshore or onshore, and we have bigger cultural differences. It is important to know the location of your software development team and team members in order better plan, manage and communicate. You read more about ways to handle cultural differences in our blog post.

Onshore

Onshoring means that you are sourcing from a local vendor. This means that there is no difference in time zone and there is no cultural differences. This also indicates that the price will not be different to what you could potentially hire in-house. The price will still be slightly less, because you cut on hiring costs, employee benefits, employee retention policies, equipment, licences etc.

Nearshore

Nearshoring is something in between offshore and onshore. The time-zone difference is small, normally up to 3 hrs time difference. The cultural difference exists, but it is not that big as with offshore and the prices are somewhere between onshore and offshore.

In all of the cases mentioned above, both the type of outsourcing and the models of cooperation, they both share the what. What are you willing to outsource. The what falls into three categories:

Team member augmentation (staffing)

This is suitable when you already have existing IT team, and you need to strengthen your team or you need to speed up your delivery. The management of the outsourced members is completely in your hands and you are charged on hourly or daily rates. This model is the most flexible model, where you can scale up and down your team size based on your needs. Our prices for team member staffing vary from 25-55 eur/hr depending on the seniority and the expertise required. For comparison we can have a look at the following example:

Dedicated teams

This is suitable when you would like to manage your project and you require a dedicated team of developers and IT specialists to work just for you. This is similar to have a software development team in-house with the cost benefit of outsourcing. Depending on the needs, the teams can have developers only, or you can add non-development roles as well, such as business analysts, UI/UX experts, product owners etc.

For both of these options we can have a look at the following example in order to compare what it means to outsource your software development:

Price estimatorUSA – pricesWestern Europe – pricesOur price
Team size555
Man hours needed100010001000
Price75€70€35€
Onboarding costsamesamesame
Total cost750007000035000

Project outsourcing

Outsourcing a project comes in handy when you have your idea and you would like to focus on your business, or you have part of you project that your cannot fulfil, or you have a project where you are lacking expertise. With this model you outsource the whole project lifecycle to an external vendor. Things like requirements engineering, project management, development, deployment and monitoring is all done by an external team. For project based outsourcing the project scope needs to be clearly defined and deliverables to be pre-set. Also acceptance criteria for the project is crucial to be defined in order to avoid uncertainties.

This would be in short as to how software development outsourcing works. We have a detailed guide to further explain what drives the price in a software project. It is worth to mention that the development costs are not the only costs when delivering a software product. Some things to consider when either doing it in-house or outsourcing are the “hidden” cost of software development.

Hidden cost of software development

We describe all of these in our ultimate guide to what influences the price of software development, but we find it crucial to mention them here as well.

Project management costs

Whether it is internal or external project management, these costs need to be planned. The project manager handle timelines, resource allocation, communication between stakeholders, and making sure that the project stays on course.

Product owner (optional, but desirable)

Depending on the project size, this role can be fulfilled by the project manager, but most of the time it is desirable to have a person overlooking the product vision and making sure that what the users/clients want is being implemented the way it is desired. You can read more about the difference between project manager and product owner in our blog post.

Building and deploying

Once the code is written by the developers there is a phase of building and deploying your software. This is usually done in an automated way once it is setup, but it needs to be addressed and accounted for.

Infrastructure setup

Where will the application live? Most common scenarios today is either in-house or on-cloud. Both have their pros and cons, but they both have some cost that needs to be calculated in the overall project estimation. Prices for the infrastructure depend highly on the complexity of the project.

Maintenance and monitoring

Once the application is alive and running and people are using it, it needs to be maintained and monitored. By maintenance it is meant bugfixes or improvements that come naturally by the users. By monitoring it is meant that we keep an eye that the software is running properly and in case of errors we can easily find them and resolve them.

I hope you have a better understanding as to what can drive the price of a software development project up or down. The detailed guide can be found on our blog.

We have addressed our average price per hour in the table above.

For project based pricing, we would require some information from you and we can come up with a rough estimate. We would love to discuss your outsourcing idea and what is best that on the first call you meet our CEO and can directly discuss solutions, pricing, opportunities and ways of operation. No need of multiple meetings to see if we are a match. Contact us to schedule a meeting. CTA

Contact Form