It was a rainy winter day and I was having another project management crisis with my business partner Gavin at our digital product studio Input Logic. The exact nature of the crisis eludes me now, but I’m sure we’d let some client expectations slip and were feeling guilty again.
We’d been making awesome apps for years now, but always just barely stumbled through project management. We pissed off clients and burned bridges, even though we were proud of the work itself.
We needed a change
Upstairs in the startup lounge at the co-working space we occupy I proclaimed, “That’s it, we have to become experts at project management.” I was determined.
Gavin paused a long time and finally sighed, “We’ve been saying that for 10 years man... Maybe it’s time to admit that we suck at project management and just hire someone?”
He was right.
A project manager would be the first person on our team who wasn’t explicitly being paid to produce something — code, product designs or animation. The stuff people pay us for. What would a PM do really? Make sure we get back to our clients on time? Make coffee?
We had no idea how to do project management, but we knew we needed it. We hired a project manager named Brandon who we knew our clients would love, and then hired Rachel to train us all. Six months later, we’ve developed some great processes that fit with our culture, our projects are on time, and our clients are happier. We’re still digging deep to create more efficient processes, but we can confidently say that the experience our clients have working with us now is as good as the products we produce. This has been a goal of ours for some time.
Our team of eight is pretty playful. We don’t take ourselves too seriously. We level up our abilities, play hackysack, and ship great work. We wanted a project management process that was in line with our values: relevant and helpful without sucking the fun out of things.
After some experimenting, we settled on using Slack as our primary project management tool through these simple practices.
Practice #1 — Project based channels
We create a separate channel for every project, period. We invite only those team members who are involved in the project, along with the project manager.
We create individual Slack channels for every client project.
These are multi-disciplinary channels containing coders, animators and designers alike, but no clients. We use these channels internally to discuss the project and keep it on track. Often we will create a separate channel that we invite the client to as well.
Every day, we keep a running dialog about each project in it’s respective channel. We share documents, links, and feedback publicly in the channel instead of privately between teammates. This keeps everybody up to speed on any changes in direction without losing information to private conversations.
Practice #2—Agreements pinned to project channels
Our client agreements are separated into a general agreement and a statement of work. We create them in Google Docs and then export them as PDF to be shared in Slack.
On the right you can see the pinned project scope, wireframes, and prototype.
We pin the contract PDF to each project channel even before divvying up tasks between team members, so every person knows what the team is contractually bound to do.
Practice #3—Live timeline as project channel description
We started using TeamGantt for creating project timelines and we share these with our team and the clients team. We detail out the intended timeline right from the start, so we have the same expectations the client does. Each team member working on the project offers input into the creation of the timeline and we make changes as meetings and milestones move so it’s always accurate.
An example of a project timeline created with TeamGantt.
The full gantt chart style timeline is added as the description of every project channel in Slack, and our project manager Brandon updates the timeline with changes due to delays on our side or the clients.
The channel description under #ubora is a link to the project timeline.
Everyone has quick access to the live timeline so every teammate on the project knows when the high level deliverables are due.
Practice #4—Post weekly plan in #general channel
So far, every teammate now has access to specific project channels in Slack, an understanding of the contractual scope of their projects, and the entire timeline. Now we get a little more nitty gritty.
An example of our weekly plan post in Slack each week.
We create a new Slack post every week and pin it to the #general channel, replacing the post from the previous week. It outlines our goals as a team, and each individuals overarching goal for the week.
We pin the weekly plan to our teams #general channel.
We create this document during an 11am face-to-face meeting every Friday, so on Monday morning people fire up their laptops they know exactly what to focus on.
Practice #5—Integrate Trello with Slack
This article is about Slack, so I won’t get too far into how we manage individual tasks in Trello, but I do want to highlight the awesome Slack integration in Trello for Business.
You can remind teammates in Slack about Trello card due dates, share Trello cards in Slack conversations, and even connect boards to project specific Slack channels. Definitely worth checking out for a Slack based workflow.
How it all came together
So, after years of occasionally pissing off clients with sloppy project management, we’ve levelled up our game with a few simple Slack based practices. Pretty dope.
We're still working to improve and learning a ton, so stay tuned for more!