software
, payment
, hiring
, freelancing
I’m starting a new software developer start up. With our increasing demand, we have a need to hire some freelancers. But I don’t know how to calculate the proper payment for each group of tasks. What is the best way to do it?
For our company we’re using Scrum.
I just want a methodology do calculate how much a task is worth for. Not take it out from my head.
for instance: X USD per hour. X USD per story point. X USD per task…. what is a good practice for hiring a freelancer?
I would look at market rates for your location and for the group of skills you are after. Not sure where you are, but in the UK, you can find current rates by skill sites.
With regard to Scrum, I wouldn't use story points as these really don't have anything to do with the amount of effort involved. I wouldn't also do USD / task, as that will mean estimating tasks or agreeing a fixed fee per task, which I think could be contentious.
I would pay on the basis of x USD/hour or x USD/day.
The more efficient of your freelancers you would keep on, the less efficient, let go.
I am working in an IT Company and this is how I see it… In order to create a payment plan, we must determine how long it will take to complete the Website/Software product. However, this is not a straight forward task, especially when the product has to be developed custom (without using any CMS or a Template system).
Also, before finalizing the pricing model you must consider its effects on the product under development. The more flexibility you keep it for yourself, more room will be there to add new functionality which might not have been part of the original plan but now necessary for the Product.
Pricing Models:
Fixed Price: Both parties agree on a fixed project scope, fixed duration and a fixed budget. I believe the fixed price model is best to apply where the tasks are straight forward and scope is defined. For jobs like debugging, fixing errors, etc. where it’s difficult to estimate the time spent, I do not recommend it. As, here the developer is bounded by a fixed price and a set duration (deadline) and it’s quite possible that developer will take the shortcuts or deliver the poor quality work if S/he feels that these fixes are taking longer than S/he expected.
Hourly: In this model the client is billed for the actual number of hours spent on the project. If there are additional requests – you pay more, if something is done more quickly – you pay less. Also, Freelancers don’t have any risk of being paid less in-case project scope increases which is more obvious in a fixed price model where both parties agree on a cost.
Hybrid Pricing: Well, this is a mix of both hourly and fixed. It gives you an idea of the expected cost before starting the project. Here the work is scoped upfront same manner as in the Fixed Price model, but in terms of total number of hours and then an expected cost is given. Total Cost = The Number of hours estimated multiplied by the cost per hour. For example, let’s say a project is estimated to take 1000 hours and per hour cost is $30, that means the cost comes to $30,000. Now, we set a total project cost say $30,000 but work on Hourly basis tracking the number of hours. When the project ends, the client get an idea of the actual hours spent and pay accordingly. Considering the same example of 1000 hours work… Suppose it actually took 900 hours rather than expected 1000 hours. The client will only pay $27,000 not $30000 which he should have if it was on fixed price model. But if work tends to take more than 1000 hours, then the client will only pay the set amount of $30,000 (like the fixed price model) not the over billed hours.
P.S.: This is our internal process and I’m not sure about how others follow this or agree to it.
However, in all three cases the project must be divided into modules/milestones with a set delivery duration to measure the progress and stay organized.
Practice to be followed while hiring a freelancer:
Create a detailed project scope > Communicate with the Freelancer to make sure that S/he understands the scope > Check the Portfolio of work relevant to your needs > Agree on a cost and Set reasonable schedule/deadline > Start with a test task > Review the work and share the feedback.
Start with the bigger project if you are satisfied with the test task > Agree on a Communication Channel > Set a daily/weekly tasks review schedule > Use Project Management Tool to collaborate on the tasks > Test the build > Get a documentation > Get the code and other assets > The project is done.
Also, it’s a good practice to hire a dedicated resource who can devote full time on your project is a better option over hiring multiple resources for short duration as every one of them will write the code in their own way and it will be create problems for the next person to understand the code.
One of the best practices I follow for new projects is to start with a very small and well-defined task. I allocate a small budget: ($100-$500 USD). I create my specification, go over it, review it again with my team. Create and submit the project. I normally prefer a firm vs a single guy and somebody in my timezone to speed up the process and have better response time. With this approach you can evaluate the timelines, quality of work and work standards for developers. I had the experience of selecting a big task with an unknown team in a different timezone which was unable to deliver up to our expectations.
You need to compare your net profit margins of the cost of freelancers versus the cost of existing staff (or you).
The difference between these is your profit potential before bringing in the freelancers. I would use this amount (less the amount of profit you want to make) as your budget for the freelancers and allocate it in stages.
All content is licensed under CC BY-SA 3.0.