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.
Hiring full time employees for an in-house development team
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.
Maybe freelance contractors then?
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.
Costs of hiring an agency
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.
- When hiring developers from an agency, you hire a person backed by the shared experience and acquired knowledge of a whole team of people. It’s impossible to buy all that from just one freelancer.
- You don’t pay for the management, because you collaborate with a team of people who not only know each other but also are already managed by somebody else.
- They’re fully committed to your product only.
- Development agencies tend to hire people who are up-to-date with the latest stack, are focused on professional development and want to acquire new skills and experience.
- When you work with an agency, you hire motivated top talents. You don't have to worry that your software will be outdated. They have to speed up; the agency dictates the pace of work. As a result, developers in an agency learn much faster than in-house dev team members.
- Agencies often offer a free trial period. They have a brand to protect, and an incentive to keep clients happy.
- Agencies will provide you with the best service possible because they know they’ve acquired some of their clients through other people’s recommendations. At Netguru, for example, every project gets a Project Manager and a Quality Assurance Specialist free of charge.
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.