# Art of managing freelance projects effectively
So, you have hired a freelance developer. Now, the critical part of your journey begins – successfully managing the freelance project, which isn’t an easy task. Of course, if you managed to hire the right freelancer, this task becomes much easier.
However, it is critical to note that in many cases, freelance engagements fail not due to a poor freelancer, but because of insufficient structures put in place to manage work. Therefore, to maximise project success you also need to have other supporting frameworks.
In this article, we will outline some concepts that when incorporated, can ensure smooth execution of freelance engagements. As we discuss each one, we’ll also cover the challenges faced while managing freelance projects.
# Challenges in managing freelance projects
Freelance projects have peculiar problems because of two main reasons:
- Shorter affiliation between parties vs. employer-employee relationships
- These projects typically happen in a remote setting (i.e. everyone isn’t present in one physical space)
These two major reasons result in the following challenges:
# 1. Communication
One of the main reasons for failure not just when managing freelance projects, but most collaborations is a lack of proper communication. The effect of bad communication is amplified when it comes to freelance projects, due to limited F2F interactions.
Hence, it is paramount to be crystal clear in any form of communication that takes place throughout the engagement.
# How to implement better communication
Clear expectations: At the very outset, define expectations with absolute clarity. Well-defined project requirements, explicit agreement on deadlines, the number of touch-points, and periodic catch-ups are some of the areas that need to be immediately looked into.
Structuring based on the type of communication: During the course of a project, there are various kinds of discussions. Therefore, the channels for discussing them also have to align with the need for conversation. For example, you can use Slack for day-to-day chats, and video calls for discussing ideas.
Additionally, you can use tools such as Notion for documentation, and Github for bugs and project management. Here is an interesting framework that you can use to decide the right channel for interaction: communication framework.
Regular check-ins: Irrespective of the clarity of expectations, having regular check-ins with the freelance developer is critical. This helps in any course correction, removal of bottlenecks, or even getting a concise status update.
Choose the right tools: Choose tools that complement your working style. Ensure that they easily integrate into one another and that both parties are equally comfortable using them. Remote Tools has a well-organised list of software products for each use case. You can pick and choose those that suit your requirements. In the site, some key categories relevant to managing freelance projects are Project Management, Video Communication, Chat Communication, and Time Tracking.
Tackle timezones with asynchronous communication: You might also work with freelancers who are not in the same timezone as you. This results in a situation where overlap in work timings is rather limited. Employing asynchronous communication is the solution for such a scenario – it is a practice to basically exchange messages with one another without the expectation of an immediate response. The conversation takes place intermittently.
However, even in such a setup, to eliminate bottlenecks and pile up of work, live meetings should be held regularly. To learn more about asynchronous communication and managing remote teams, this guide is a great resource.
# 2. Use time-based compensation
In freelance engagements, two types of compensation models are prevalent: project-based and time-based. The former is when you pay a predetermined fixed amount to the freelancer, and the onus is on them to deliver the completed product. In contrast, time-based compensation is contingent upon the number of hours that the freelancer has worked for on your project. You pay them for the billable hours. This can understood in greater detail in our earlier article.
In most software projects, the requirements evolve as you build a product. Accordingly, the compensation model needs to recognise and support this need for flexibility.
# Time-based compensation models are the way to go
A time-based model aligns to project success in a better fashion than a fixed-price model
This is because, in a fixed-price model, the success of the project hinges on the accuracy of the estimates (time and cost) before any work has begun. As even senior members of the tech industry can attest to, making highly accurate estimates is hard. With the estimates made, it also leaves no scope for making improvements or implementing changes, once the project has begun.
Since time-based models provide more flexibility, it is no surprise that such payment models fare much better in software development than their fixed-price counterparts.
In time-based compensation models, accurate time-tracking becomes a necessary hygiene factor.
As in any working relationship, even in freelance engagements, there needs to be an element of trust between parties. However, if required, you can use time-tracking tools to facilitate a smooth workflow and prevent any unnecessary conversations around productivity. So, let’s discuss the implementation of such a process.
# How to implement time-tracking practices
There are several time-tracking websites and apps, to suit almost every need. Some of the most popular apps are TimeDoctor, Harvest, and Toggl.
Although it is true that time-tracking gives you more of a picture on the quantity, and not the quality of work done, some of these apps also have built-in features like screenshots and activity logs to ensure employers get to know the exact areas freelancers spent their time on.
Experiment with different solutions and use the one that matches your use-case. At Flexiple, we use a simple Google Sheets document with shared access to both the client and the freelancer to track the time taken for a pre-determined set of tasks. This itself serves the purpose of tracking time while not being invasive.
# 3. Inclusion in the team
As mentioned above, time-based payment models are a good way to track the progress of the project and the effort that is being put in. However, one of its immediate concerns is tracking productivity.
Tracking productivity isn’t just relevant when managing freelance projects; this challenge is prevalent even while managing regular employees. Therefore, a simple solution is to mimic the same structure you use for in-house talent.
# Ways to get freelancers more involved in your team
So, let’s detail the workflow that can be used for freelancers based on existing process used for employees:
Minimise onboarding and downtime: To minimise downtime and start work as soon as possible, you have to make sure that the freelancer feels at home, and is able to settle in quickly with the team. For this, you can consider including them in meetings and more informal meet-ups as well as regularly engaging with them on Slack channels.
Weekly sprints: For freelance developers, you can consider having weekly/fortnightly sprints with clear goals for each sprint. Conducting daily/ bi-weekly/ weekly standups are also a good way to assess the freelancer’s progress while providing a touch-point to quickly convey feedback and highlight any concerns.
Use the right tools: While this point has been discussed earlier, it is again pertinent to stress upon using the right tools that enable the freelancer to feel more comfortable and included. Often, the high friction in obtaining even trivial information might bring about frustration for individuals. If the individual is working remotely, numerous collaboration tools allow for easy organization. In fact, there are tools that even help everyone to appreciate and recognise one another.
Appoint a tech point of contact: You have to ensure that the point of contact (PoC) for the freelancer within your company is someone who understands tech. Having a tech PoC translates to having a better grip of how the project is progressing as well as an enhanced ability to identify and solve any potential problems proactively.
# 4. Payments
An often neglected detail is having a defined, agreed-upon channel for making timely and safe payments. Deciding on the frequency, deadlines and mode of payment before the project starts is very important to avoid any unnecessary kinks later during the course of the engagement.
While many freelancers have their own preferences of payment platforms, a lot of them would be open to others modes when it comes to accepting payments. It just needs to be secure, fast, and should offer a smooth experience.
# Choosing a reliable and easy mode of payment
Convenience is one of the most important factors to consider while choosing a mode of payment. Many online freelancer platforms allow the option of attaching a bank account or online payments account. This facilitates a fast and easy way to process payments.
If you’re working with international freelancers, it is best to use universal platforms like PayPal or TransferWise, rather than the regional payments services.
You can also use direct banking services and credit the amount via wire transfer between bank accounts.
Last, but certainly not the least, it is important to harbour a good relationship with the freelancers you employ. While they do offer more flexibility, they should not be taken for granted as a temporary solution.
Most freelancers require some onboarding time to understand your business and your goals, as well as to get a better handle on the working culture of your company. It is up to the leaders to get freelancers integrated into the team seamlessly and ensure they have everything in place to put their best foot forward.
Remember, however, that the process of managing freelance projects becomes a lot less painstaking if you hire the right freelancer. A quality freelancer will have the required skillsets to make most of these challenges easier to manage.