The pros and cons of doing development in-house, hiring contractors, and outsourcing.
There will come a point for many companies, where their in-house software development team will struggle to keep up with the demands of a large project. There are several ways to deal with this situation when it arises:
– Hire extra employees to join the development team in-house
– Hire contractors for a set time period to join the team
– Outsource with an external software development company
Cost-wise, outsourcing can appear to be the most expensive, so many companies will opt for recruitment and contracting as a knee-jerk reaction to their requirements.
However, we’ve found that when you compare these three options in other areas, as laid out below, many signs point to the first two options being a false economy…
Evidently, when you compare the hourly and daily costs of paying an employee’s salary, against the cost of a contractor or outsourcing company, the employee is going to cost less, and so if you’re looking to keep to a low budget, this might seem like the obvious option to go for.
However, we believe this is a false economy. When you take a look at the other elements discussed below, you’ll see that there are hidden costs associated with this option, which when compared together, makes it a much less obvious decision.
For an employee, you will need to provide the office space and equipment in order for them to work, and this may be the same or similar for a contractor too. It may include expensive laptops, software and tools, but these items and facilities would already be included in the cost of your outsourcing company.
Your in-house teams can be hard to manage when there are peaks and troughs in workflow. For example, there may be a gap of several weeks where one of your teams has no project to work on because of work pipelining problems, and this can be a cost to your business. Outsourcing companies are able to upscale and downscale their teams to your needs.
For employees that you hire, each one will require a certain amount of HR administration each month, and will need a manager to oversee their work. For smaller businesses, this can be a big cost, and this would all be included within the outsourcing contract and cost.
Sick & Holiday Cost + Downtime
If you hire an employee, and they are off sick or on holiday, you will need to find cover for that person, which can be difficult and expensive. Similarly with a contractor, if they are ill they usually would not provide cover in their cost, and so it would be up to you to find this. Particularly with sick cover, this can be very hard to find in a short period of time.
The other risk is that this will result in project downtime, which can mean putting a whole project behind and being late to market, which in itself is incredibly costly.
Meanwhile, outsourcing companies will provide cover for you at short notice if a member of your outsourced team is away, and it is usually included in the cost.
Providing regular training for employees is costly to maintain, and regrettably, is usually something that falls to the bottom of the to-do list. Equally, contractors and many outsourcers, who are trying to achieve high levels of utilisation, often tend to not give this the priority it deserves. Even if this is provided, it is difficult to ensure it is up to date due to the industry moving so fast.
At Bluefruit, we are obsessive about training, and ‘continuous learning’ is built in to our business strategy. Our Developers receive weekly training, while our Software Testers have 30% of their time dedicated to learning, whether that be on their own or attendance of weekly training sessions held by internal senior Developers. We also encourage our employees to attend relevant industry conferences and events, and we host international industry experts several times a year to come in and train our teams in the most cutting edge processes and technologies.
Managing teams effectively when pipelining workflow and projects can be difficult, as mentioned above, but there is something else that people often fail to consider.
Upscaling your teams to meet demand is not that simple. The recruitment process is costly (particularly in Software Development, where there is a large skills gap, recruitment can cost upwards of £5,000 per employee), risky, and can take months without the right processes in place. Plus, once you’ve hired the right people, you then have to get them up to speed with your teams’ processes and technologies.
Good outsourcing companies remove all these issues, because they should have processes in place to scale their own teams quickly and effectively for your company’s needs.
For example, we have our Bluefruit Academy; a wing of our business dedicated to school and university outreach and training. This involves putting on free quarterly courses for young people and programming enthusiasts, which is costly and requires our own resources. All this is included in the outsourcing cost.
Testers + Code Reviews + Tried & Tested Agile Methods
The cost of poor quality code is often underestimated, and while many may think of their software as being an asset, if it is poor quality it is more likely to be a liability. The keys to success are rigorous quality processes, testing and code reviews.
However, in the worst case scenario, testing is not undertaken at all by in-house teams, or (almost as bad), developers or contractors test their own work.
At Bluefruit, we have a team of full-time, dedicated in-house Software Testers that work alongside developers to give rapid feedback, and their time is included in our cost.
Code reviews and other Agile methodologies are a large part of what our teams do every day. Our company has been using these processes for the past 5 years, and we’ve found our flexible, feedback-focussed approach (in comparison to the traditional Waterfall approach to development) increases the success rate of projects substantially due to the huge reduction of waste.
Overall, we believe these processes are key to achieving the ‘high quality’ software we strive to deliver, and it is rare to find embedded development outsourcing companies that prioritise quality in this way.
From the table and explanations above, we hope that you now have a deeper understanding of all the costs and elements associated with each option.
Our assessment is indicative of a typical scenario, and we appreciate that for you these may have different weightings and priorities. However, we believe they are all worth taking into account when analysing which choice to make!