Netguru has worked with dozens of clients, ranging from startups to big corporations, for more than 8 years now. One of the key strategic decisions for any organisation thinking about software development is whether to hire full-time employees, freelance contractors or an agency like Netguru. Here are my tips on calculating the cost of each option, and what to look for when discussing pricing with agencies.
Our eight years of experience has taught me a lot, but the most important thing I’ve learned is that projects fail because they wait too long to be completed. I’ve seen product owners and CEOs lose dozens of opportunities because they didn’t take action – they either took too much time to make a decision, or spent too long time waiting for the right talent. I’ve come to realise that the most valuable factor in the process is not money, but time. So all costs and risks should always be multiplied by the number of days they involve. People often forget this while deciding how to acquire their development talent.
Some time ago we shed some light on the number of things you need to know before growing your own in-house development team. We highlighted that you may end up buried under organisational issues and hidden costs, e.g. the underestimated cost of software. A newcomer to the team means introducing new habits and ideas into the process. Creating an in-house team is difficult, and it definitely won't happen overnight. You will need to solve a lot of organizational issues. You will also need to provide office space and equipment, and deal with the different working habits of your freelancers.
In-house dev teams by nature prefer the status quo, and hesitation to make quick changes in the speed and direction of your business constitutes a hidden cost. You have to spend time coaching new members of the team. If you change the technology you use, you’ll have to hire new people, or wait for your team to acquire new skills. If you want to eliminate a technology, you’ll have to make somebody redundant. This will make your development process less flexible. That could derail your entire business, leaving you with no results.
On the other hand, it goes without saying that an in-house dev team will always be committed to the project. You won't have to worry that the people you’re working with will come and go, because a regular contract will guarantee that your relationship will last longer. What's more, the members of an in-house dev team may have a better understanding of the business and the product’s features, especially in terms of relations with other departments. I strongly advise our clients to have their own internal teams working with our experts, to sustain high quality for the project.
Obviously, hiring freelance contractors also has many advantages. First of all, this option is definitely the cheapest, which often is very important for young startups. Secondly, as freelancers have to divide their time into smaller blocks dedicated to various projects, they will definitely focus on speed in delivering your product. What's more, freelancers tend to have good communications skills, which are crucial to acquire new clients and stay on the market.
On the other hand, hiring freelance contractors may pose a risk for your business. Don’t be misled by costs that appear lower than those of an in-house dev team or hiring an agency; you will be forced to manage a group of total strangers, with completely different work habits. As a result, instead of focusing on the outside (acquiring clients, looking for opportunities) you will have to spend your time and energy on the inside (reviewing code, solving conflicts, managing the team).
What’s more, the continuity of your project will also be at risk. Freelancers come and go, and your project is not their only project. Another risk is that a lot of freelance contractors work on the basis of fixed-cost pricing. While this sounds like a good idea at first, it doesn't address the unexpected complications that lie ahead in the development process. As a result, you risk that when your project comes to a dead end because of its complexity, freelance contractors may simply not do their best to solve the problem, as they can consider it too hard for the previously fixed price.
Hiring an agency can solve a lot of the problems mentioned above. But you need to know that comparing an agency’s cost per hour with that of a freelancer is like comparing apples to oranges.
Again, remember that time is always the most important factor. Don’t spend your time and energy on management tasks that you can hire others to do better and cheaper. By working together with an agency, you’ll create the best possible strategy and ensure your development process is a success. Remember that time is much more valuable than money. Spend it on making your business grow and making your dreams come true, rather than on micromanaging and solving irrelevant issues.