Web designers seem to have a knack for doing too much work. So much so, that the rest of their life fades away into oblivion. I see it with so many designers. Not long ago, that was me as well.
This is what paved the way for my obsession with creating systems and processes. When you build your business to run more efficiently, you end up with more time to actually grow the business, or do non-work things that you love. You know... family, hobbies, friends... all that fun stuff.
The tools you choose play a big part in all this. As does a proper website planning process.
When the time came to find a project management tool for our web design business, I had no idea how hard it would be. There are SO many options, all of them proclaiming to be the best out there. It took around 4 months for me to make a decision (shame on me) after trying just about every option under the sun.
This post is here so you don't have to waste your time doing the same.
The systems I tested included:
Most of them have some really cool features that I loved, but there was always something that bugged me. Usually to the point of it being a deal breaker.
I believe the tool we settled on fits (most) web designers better than all of the others.
First, let’s cover a couple of important things...
Do you actually need project management?
There’s no point wasting hours digging through project management tools if you don’t need one.
I think it becomes important around 3 staff/contractors. Before that, you can get away with a simple “task based” system like Asana or Trello.
In these tools you can still invite clients into projects, collaborate and handle pretty much everything you need to at that stage of business.
Best of all, they are free.
If you’re in this category, my suggestion is to stop reading, try Asana and Trello and pick the one you like the most. No point wasting time on something that isn’t business-critical just yet. Or read on for the hell of it.
Separating your tools
I always see people trying to find one tool to rule them all. That is… one tool to handle invoicing, CRM, creative briefs, data collection, project management, email marketing etc, etc.
The problem with a jack of all trades tool is that they are usually a master of none.
These days, things integrate really easily. So you are much better off finding something that does it’s chosen "thing" really freaking well. Then connect it to other tools via built in integrations or Zapier.
So let’s drop this all-in-one mentality shall we?
- Learn how to use Zapier with this Zapier tutorial
- You could also separate your file requests with Content Snare
Before choosing a tool, you should have a very good idea what you want your processes to look like. There’s a lot to consider. For example, do you need:
- The ability to track time
- Task dependencies (can only start task 2 when task 1 is complete)
- Percent progress for individual tasks
- List view/board view (maybe you like kanban style views more)
- Due dates & timelines
- Automating workflows
- Project management templates
This list could go on forever.
If you haven’t decided on your process or just aren’t totally sure, read on and you might get some ideas from how we manage our projects.
Why we chose Teamwork
In the end, Teamwork simply had the capability to save us a lot more time, and enforce processes a little better than everything else. It was the one left standing when other tools were eliminated for one reason or another.
There were also a few things exclusive to Teamwork that were just awesome. Like the way they handle task templates (more on this below), and the integration with Teamwork Desk (which is freaking amazing).
Here's a brief summary of the others, and why we eliminated them:
- Good: Free. Super simple yet functional. Has capability for comments, checklists, assigning people and a lot of what you need. Great kanban layout.
- Bad: Harder to manage once you have 3-4 people. Need external tools for time tracking, reporting, etc. No dependencies. Too "open" for team management.
- Notes: We used Trello for a while until the team outgrew it. Integration with apps like Rewind help keeping an automated backup of your projects to avoid data loss.
- Good: Free. Looks so clean and the interface is great. The paid version includes task dependencies. Has a board view.
- Bad: Can't switch between task list and board (a project is fixed one way). Need external time tracking. Subtasks aren't displayed very well.
- Good: Fairly simple system, clean and version 3 just feels nice to use
- Bad: Missing a lot of the important things that Teamwork has. I'd probably take Asana over Basecamp as they are pretty much on par, but Asana is free/cheap
- Good: Automations - by far the best part of Podio and unmatched by any other system (other tools claim to have automated workflows but they have nothing on Podio). Can build something custom that fits you. Board view is great.
- Bad: A pain in the ass to set up the first time as you get your head around how it actually works. No task templates (this was a big killer for web design). Expensive when you need automations
- Notes: This would have been our second choice.
- Notes: Too simple and is easily beat by others on this list.
- Good: Incredibly customisable. Works with version control tools and documentation tools. The "big daddy" of project management.
- Bad: Literally the worst user interface I have ever encountered. It actually makes me angry to use. Not even kidding.
- Notes: We actually use Jira for our custom web apps development side of the business (including Content Snare).
- Good: Lots of things. It's a very complete system and even has features for graphics proofing & approval. Automations are available but only on the enterprise plan (who knows how expensive that is)
- Bad: Expensive. I'd say out of range for most web designers.
- Notes: For agencies with multiple full-time onshore staff, Wrike is a very good option
- Good: Very nice, simple interface. Easy to use.
- Bad: It's a project manager, not a task manager. Only really for high level stuff. No way to enforce anything - it's just too flexible
- Notes: I wanted to use Dapulse so much. But I just couldn't make it work for us. The interface is so nice!!
- Good: A lot of the same stuff as Teamwork
- Bad: Very similar to Teamwork with a higher price tag (per user pricing)
- Notes: Honestly Proworkflow is a great option. But for basically the same features we were using it was going to cost us about 3 times as much. The price has come down slightly since we tried it. Still a great option.
How we manage projects
After those 4 months of signing up for trial after trial, and getting stuck on all their email lists, we settled on Teamwork.
When we first signed up, there were two main problems I had with Teamwork. One was that you don’t get the awesomeness of Podio’s custom automations, the other being no board view.
Since then, they introduced board view, making Teamwork about an inch away from being perfect for us.
Side note: Many tools claim they have “automated workflows”. Pretty much all of them are not even close to having a truly automated workflow builder. The exceptions are Podio and the enterprise (very expensive) version of Wrike.
The very top level of any project management system. If you couldn’t create projects, you’d be in a bit of trouble. Most tools are pretty similar in this regard. In Trello you get boards, in Podio you create an “app” called projects, but otherwise there isn’t a lot of difference.
In Teamwork, there are the most important functions for us:
- Adding people to the project with different levels of access
- Marking projects as favourite (to bring common projects to the top)
- Categorise projects
- Archiving finished projects
- Add files, links and notebooks
- We use these to add any special info about the project - e.g. the brief, existing website links, profiles, designs, images and more. Basically anything you could want for the project, all in one place.
There are a lot more features available. We just don't use them. For example you can:
- Add clients to the project
- We don’t use this because now we use Teamwork Desk for clients interactions (more on this to come)
- Create roles within projects who are notified when work is to be done
- A role might be “developers” or “designers”
Task management sounds like a simple part of the process, but this is where you see the big differences between project management systems. There are so many ways to handle tasks. There are many different ways of doing things that you might not even realise are possibilities.
What impresses me the most about task view is that you have quick access to so much, without the interface being clogged up. In the screenshot above, the task level options are only displayed when you hover over that task.
Here’s how we use the various elements.
Sub tasks are exactly as they sound. A way to create a task that sits underneath another task.
For example, you might have a “Set up new WordPress installation” task, with a sub task of “Install Yoast SEO”. That means that the plugin must be installed before the WordPress install can be marked complete.
You can see three layers of tasks in the screenshot above.
Task dependencies are simple, but amazing. They are one of the best ways to keep a project on track.
The simplest task dependency is a sub task. The main task cannot be marked complete until you mark all the subtasks off first.
This isn’t limited to sub tasks though. Take this example: you might only start development after design is finished. So you would say that development depends on design being finished.
As soon as the design task is finished, the person assigned to development is notified. This keeps things moving and only bugs people when they need to be bugged.
The red icon indicates that this task cannot be marked off as it depends on other tasks being completed first.
One of my favorite parts of Teamwork. Many other systems will tell you to create a whole project as a “template” and just copy it. That works sometimes, but falls down when you have to assign every task in that template to people, one at a time.
Teamwork’s twist on this is the thing I love.
When you create a task template, instead of assigning someone to it, you assign a placeholder like “Project manager” or “Developer”. When you drop that template into your project, it asks you who the manager & developer are.
You can also set dates relative to the start date. So I might say “+5 days”. When you drop in a template, you set the start date and it fills out the rest, optionally skipping weekends.
Task Level Options
I also love how much control you get over things at the task level. The easiest way to explain is to go through them.
Log time down to a task level. That way you can see which tasks are eating the most time over a series of projects. Identification of time consuming tasks shows you the best places to optimise your process.
Of course these logs contribute to the overall project reports so you can see how much of the budget you have used for any given project, at a glance. We have a weekly reminder for the project manager to check how much time has been burned so far and see if we are on track.
These fire off notifications when something should be started or is due. The only thing I feel missing here is the ability to repeatedly nag someone when they are overdue. This is currently a manual process for our project manager.
Mark tasks as High, Medium or low priority, or leave it blank. A simple way to indicate which things need to be done first.
Schedule reminders to be sent to anyone, for anything. Set the time, who it goes to, the message and whether they receive it via email, push notification or SMS. For example, if you tag a task “waiting on the client”, at the same time set a reminder to follow up in 5 days.
You can watch, or set someone else to watch a task. That means they get a notification for any activity on that task. This is useful if there is something super critical that you need to keep an eye on.
Comments work as you would expect in any other system. Write messages about a specific task, with the ability to tag and notify teammates. The most common way we use this is to tag someone so they get notified about something that needs their attention.
Add customisable tags to the task with a custom colour. Some of the tags we use are “On Hold” and “Waiting on Client”. You can add whatever you like.
Set a task to recreate itself every day, week, month etc. We use this to create a task for the project manager to evaluate the progress of every open project every Friday, or to remind a VA to post on instagram.
Attach files at the task level as well. We use this for design revisions.
Hide tasks so they can only be seen by certain people.
Board view is freaking amazing. For a long time I said Teamwork would be just about perfect if it had a board view. Well… now it does.
Board view is simply another way to view tasks. You create a series of columns, with whatever headings and colours you like. Tasks can be moved to the relevant stage on the board with drag and drop.
Anything that isn’t on the board yet shows up in the backlog on the left. This is where the project manager moves tasks into the board and assigns them to team members.
When a task is added to the board, it gets an icon which can be seen in list view. So no matter how you view the tasks (list or board), you can see what state it is in. This in my opinion is exactly how it should be done. Thank you Teamwork.
The Gantt view is a bit “meh”.
It’s very basic and can’t be compared to full blown Gantt tools like MS Project. We don’t even use it, but I’m including it here so you can at least see.
What it does
- Slide tasks forwards and backwards
- Push out dates for dependent tasks when you slide one forward
What it doesn’t
- Account for weekends or staff availability
- Pull dates forward when you drag something left
These last two things make it a bit of a pain. It’s using “dates” instead of “manhours” when deciding where the bars start and end. That makes it fairly useless for most people. 🙁
Proper time tracking becomes important when you have a team. Not to keep an eye on your team, but so that you can find inefficiencies in your process or places where it might help to train people.
It’s great to have a few different ways to get time data into Teamwork.
- Directly from the web interface
- From the mobile app
- Chrome extension
- Desktop app
Any way to make it easier on your crew to track their time is good news. That said, sometimes people do forget. Our project manager gets a recurring reminder to check time entries and make sure everybody is on top of it.
With most project management systems, you normally have two ways to handle client comms.
- Add them as a user so they can interact with the project management system
- Stick to email and just add tasks in manually
You can do both of these with Teamwork. However I don’t think either of them are ideal. We’ve tried both, and both setups were ugly in one way or another.
For number 2 it is pretty obvious - email sucks. It’s hard to keep track of things, and you have to remember to email the client when things are finished.
Adding them as a user sounds like a great idea. In practice it tends to have some problems.
Problem #1 - Client having to learn a new system
First up, I can pretty much guarantee that clients will still send you emails despite having access to their project area. Most clients won’t have used your system before, so there is a tech hurdle there that people just don’t want to deal with.
You could create some videos or training for them, but there’s still that extra level of complexity that quickly becomes a pain.
Problem # 2 - Access and permissions
What if you want to internally chat about something without the client reading it? Depending on the PM system, you might be able to restrict access to certain parts, but it usually some annoying workaround. What if the client starts playing with things they shouldn’t, like accidentally marking something as done?
There are a lot of small things like this to consider. In the end we found it just way too annoying to give them direct access.
Then, we discovered what is probably the ultimate solution. Enter Teamwork Desk.
Teamwork Desk is support desk software, a bit like Helpscout. It's email-based. That means support tickets/requests are created by emailing a special email address. As far as your client is concerned, they are just sending emails, but to your team they come in as tickets.
We have a [email protected] address. Clients are required to send all their change requests here. Then we have a [email protected] address where any “maintenance” clients can request changes. Finally, we have a [email protected] account where any website downtime or security warnings get sent.
In Desk, these come into different inboxes. You could assign a different person to each inbox, or view everything together in one “unified” inbox.
If your client is naughty and emails you directly, instead of the special address, all you have to do is forward it to the appropriate one (then tell the client off).
And here is the amazing part.
Let’s say your client has some change requests that come in an email. The process works like this:
- See the request come into Desk
- If any more info is required, respond directly from Desk
- The client simply replies to their email to provide more info
- That info pops into the ticket
- You click “Create Task” from the ticket, and add it to the correct project
- The task is created with a reference to the ticket, so whoever is assigned can see everything they need to complete it
- The ticket is marked as pending, so it doesn’t bug you any more
- When the task is complete, it pops back into Desk
- Let the client know everything is complete.
So, so smooth.
One of the most important things a good PM system needs is a way to see how a project is tracking, at a glance. This is what the overview screen does.
The main things we use this view for are:
- Time spend
- Burn down chart (project trend). The three lines are
- # tasks completed each day
- # remaining tasks
- # completed tasks
Expenses & Billing
While we don’t make heavy use of the billing portion of Teamwork, it can be handy at times. Especially when the client requests changes outside of the scope of the initial project.
In billing, you can add two types of expenses:
- Time that needs to be billed
- Fixed expenses (e.g. purchase of a plugin, or agreed fixed-price work)
When the time comes to charge your client, you can round up a set of unbilled time and fixed expenses and add it to an “invoice”.
From here you can export it directly to Xero and mark it as complete. This marks the expenses and time as billed so you don’t accidentally add them next time.
The only reason this has been left to the end is because we don’t use milestones. They are important to some people though.
Milestones can be used in a variety of ways. One of the more common are project phases, like:
In Teamwork, you can assign task templates to milestones. That way, the tasks that relate to a specific milestone. For example, in the “Design” milestone, you might have:
- Homepage design
- Blog design
- Contact page design
Where each of these has its own task template.
This isn’t something we need, so we simply don’t use it. Another great Teamwork feature is to be able to turn project features, like milestones, off so they aren’t cluttering the screen.
Use Teamwork it’s great 😀
But seriously, good project management is dependent on a lot more than just the tool. Teamwork is our tool of choice because it does everything we want, and it fits our process well.
The most important thing is building your team with training, systems and culture so that they actually use whatever tool you have in place. It’s only as good as the data that goes in. As they say… shit in, shit out. That’ll have to go into a different post.
What system do you use? Let me know in the comments!
If you’d like to give Teamwork a try, sign up for free here. Your first two projects won’t cost you a cent.
I would totally agree with your assessment on Project Management systems for web designers and development agencies. Like you we have assessed most of the products you listed and whilst many have some excellent features, at the end of the day, the really good ones were an overkill for the projects we are dealing with and in general they were priced to reflect this.
One of the lessons we have learnt is that don't select yr project management tool for use by clients - they simply don't get it, want to know about it or possess the skills to use and understand it. Instead, make sure that you have good communication channels with the client that can feed back into the PM tool without complicating things for the client.
Other reasons we were swayed to Teamwork (which we have been using for several years now) is that our offshore development team use this with all their projects and that Teamwork have just got the user interface down pat these days particularly with the new Taskboard feature and the multiple levels of sub tasks we can set in place.
The only weakness or frustration I have is with managing the status of tasks as they flow through the various stages of the project lifecycle. It would be nice to actually build the status and workflows in as a feature of the product rather than through manual workarounds.
Thanks Greg! Totally agree on pretty much everything you said.
I'm yet to find anything that comes close to Podio in terms of workflows. I'm hoping that one day, Zapier will have more capability to define these kinds of things
Im already using teamwork, however your post has reaffirmed my choice and pointed out how good Teamwork Desk is. Its nearly 11:30 pm here and in the morning I will be diving right into Desk! Thank you! I look forward to seeing more of your posts!
It's such a great tool. Good idea - desk is an amazing addition to Teamwork
Great review, thank you! Like you I've demo'd loads of tools (it feels!) but hadn't actually come across TeamWork... so we started building our own inhouse tool. My "overall dream" for our "jobs" system is to work basically how you've described TeamWork+Desk, so now I'm wondering how I can break it to the developer who's built our inhouse platform that maybe we don't need it... (as there's so much TeamWork already does that we haven't built yet)!
Our main issues though with things such as trello were 2 fold - so it'd be great if you could tell me if TeamWork covers these?
1) Millions of little requests coming in from clients (ok not millions). So if we've got over 100 clients each asking for adhoc little updates, we don't want to keep opening and closing whole projects (or boards) for tiny little updates. So on trello we had a board for each big project being worked on, and a general board for "little to-dos", with little requests being given a card on there. But it just got too tricky to see easily what needed doing next.
2) Linked to the above, priority. So we have developers working on big builds, but then a different client calls in with a little request, and they'd ask me "what takes priority? The big project or shall I just pause and do that little thing / tidy up a few little jobs?" This is where trello really fell down for us - we used due dates and aging cards and different lists and labels and interlinking cards and boards but at the end of the day there was just no good way (that we found) or people being able to just look at a screen and think "right, that's what I'm doing next". So they'd ask me - meaning more emails and calls if I wasn't in the office. If I could just drag and drop things into a priority list in the morning so people could come in and see what was what, it'd help a lot.
Can TeamWork help with those things, do you think?!
Haha oh no! Building an in house system can add up so quickly! One day I think we might go down the path of building someone specific for web designers if we have the time and drive.
To answer your questions:
1 - Yep, that's exactly what we do in TW. One project for all the little stuff. Only problem is it makes the reports/summary pretty useless. Because the graphs are currently at like "500 tasks complete, 5 to go" - so it ends up just being a flat trend line at the top (500) and bottom (5)
2 - We have one guy dedicated to small stuff for this reason. And also a project manager to handle the priorities. Without those you'd just have to create a decision tree I think. Like if it is under 30 minutes and they are on a support/maintenance agreement, it takes priority. If this is a one off small change, it's low priority, etc
Hi Lisa... I will share with you how I manage our projects and client support requests which is a little different to how James would be doing it. Firstly Teamwork is the backbone of our PROJECTS and now with the Boards view for tasks the power of this system has increased several fold so I strongly suggest you get in and check the Board view of your tasks and learn how to utilise that feature.
For historical reasons and to satisfy our need to integrate our time recording into Harvest, we actually run Freshdesk as our support ticketing system which unfortunately does not link into Teamwork although there may be a Zapier app that will do so. Irrespective, it is not a big drama and works very nicely.
Our workflow is to use Freshdesk (you can run Teamdesk) for logging all support tickets be it simple change requests, fault reports or support questions. If they are small support tasks that can be readily handled quickly we keep it within the support ticketing system.
If the request constitutes a project (as series of tasks leading to the production of a specific outcome or deliverable involving one or more resources over a period of time) then we create a TASK within a special project we call CLIENT SUPPORT MINI PROJECTS. This new task can itself have a series of sub-tasks. We can manage this as mini projects without using up project limits and they can be easily closed off. In fact we have gone one step further and set up a top level TASK within our SUPPORT PROJECT for each client and then each mini support project is a sub-task within the "client" task (this one never closes) and the sub-task will have a reference back to our support ticket. This way we link (be it manually) or identify the relationship between the original support request which becomes a min-project as a sub-task within the client TASK within the SUPPORT project.
Hope that makes sense.
That makes perfect sense, many thanks for taking the time to reply Greg! lx
Thanks James. I wouldn't be too bothered about the reporting on the little ones so that'd be fine I think. A decision tree is a good idea for when I'm out of the office (a newborn member of our team is expected later in the year and it'd be nice to have more than a weeks maternity leave this time...) - it's just making sure low priority ones don't drop off the radar completely. But I think there can be ways to safety nets to catch these. lx
Sounds good. Hope it works for you 🙂
Great thoughts i think that's a great pattern to designing a business website. james you are right but let me check on thing creativity get many updated in 2017 most platform also work at latest trends and its also depend on developers.