How to Manage a Project: A Very Practical Guide to Shipping Projects Relentlessly
When you’re running a project, you face a problem you might not have faced before.
You can’t just outwork a project.
There’s other people involved. There’s input from senior management. There’s ideas from the creative director, from the IT dude across the way and the intern.
You can’t just start and figure out things on the fly (unless you want to waste everyone’s time).
Nope, you need a plan.
Let’s break down a project into steps and work through them. Here’s how it will look like:
- Start at the End and Look Back
- Create a Giant To-Do List
- Estimate Cost & Time for each Task
- Give Some Structure to the Tasks
- Assign Resources
- Assess the Risks
- Start the Project
- Monitor and Adjust
- Hold a Project Retrospective
This won’t be an abstract guide with vague instructions.
We’ll dig into each step in detail, and show you exactly how you can implement them using Planio.
Start at the End and Look Back
Imagine it’s D Day + 1. What’s it like?
At Automattic, the guys behind Wordpress.com, they write the launch announcement before they start a project.
What would be in your launch announcement?
Ultimately, the biggest project in the world is a series of smaller steps taken in the right order.
Will there be a website live on the internet? Will you have a physical product on your table that you can pick up and press buttons on? Will there be a series of triggered emails in place for new subscribers to your service?
When will it be? Will it be years from now or a few weeks away?
Will you have spent a few hours on it or a few million dollars on it?
The more you can describe this “Day-after-the-Launch”, the more you’ll be able build a plan for getting there.
As they say, it’s hard to hit a target you can’t see.
Let’s make a target.
Step 1: Create a Planio Account
Step 2: Create a Project
Step 3: Go to the Wiki tab
Step 4: Create a Wiki-page for your project
Step 5: Write down a description of the “Day After” your project launches. This will be your vision document for the project.
Step 6: Invite all your project team members to read it and add comments and changes.
Example of a vision document in the wiki in Planio
In “Making Things Happen: Mastering Project Management”, Scott Berkun gave the following example of how short and succinct a vision document can be:
“SuperEdit 3.0, the editing tool for experienced copy editors, will make the top five most frequent customer scenarios easier to use, more reliable, and faster to operate than SuperEdit 2.0.”
A good vision makes it easy for a designer to know whether to grab an off-the-shelf WordPress theme or spend hours on user research and user testing to create a ground-breaking user experience.
A developer should be able to tell whether she should build infrastructure capable of handling billions of requests per second or bang out a scaffold Rails app.
It takes your idea for the project and makes it explicit for everyone else. What’s obvious to you isn’t obvious to others, until you make it explicit.
Everything we hear is an opinion, not a fact. Everything we see is a perspective, not the truth.
Action Step: Write your vision for the project. It can be as short as a couple of sentences.
Create a Giant To-Do List
“Making good ordered lists is the fundamental thing any effective leader does, and it's the heart of popular planning methods like Kanban and SCRUM.” The Year Without Pants: WordPress.com and the Future of Work by Scott Berkun
Ultimately, the biggest project in the world is a series of smaller steps taken in the right order.
Like a recipe, really – skip a step, and you’ll end up with a raw turkey.
No one likes eating raw turkeys.
So, we need to break down this big, scary thing into smaller steps that are easy to take and not scary.
The problem is that you often don’t really know what the steps are, because, well, projects are often about creating things you’ve never created before.
There’s a couple of techniques you can use:
1. Start at the End and Work Backwards
Imagine you have the final product. From here, think about what needs to be done to create it. For each item, add it as an issue. You might add an issue, but then realize that it’s actually a bunch of tasks together. No problem, you can just add the other tasks and delete the overarching issue. Don’t worry about the order of things at this stage, because the idea is to first gather ideas and sort them later.
2. The “let’s sit in a room’ technique
Once you’ve made your list of things you think the project involves, it’s a good time to gather your team and ask them to go over the list. They’ll probably find dozens if not hundreds of new tasks to add to yours.
It also gives them an idea of what you think the project entails. You might find that your team has radically different ideas on what exactly the project is.
3. Mind Map the Project
Take a whiteboard or a piece of paper and start writing down components of the project. Then, start adding the sub-steps to each of these components. The great thing about mindmapping is that you don’t necessarily have to think of everything in the right order. You just add items as they come to you.
It’s also a great way to work as a team, because you can add lots of suggestions from your team very quickly.
Pro tip: take a picture of the whiteboard for later planning stages.
4. The ‘Ask an Expert’ technique
It’s easy to estimate a project if you’ve done the same thing before. In some domains, you can ask an expert who’s done it before for a rough idea of the steps and time involved.
Use the techniques above to break down the project into the smallest tasks possible. Create an issue in Planio for each of them. Don’t hesitate to replace one issue with several issues, and don’t worry about order or structure at this stage.
Every task should have its own issue in Planio.
Estimate the Cost and Time for Each Task
You’d be forgiven for thinking that estimating the cost or time each step will take would be the easy part. In fact, it’s probably one of the most controversial topics in the project management world.
You’ll probably be wrong in your estimates. Just because an estimate is precise – adding triggered emails to this application will take exactly 4.57 hours – doesn’t mean it’s accurate. Therefore, a fuzzy estimate – 20 - 40 hours – can have more value, because it shows the level of uncertainty the person has about it. A very broad range means they feel that it’s tough to estimate.
Here you can take a number of approaches.
“Groundhog Day” Approach
When estimating projects for clients, you can ask yourself, "have we done this before?". Then, estimate the time for each task based on your experience and then multiply that figure by:
- x1 for tasks we do all the time and feel very comfortable with ("it just needs to be done");
- x1.5 for tasks we haven't done before but have a very clear idea of how to do them ("can't be that hard, we just have to ...");
- x2 for tasks which seem doable but need some research on how to actually to them ("hm, well, ok. this is certainly possible, but we'd have to find out how...").
Ask an Expert
Picking up the phone and asking an expert in the subject matter how long they feel a specific task should take can often get accurate answers. This is great if the expert does the task regularly, but you’ve never done it before.
Creative tasks such as writing, design and coding sometimes take up as much time as you give it. Therefore, it can be helpful just to allocate a period of time and ship what you have at the end of it.
Finally, sometimes you know something is critical, and yet you have no idea how long it will take. Many startups fall under this category. Sometimes, the honest approach is to say that you can’t estimate the project, but you’re willing to invest a certain amount of resources in pursuing the idea.
Sometimes, the honest approach is to say that you can’t estimate the project.
Go through every issue in Planio and try to assign an estimated time to each step based on one of the techniques above.
Start Giving Some Structure to the Tasks
So, now you have a big list of issues covering all the work that makes up your project.
Now, we need to figure out how to structure these tasks. Obviously, some tasks need to be done before other ones can be started.
Divide the project up into Milestones
Some projects lend themselves to stages. You have a design stage, a build stage and a testing phase, for instance. The stages are fairly independent of each other, so you can just break up the project into separate milestones. A milestone is reached when a stage is completed.
Plan out the Tasks on the Gantt charts
Gantts charts look like this:
Why are Gantt Charts So Useful?
- They’re great at identifying how many people you’ll need, because you can see at a glance how many tasks are scheduled at any given time. Obviously, if several tasks are scheduled in parallel, you’ll need several people (unless they have mad multi-tasking skills).
- You can also easily visualize whether a person has to wait to start, say, coding until someone else has finished the design.
- They’re also perfect for monitoring the progress of your project.
First, go to project settings in Planio and create a Milestone for each stage of the project. Then, assign each issue in your project to one of these milestones. Finally, set the start and completion date for each issue, so you can see the issues on the Gantt chart.
Do We Actually Have the People and the Cash to Do This?
So, at this stage, you’ve broken down the project into smaller tasks. You’ve done your best to estimate how long each step should take and you’ve whipped the tasks into some sort of order.
Now, the next stage is to find out whether you have the people and the time to actually carry out this plan.
You’ll be able to multiply the total amount of hours by your project hourly rate to find out the manpower cost of your project. Obviously, you’ll have to add on additional expenses such as travel, software or operating expenses to reach your total cost of the project.
Q: What happens when you realize that you’re aren’t going to come in under the budget or you won’t manage the deadline?
Fundamentally, there’s three things you can do:
- You can move back the deadline.
- You can increase the budget to meet the deadline, so you can hire more people*.
- You reduce the scope of the project so you meet the deadline or the budget.
* Bear in mind, however, that there isn’t always a direct link between more people and the project going faster. In fact, in the Mythical Man-Month, Fred Brooks wrote that adding programmers to one software project actually delayed it even further.
What Could Possibly Go Wrong?
“No plan survives first contact with the enemy” - Helmuth “Wise Prussian” von Moltke
This part is really quite simple, especially if you have a knack of seeing the worst outcomes in situations.
You come up with a list of factors that could mean that you miss your deadline, fail to build something that matches up with your reason for doing it in the first place (the vision document!) or you spend way more than you’d budgeted for.
Examples of Risks:
- Your engineers and fancy UX designer all quit within a week to join Google.
- The client fundamentally changes the whole project at the last minute, and, smilingly, says that you still have to deliver on time.
- You discover that you forgot entirely about a critical piece of the project in your planning, so you have tons of extra work
So, you have a very pessimistic list of very bad things. Now, you can create a list of ways to either make it less likely for things to go wrong or reduce the impact of that risk.
Examples of Reducing or Mitigating the Risk
- Regularly high-fiving your team and giving them donuts, so they reject any advances from Google recruiters with derisive laughter.
- Inviting your clients to the project in Planio, so they can have input in the plan and you have written documentation of what was approved and when.
- Follow this guide so your project plan is a little more rigorous than a back of the envelope plan. Alternatively, not all projects are suited to this form of top-down planning. Investigate whether Agile project management approaches will be a better fit.
- Create a Wiki page in Planio called “Risk Management”
- Add the list of potential risks
- Add the list of steps you’ll take to reduce or mitigate the potential risks.
- Give yourself a self high-five.
Kick the Project Off
You’ve made a plan, assessed some risks and given yourself a self high-five. Things are good.
It’s time to start the project. A kick-off meeting lets you lay out your plan, explain your vision and make sure everyone is onboard.
Obviously, if this is the first time that team members, clients or higher ups are seeing the plan, you’ll have a few problems.
That’s why it’s important to keep them in the loop when you’re building the plan, and the easiest way to do that is to invite them to the Planio project.
You can also set out expectations for status updates. Ideally, people can just update their tasks in Planio, so you don’t have to have long status meetings where people just state exactly what they’ve done.
“Yay! A 4-hour kick-off meeting”, said no one, ever.
Action Step: Set a date for your kickoff meeting, and make sure everyone has access to the project plan before hand by adding them to the project on Planio. Bonus points if you’ve shared an agenda for your meeting, so it will be short and productive - see more on kick-off meetings here.
Adjust the Plan if Necessary
As we said above, the plan is only a roughly accurate map of how things may pan out. Once the real work begins, you’ll have all sorts of changes and updates. It won’t just be a matter of ticking off the boxes.
Encourage people to update their items in Planio, and if something turns out to take longer than expected, break down the task into smaller sub-tasks. By comparing the estimated time, spent time and % done, you’ll get an idea on whether you’ll come in on time and under budget or not.
You can reduce the chances of a client being unhappy by making sure they’re aware of things that are taking longer than expected.
Clients hate being surprised more than anything, so you can use Planio as a tool to keep them in the loop.
Action Step: Review the Gantt Chart weekly. Compare the estimated time, spent time and % done for all the issues to get an indicator of progress against the schedule.
Review and Learn from What Happened
Once you’ve finished the project, give yourself (and the team!) another self high-five, obviously.
It’s also a good time to reflect on your learnings and store this knowledge, so you can draw on it in the future.
First, create a project retrospective page in the Planio wiki. Then, create three headings:
For each of these headings, write out what went well, what didn’t go well and how you can improve next time.
Go back to the vision document and ask yourself, “Did we reach the goal we set out at the beginning of the project?”.
You can also think of the steps in the project. Could you improve the process next time?
Examples of Improved Process:
- Get a Wordpress plugin that makes transferring data between the development environments, staging environments and production environments faster.
- Create a workflow so that designs are approved by the client before development work begins.
Congratulations, you’ve just completed a solid guide on how to manage your next project.
Each time you go through a project, you’ll find things that work and don’t work.
Different domains have different requirements. For example, a building project might require more upfront planning than a software project. Or you might find that this style of upfront planning - the “Waterfall” approach - doesn’t suit your domain at all. In that case, you might try an agile approach such as scrum, which is very common in the software industry.