Hiring an Independent Software Developer vs. a Software Consultancy
Hiring a software developer can be daunting, especially for small businesses or startups with limited experience in the field. You may decide between hiring an independent software developer, also known as a freelancer, or hiring a consultancy, which is a company that provides professional services such as consulting, training, and project management. There are pros and cons to both options, and ultimately, the decision will depend on your business’s specific needs and resources. This blog post will compare the two options and explore some key differences between hiring an independent software developer and a consultancy.
Feel free to contact me on LinkedIn if you’d like to discuss building an app.
One of the main differences between the two options is cost. Hiring a consultancy is generally more expensive than hiring an independent software developer. This is because consultancies have higher overhead costs, such as maintaining a physical office, providing employee benefits, and paying for marketing and sales efforts. A consultancy will pass these costs through higher hourly rates or project fees.
Another factor contributing to the higher cost of hiring a consultancy is the time spent on meetings and internal communication. Consultancies often have a hierarchical structure with multiple levels of management, which can result in a lot of time spent on meetings and internal communication. This can be especially true for large projects that involve multiple teams or departments.
While meetings and internal communication are important for ensuring that consultancies complete the project successfully, they can also be a source of inefficiency and waste. For example, if a project requires input from several different departments, coordinating meetings and gathering feedback from all relevant parties may take a long time. This can add unnecessary delays to the project and increase your overall cost.
Let’s take a typical scenario. Your business engages a consultancy to build a simple app to mirror your website. This will probably involve a designer, a product owner/manager, one or more software developers, and QA staff. These people will most likely meet daily, and the consultancy will pass this cost on to you. Arguably, this activity may add value to the overall product. Still, the simple act of coordinating the meetings, documenting the work, and propagating the information within the team can often take a lot of time.
In contrast, hiring an independent software developer can be a more streamlined and cost-effective option. Freelancers can generally do most of the work by themselves and work more efficiently because they do not have to coordinate multiple people and departments. This means they can often complete projects faster and at a lower cost.
As the classic text Mythical Man Month notes:
Cost does indeed vary as the product of the number of men and the number of months. Progress does not. Hence the man-month as a unit for measuring the size of a job is a dangerous and deceptive myth. It implies that men and months are interchangeable.
However, it’s important to note that there are also some drawbacks to hiring an independent software developer. One of the main drawbacks is that freelancers may not offer the level of support and resources that a consultancy can offer. For example, if an issue arises during a project, a freelancer may not have direct access to subject matter experts or other resources that a consultancy might have. This can make it more difficult to troubleshoot problems and may result in delays or additional costs.
Another consideration when deciding between hiring an independent software developer and a consultancy is the expertise and experience required for the project. Consultancies generally have a larger pool of resources to draw from, which means they may be able to provide more specialized expertise for certain projects. However, this also means they may be more expensive, as clients pay for the additional expertise.
In contrast, independent software developers may need more expertise in some areas. However, as an independent developer, I can draw upon my large network to help with technical areas where I may need expertise for a project. I build quickly and collaborate with you from the beginning. I put the product in front of you at the earliest possible stage and listen to your feedback. This allows me to iterate quickly and keep the cost of rework down.
There is often a perception that consultancies provide higher quality work than independent software developers. This is because of the larger resource pool consultancies can draw from, including subject matter experts and experienced project managers.
However, it’s important to note that the quality of work produced by an independent software developer or a consultancy will ultimately depend on the individual or team working on the project. Highly skilled and experienced independent software developers can deliver high-quality work, while some consultancies may not offer the same expertise or experience.
One way to ensure that you are getting high-quality work, whether you are working with an independent software developer or a consultancy, is to establish clear expectations about what quality means to you. Create a software agreement that states what the software should do and what features it will have.
Automated testing ensures that the product meets the requirements that you specify. It is an aspect you must demand from any developer you work with. This ensures that the software continues to meet your requirements even after changes without going through laborious and expensive manual testing scenarios. The question you need to answer is: can the developer offer good test coverage for your app without adding months of work to the project?
I build automated tests from the beginning of the process, and my years of experience with testing allow me to work faster instead of adding time to complete the project.
The decision to hire an independent software developer or a consultancy will depend on what you need. Projects that require broad expertise or a high level of support may consider a consultancy. At the same time, those looking for a more streamlined and cost-effective option may consider hiring an independent software developer. It’s important to carefully evaluate the pros and cons of each option and consider factors such as cost, expertise, and level of support to make the best decision for your business.
If you are unsure about the options and are under no special time constraints, try an independent software developer first. You can always build a prototype or MVP at a minimal cost and finish the work with a consultancy to round off the project.
If you choose to work with me, you don’t have to commit to a long-term engagement. I can get the ball rolling for you, and you can involve other resources to meet your needs or finish the project.
Photo by The Coach Space