paint-brush
We Built A Lightweight Project Management Tool on Slackby@maxim-leonovich
1,011 reads
1,011 reads

We Built A Lightweight Project Management Tool on Slack

by Maxim LeonovichFebruary 24th, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

The ToDoBot is an app that can manage all your to-dos right in Slack and display them in the App Home. The team loved the fact that they didn’t need to switch systems and move things back and forth anymore — everything was contained to Slack. The new approach worked well during the bug-hunt, but longer-term planning was still challenging. There was no way to filter the feed by emoji-status, and older messages got out of sight very quickly.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - We Built A Lightweight Project Management Tool on Slack
Maxim Leonovich HackerNoon profile picture

We communicated via Slack and Trello almost exclusively for the past three years at OneBar. Recently, we’ve discovered a way to reduce communications to just Slack, and the team loves the new, lighter process! It worked for us, and there’s a great chance it’ll work for you too!

Someone on Twitter once said:

You don’t hate JIRA — you hate your job.

While there’s certainly something to this statement, I cannot say I agree entirely. I loved my previous job, but not JIRA. I’ve always been a fan of freestyle processes and lightweight tools. We communicated via Slack and Trello almost exclusively for the past three years at OneBar.

Recently, we’ve discovered a way to reduce communications to just Slack, and the team loves the new, lighter process! It worked for us, and there’s a great chance it’ll work for you too!

Slack and Trello

We love and admire Trello. You can scale Trello to work with large projects simply by adding columns and expanding the board horizontally. My favorite part of Trello is, of course, the speed of interactions — planning a project is almost as fast as writing a paragraph of text about it.

Trello has served as the source of truth for OneBar from its inception in 2017 until today.

Slack is a communication magnet

While planning a project in Trello is undoubtedly a pleasure, keeping it up to date as the work goes on — not so much. Trello has all the required functionality to support team communication: comments, mentions, content embedding, etc.

And yet, it’s simply not the place where communication happens. Bug reports, feature discussions, user feedback, prod alerts — all of that goes to Slack first and typically leads to project adjustments.

The problem is that only part of these changes makes its way back to the Trello board. During stressful times (big releases, bug-hunting sprints, prod firefighting), things inevitably go out of sync, and Slack becomes the only reliable source of truth. Sometimes, during relief times, we’d go and clean up our Trello board, but sometimes relief never happened.

The first attempt at managing a project in Slack

If the mountain won’t come to Muhammad, Muhammad must go to the mountain. While working on the knowledge discovery feature for OneBar, we had a bug-hunting spree closer to the release, as usual.

This time, though, we decided to do it differently. Instead of reporting and tracking every bug in Trello, we created a #finalizing-knowledge-discovery channel in Slack and enforced a simple policy.

  • Every top-level message in the channel must be a bug-report
  • Any discussion must go into the corresponding thread
  • Once the bug is closed, the top-level message shall be deleted

The backlog didn’t look as pretty as it did in Trello, but the crucial part was there — it was 100% up-to-date again! The team loved the fact that they didn’t need to switch systems and move things back and forth anymore — everything was contained to Slack.

Later, we realized that instead of deleting messages, we could’ve used emoji reactions to simulate statuses.

The new approach worked well during the bug-hunt, but longer-term planning was still challenging. There was no way to filter the feed by emoji-status, and older messages got out of sight very quickly.

It’s not easy to answer, “what all needs to be done here?” by looking at the emoji-saturated channel history.

ToDoBot v1

Slack recently released the new App Home Tab, and we’ve discovered a perfect use-case for it almost accidentally. In a three-day hackathon, we’ve built the ToDoBot — an app that can manage all your to-dos right in Slack and display them in the App Home.

We did not plan for ToDoBot to become a massive project, rather, a small satellite of OneBar. However, it turned out convenient, a lot of people signed up, and our team started putting all their work-items in the ToDoBot naturally.

The v1 wasn’t meant for multi-person project management and didn’t have a lot of essential features. All you could do was a) create a to-do and b) share a to-do with somebody else. The crucial part, however, was the App Home — at any moment, you could see the list of currently open items in the ToDoBot’s Home Tab.

ToDoBot v2 (Channel to-dos)

As we joined a startup accelerator, the time to properly manage projects reduced drastically, but the amount of work has only grown. Our Trello stayed untouched for more than three months at this point, and all the work was already happening in Slack, just unorganized.

ToDoBot v1 was the first baby step towards better management, and we decided to build upon it. We already had the experience of using project-specific channels, and everyone on the team was using ToDoBot privately.

How could we combine the two? What if there was an App Home, but for a channel?

Unfortunately, Slack doesn’t yet have a surface-like App Home in channels. However, it has pinned items — a static place in the channel info sidebar where you can show any message(s) from the channel.

In addition, Slack API allows you to edit any message as many times as you want. Idea!? We can emulate a per-channel Home Tab by pinning one message and continuously updating it with current to-dos.

A few more days of coding and the ToDoBot v2 was ready! It now could:

  • Create per-channel to-do listsLet you add to-dos any way you like via @-mention, /-command, message action, or a modal pop-up
  • Let you share to-dos with multiple people
  • Show your own aggregated feed of things to do in the bot’s Home Tab

Quick YouTube demo: https://youtu.be/JOC7yC6yxUY

The new process

Here’s what our updated process looks like:

  • We create a Slack channel for each small project we’re working on
  • We invite ToDoBot to every such channel and pin the to-do message
  • We post work items straight to the channel and @-mention ToDoBot in each message
  • We then assign items to people using the “Share” feature
  • Everyone looks at their personal ToDoBot’s Home Tab to figure out what they should do
  • We close items either from the bot’s Home Tab or by reacting with ✅ to the original message
  • We keep the discussion strictly to the corresponding threads

We’ve already completed several small projects using this approach, and it works unbelievably well! We still plan on using Trello for high-level strategic planning, but all the “tactical stuff” definitely stays in Slack from now on.

Future

Of course, ToDoBot is still in its infancy, and the amount of possible improvements is endless. A few immediate things that we plan on introducing soon are:

  • The ability to remove yourself from assignees
  • The ability to move to-dos between channels or share one to-do across multiple channels
  • Basic integration with Trello or Asana
  • A ton of other small improvements

We also want to test it with some of our customers to track deliverables via shared Slack channels. If you have a similar use-case in mind, please let us know at [email protected]. We want to talk with you! ;)

Finally, if the new workflow worked for us, there’s no reason why it wouldn’t work for you!

Try it out for yourself by installing ToDoBot here: https://thetodobot.com

(Disclaimer: The author is the co-Founder at Onebar)