Project Management For Freelancers

Once you’ve sold a client on working with you, the next step is to establish clear expectations for how you’ll run their project and ensure that you’re paid on time, get the feedback you need, and end up with a happy and successful client.

In this section, we’ll help you with all things project management. Whether you’re working by yourself or managing a team of subcontractors (or even employees), the advice you’ll find in our in-depth guides and articles will help make sure that every project you work on leads to more repeat business and referrals.

Our views on managing projects:

  • You should set expectations with clients. It’s up to both you and your client to contribute to the success of the project. Find out how.
  • You need to stay on top of your billing and guarantee that your clients are never late in paying you. Find out how.
  • You should regularly host Retrospectives for all of your projects. Find out how.

Whether through 4+ years of in-depth articles, premium courses, the conferences and events I host, or my podcast, my #1 goal is to help you become a more successful freelancer.

Brennan Dunn

Latest Articles On This Topic

How Freelancers Can Minimize Meetings

I hate, hate, hate wasting time.

And at the top of my kill list of things that waste my time are meetings. I’m not against the act of meeting — there are plenty of times where meetings are the best way to communicate (like, collaborating over wireframes or brainstorming a new feature.)

What really bothers me about meetings are that they occupy my schedule. The time leading up to a meeting — generally spent aimlessly clicking, waiting for the clock to give me permission to hit the big, green call button in Skype — is nothing short of dead time. Likewise, I can’t just switch back to what I was doing. Context switching takes time and mental energy, and it can usually take 15 minutes to an hour to get back “in flow” (realistically, however, I can’t get back in flow — the rest of the day is shot.)

Why Freelancer’s Should Establish A Communication Framework

I’d like to tell you about a project that I regret to this day. This project cost me tens of thousands of dollars, hurt my reputation, and even made me want to throw in the towel and give up on consulting.

Deep breath.

OK, so back when I was running my consultancy — I think at the time we had 8 or 9 full-time employees. I had plenty on my plate… I had to make sure the next set of projects were lined up, that the current projects we had were running smoothly, and that my team was happy and taken care of.

Setting The Right Expectations With New Clients

Have you ever had a client who said or thought something that seemed so asinine, so completely out of left field that you were left questioning how the hell they ever managed to start a business of their own?

I have. And let me tell you about one in particular…

I had a client who loved to come up with stuff. And after each meeting, we’d invariably end up adding a bunch of earth shattering ideas du jour to his project backlog. But he wasn’t willing to reach deeper into his pockets and broaden his budget with each increase in scope.

Managing Subcontractors as a Freelancer

My company became more than just me when I realized that I was losing money and future references by turning away work I couldn’t handle.

At first, I thought it would be smooth sailing and that it was the perfect arrangement. My contract with a contractor was simple: I’m landing the work, handling invoicing, and in charge of collecting. In exchange, I’d be taking a percentage of the hourly rate and giving the subcontractor the rest.

But what I didn’t realize was that I was ultimately liable. My reputation was riding on the abilities and, as more importantly, the integrity of each subcontractor I brought on.

Be upfront with your clients

Don’t make the mistake I made and try to whitelabel your subcontractors and pretend they either are employees of yours or, worse, are you. Because sooner or later, a client is going to ask you a question about their project and you aren’t going to be able to get in touch with your subcontractor. This happens.

If you’re straightforward and honestly let your clients know that you’ll be managing the deliverables of your subcontractors and trust them and their work, it’ll be a heck a lot easier to dig yourself out of a ditch if you need to.

Find reliable people

You can’t assume that you can throw keyboards at a project and guarantee a successful delivery. People are emotional, and they often times need prompting or slight nudges. As a primary contractor, it’s your job to find people who will dutifully represent your freelancing business, stick to schedules, work within budgetary constraints, and are utmost professionals.

It’s your reputation that’s at stake, not theirs. Vet your subcontractors, ideally know them before there’s a project on the table. Clearly communicate your expectations and how you expect them to work – don’t make the mistake I’ve made so often, thinking that everyone works just like you do.

Be fair

As a primary contractor, you’re balancing a relationship with your client, and a relation with your subcontractor(s). Clearly define the role of each involved party, and leave nothing to speculation.

Finally, the four points that follow should be clearly communicated with your clients when kicking off any new project:

  • That you’ll be doing daily reviews of all the work your subs produce
  • You will be involved in all major meetings
  • You’ve personally vetted the technical capacity and reliability of each of your subcontractors
  • That it’s your primary job to ensure that the project goes off without a hitch

Building Better Clients: 3 ways to make your expectations known

