When I started my business, I was barely hanging on to the wild ride known as “freelancing.” I was happy when a project got finished somewhere near the deadline. Each day I was excited if I could spend less than a few hours trying to find the right questions to ask Google so I could complete the bit of code I was muddling my way through.
This is where many business owner’s start. They have a skill and decide that they can make more money offering that skill directly to consumers instead of to a company. The problem is, that running a successful business is less about the skill you are selling and more about the way in which you deliver the skill.
You can be one of the top freelancers in your specialty, but if you can’t deliver a project on time within the budget expectations of your client, you won’t get repeat work. Conversely, if you can only write bad code but serve your customers well by building a thriving business that lets you step back to manage a fleet of great employees (that can code), you’ve got a winning formula.
Today we’re going to walk through the project management side of what it means to run a good freelance business. As you read about the project management systems, envision yourself using them in your business.
Ask yourself which one fits best with yourself and the type of projects that you do.
Sequential Project Management (SPM)
We’ll group our project management systems into a few broad categories. First, we’ll look at the sequential systems.
If you know what a Gantt chart is and your eyes are glazing over, or if the thought of finding out sounds exhausting, then SPM methodologies won’t be for you.
A while back when I wrote about figuring out if you’re talking to the buyer or the gatekeeper I mentioned that I don’t do RFP’s. RFP’s are more often going to result in sequential project management styles like waterfall. You get all the requirements in fine detail up front, and then commit to fulfilling those requirements when you have the least amount of information on the project.
With Waterfall Project Management, you sequence out all the tasks up front so that you can map the exact path to the final deliverable. Then you work on these tasks in order.
Critical Path Project Management is considered sequential because of all the planning you do up front. A quick three step summary of Critical Path would be:
- Define the project scope
- Critical Path analysis and identification
- Plan the different critical project paths
Your goal with Critical Path is to identify where you’re going to need resources before you even start the project and then make sure that the proper people have been cleared to work on the projects at the proper time. You do this to ensure that each project requirement is fulfilled by the time it would start to block the next piece of the project.
At each stage you leave some buffer in your estimation so that you can deal with any unforeseen items and still have any of the blockers ready to go before they truly block the project from completion.
To do Critical Path well, you’ll need a team that is highly flexible and cross-trained because they’ll be reassigned to work on different parts of a project to ensure that each one hits the deadline and doesn’t extend the critical path. Critical Path doesn’t work well for small projects with a quick-turnaround because it puts so much planning up front.
The big problem with sequential development is one that I’ve already highlighted: you end up in phases.
- First you gather a bunch of research.
- Based on that research, (some of which may be months old) you start building the project.
- You spend weeks or months building the monolith to ship for testing.
- Finally, your client combs through it to ensure that it meets all of the requirements defined at the beginning.
If the market changes in the middle of the work, then it’s time for a change request from the client and likely more billing. Do you wait to fulfill that change request until you’ve shipped the initial request, or do you change your requirements now and then rework the plan? These are the challenges with Critical Path.
Agile Project Management (APM)
Next is Agile Project Management. Let’s start with a definition.
Agile software development is an approach to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s). It advocates adaptive planning, evolutionary development, empirical knowledge, and continual improvement, and it encourages rapid and flexible response to change. – Wikipedia
That’s a bit of a doozy, so let’s break it down. In APM you break the project into small parts and deliver those small parts regularly. You get feedback and move onto the next small part with the new knowledge in hand.
With APM you and your client should be willing to change the project to meet the needs you become aware of as you learn more about what your customers need. Where you often have a highly defined testing phase in Waterfall Project Management, APM expects you to be testing all the time and learning from what each test teaches you.
With most APM styles you’ll work in short sprints. Two weeks is the number I hear tossed around most often, but it could be one week or one month. The point is that you’re never too far from shipping something that works to your end users so you can test it.
If you’re a step-by-step list follower, then you may find Agile methods hard to wrap your head around. This is not a linear process, it’s a process that can get threaded around itself and sometimes take two steps back to take one step in a new and slightly different forward direction. With Agile methods, it’s highly unlikely you’ll end the project and realize that you built something no one needed.
Let’s take a look at a few popular Agile methods.
This is one of the more popular APM Methods with software developers. One of the hallmarks of Scrum is the Scrum Master, whose sole job is to watch what happens in the team and make sure that any obstacles are cleared so the team can keep working. If you’re a solo business owner, then you’ll need to make a point of stepping into different “hats” throughout the process to ensure that you’re following Scrum methods properly.
Scrum is designed to handle the fact that clients will change their mind, and that projects will hit obstacles that you couldn’t plan for. These aren’t problems, just things that happen and you’ll need to adjust the plan as you’re going to accommodate for these changes.
To dive deeper into Scrum I recommend reading Scrum: The Art of Doing Twice the Work in Half the Time.
One of the key principles in Kanban is that you need to make work visible. Hardcore adherents will say that software doesn’t make your work visible enough and you should really be putting your work on sticky notes on your walls or a whiteboard. Kanban creates “lanes” to put your work into.
Someone running an editorial team may have these lanes:
- Ready to Publish
In this method, each article would start as an idea, and when approved move to the Approved lane. When it’s been assigned you’d add a name to the card and move it to the working lane. A task may travel from Editing to Working and back many times and have different names attached to it as you refine the content. Once it’s Ready to Publish it may move on to another team that takes care of the final publishing of your content.
With Kanban, feel free to add more lanes to represent the different stages of work. You need to visualize every step in your work. If it’s a step you have no control over, you still have a lane to visualize the waiting.
If you’re looking to dig deeper into Kanban, one of the best books I’ve found is Personal Kanban. It digs into the realization that work and home really aren’t that separate and shows you how to use Kanban to help you organize both at the same time. It’s not super prescriptive, but gives you a solid foundation you can use to add Kanban to your life and be more productive.
Extreme Programming or XP is one of the more regimented versions of Agile Project Management in that it has three XP values and 12 different practices you need to do to fulfill XP methods to the letter. In some circles XP would actually be viewed as a better fit with our next methodology, Change Management.
As evidenced by the name, Extreme Programming, XP is clearly aimed at programming projects. While anyone can do some of the XP practices, some can only be undertaken inside a team environment. Pair Programming comes to mind specifically since it requires more than one person to pair program.
To go deeper into Extreme Programming read the Extreme Programming Pocket Guide.
Change Management Methods
This family of project management methods is similar to Agile, but has an extra focus on planning for risk and taking control of change when it happens. Specifically, Extreme Programming could be considered a better fit for this style of managing projects than Agile because of how it is setup to deal with massive project change and still deliver on the project for your clients.
Event Chain Methodology
Event Chain Methodology is considered by some as the next step in the evolution of Critical Path methods. It’s considered the next step because it has mathematical models to try and cut out the bias that people have when they’re planning projects. We all expect things to go smoothly, and then estimate accordingly.
If you’re heading into a risky project, then using some of the tools out of Event Chain Methodology can help you correctly anticipate the risks instead of whitewashing them. Like Critical Path though, if the thought of running a bunch of risk models and looking at Gantt charts sounds unexciting, this won’t be for you.
Process Based Project Management
I’m going to mention these to be complete, but for most freelancer’s they’re so overkill as to be not even on the table. If you’re running a big business then Lean, Six Sigma, or Process Based Project Management is something to look into, but if you’re running a business on your own you’re going to be overwhelmed. You simply don’t have the people around to implement many of the ideas that are key to the processes.
If nothing else that has been mentioned speaks to your fancy, then go ahead and take a look into the process based project management methods, but be ready to heavily adapt them for your small business.
Decide Which Freelance Project Management Method To Use
Now that you have a better understanding of different Project Management Methodologies, it’s time to decide which one is right for you. Most small businesses will use one of the Agile Methods. I use a mix of Kanban and Extreme Programming. I don’t use either one right down to the letter, but mix and match to to suit myself and my projects. Keep in mind what software and processes you are using today (and in the next few years) when making the decision.