I've hired 15 freelancers for my side project. If you've struggled with freelancers, read on.
Hiring freelancers is a source of leverage. However, leverage also magnifies risk. Set your engagement up for success and avoid losing time and money.
Here's my framework for successful engagements.
But I want to build it all myself...!
Take advantage of the leverage you get from hiring a freelancer. Doing it once will help you overcome common challenges:
• You don't want to waste time explaining the project to someone
• You don't have experience managing the process
• You want control of the creative process
Use a repeatable process to overcome these challenges and make progress.
Step 1: Invest time up front developing your requirements
Thoroughly document the current state of the project and desired future state.
Create a slide deck that describes your project, objectives, current state and desired future state, scope, and deliverables. Use the deck to interview freelancers and improve it based on their questions and feedback. Once you select a freelancer, use the deck to help build the contract.
Step 2: Host standups every working day
Use standups to dive deep into progress and surface blockers.
Stay focused on progress against your backlog. Remove blockers to progress immediately. Most importantly, hold your freelancer accountable. If her plan is to finish a task today, quiz her on her progress tomorrow.
Step 3: Talk about the desired objective constantly
Don't lose sight of the objective by focusing on the day-to-day details.
Make a habit of reiterating the objective at least once per week. I generally do this during weekly sprint planning. This gives your freelancer autonomy to make high-frequency decisions instead of coming to you every time.
interesting. When i used to manage developers i got all the status progress reports etc. using tool so nobody has to report status. There was a weekly standup mostly for blockers and explanations in case someone missed their stated deadline. There was also this rule that you can contact me anytime if you are blocked on anything and are not able to progress you don't need to wait for weekly meeting. It saved lot of time for me i didn't had to do daily meetings, developers didn't have to report day to day progress they just need to make sure that github is updated. It also helped me in unexpected ways for e.g. i was able to tell if i need to hire additional developers depending on the workload as there was a lead time in hiring (approx. 3 months) so i could raise hiring request early. Also helped with seperating smooth talkers from the people that actually get the work done code doesn't lie :-)
I’ve seen this work really well.
There’s a lot of debate about the value of daily stand ups. Some teams don’t use them. Some teams swear by them.
Outside the pure function of removing blockers, they help keep a finger on the pulse of your team. I use them as a way to silently gauge morale and reinforce team values.
Moral of the story:
Every team is different. Do what works!
yes totally agree with you. its not one size fits all.
Interesting framework, Jason. One thought, isn't it a bit excessive with daily standup meetings?
For the freelancers I've worked with, it's been essential for me to build a trust level. We had daily communication, but only weekly statuses. This has also been on bigger projects, so maybe that's why. I can understand on smaller projects, that daily standups might make sense.
Standups are not supposed to be about trust. Really they're about identifying risks and resolving blockers.
That said, depending on the team I'm working with I'll scale my approach to one end of the spectrum.
Here's what I mean:
Junior developers need more guidance. For them, I use standups as a way to closely track progress and help them decide on next steps.
Senior developers need less guidance. For them, I use standups simply to help troubleshoot and resolve blockers.
Makes sense, thank you for clarifying 🙌