Making my expectations known? Most freelancers tend to think that as hired guns, it’s not our job to set expectations. Instead, we work within their expectations. We’ll be code complete by a certain date. We’re going to be developing X, Y and Z features. We’ll throw in a month of maintenance, free of charge.

But like any contract, it takes two. In order for you to fulfill your end of the deal, your clients need to do more than sit back and dream of glory and riches.

I’ve worked on probably three dozen or so projects. It’s hard as hell to play hardball with clients, especially when your rent payment depends on that next invoice being paid. For me, I always felt that because someone was paying me – yes, me! – money, I was obliged to be their temporary slave. They ask me to jump, I ask them how high.

I’m a soft spoken, fear-of-confrontation kind of guy. There’s nothing that makes me reach for the Advil bottle more than the “I have some concerns. Call me.” emails I’ve received in the past. I’m also big on trying to reverse engineer people’s psyches, so I spent some time recently trying to figure out why this kept happening. And then it clicked.

It’s not about me!

A lot of client concerns usually stem from fear. Is this thing going to work? Am I blowing my savings? Wah-wah-wah-wah-wah. And when things aren’t looking up, they love bitching at their development team.

Doing client work is a lot like dating. It’s so great when all is good. And the second anyone starts doubting or fearing, you’re kicked to the couch.

“Pay your bills”

99% of client problems have to do with money. Your contracts with clients are bi-directional: The value they receive is the work you produce for them. The value you receive is cash. The moment this contract is violated, the offended party needs to take action.

If I’m not paid on time, I stop work. Immediately. Need a quick fix? Pay your bill, then we’ll talk. I also made sure my agreement states that I OWN ALL THE WORK UNTIL I’M PAID. If an invoice isn’t paid, revert their website to what it looked like before the invoice-in-question. Being able to tag invoice dates in git is awesome.

I give people one shot. If they are delinquent, I demand prepay for all future work. It makes sense – they can’t be trusted to pay on time any longer.

Oh yeah, and get a retainer before you start any new project.

“Be available when I need you”

Part of my job is to make sure I’m able to deliver things on time. Sometimes, I’m held back by a lack of information or because I need account information for an external API. But I can also be held back by long feedback loops. If your client isn’t available to verify and vet the work you deliver ASAP, then if and when there are changes, it’s going to take longer to backtrack and make any adjustments.

When your client takes too long to get back to you, your timeline (and budget) suffers. This kindles the flame for an eventual end-of-project explosion of anger, even though you’re not to blame.

I’m so stuck up on making sure my team and I aren’t set back that we built into Planscope, our project management app, a feature that will yell and scream every day until the deliverables you need tested or the information you need is complete.

“I can’t read your mind”

I often think that clients think I’m able to perform a Vulcan mind-meld and know exactly what they want and need. And this is another pain point, as oftentimes my understanding of a feature and a client’s understanding can be radically different.

Everyone screams Agile, but most clients still operate in a fixed bid mentality. And quite frankly, I get it. I don’t want my car salesman to be “agile”. I want to know exactly how much I’m going to pay because these things called budgets exist.

I’ve started emphasizing from the outset that I will be as flexible and accommodating as possible, but that adding stuff costs extra money (this should be common sense). I also let them know that I’m probably not seeing eye-to-eye with them about what they need built.

I once had a client who wanted users to be able to join groups. Fair enough, we’ll put a ‘Join Group’ or ‘Leave Group’ link on the group pages. While developing the feature, apparently he wanted it to work like LinkedIn groups – some groups are invite-only, some require a moderator to accept or reject pending memberships, and so on. Wow, talk about wanting a Lexus for the price of a Toyota!

This is one reason I don’t do fixed bids. Clients will always want the most elaborate features when the price is constant. Alternatively, I could have probably put together a very detailed software requirements spec in the estimation process, but I’d lose hundreds of hours (and thousands of dollars) doing that.

When estimating, ballpark everything. There’s no way you know exactly what your future client is thinking, and let her know that you’ve been bit in the past with the “Toyota vs. Lexus” problem. You understand their budget constraints, but put them in the driver’s seat. It’s up to them to prioritize accordingly and build the right features. And you have no problem estimating granular features, but you aren’t going to estimate “Message Board”.

You can also put together a detailed spec, wireframes, and so on, which will allow you to get a better understanding of what they need and maybe even a better estimate. The resulting material is extremely valuable for the client, so be sure to charge them for it. Don’t waste too much time estimating into oblivion!

All Articles & Guides On This Topic

Join 50k+ freelancers who get early access to new articles, guides, updates, and more.