This post is in reply to @sam’s question, but I think it merits a new topic.
I’m the co-founder of an industrial robotics consultancy & training startup from Holland.
In many cases, we are flown in once proverbial sh*t has hit some industrial fan.
Once we’ve cleaned stuff up, we train clients to make sure no more fans are hit in that particular location. (As contradictory as it seems, this business model actually works very well. But that for another topic.)
We really had to set up a system to make collaboration and task management much more efficient to be able to scale our output (we’re very picky about hiring new people).
Our first reflex was to look for a project/task/issue management tool.
After looking for a solution (including Todoist) and already having considered Jira (which I personally hate am not fond of), we realized we did not understand our problem:
What we actually needed was a collaboration platform.
We had already become very enthousiastic about Discourse through prior experiences with its forum functionalities, so your beautiful piece of software was the first place we looked.
In order for Discourse to be a viable platform, we needed a few main ingredients in addition to its collaboration functionality:
- Structuring information into projects and tasks with associated user permissions
- Project and task tracking
- Assigning the responsibility of (1) projects and (2) tasks to individuals (those two are not the same!)
Hierarchy and permissions are both handled through categories, so that’s actually a pretty neat match for us in Discourse.
Basically our home page looks like this (this is a fragment; project names hidden):
Structuring projects and tasks
We’ve adopted a variant of Apple’s Directly Responsible Individual (DRI) system:
- Each DRI (top-level category) is assigned projects (second-level category) the outcome of which they’re responsible for.
- Topics in these categories represent tasks, and can be assigned to any staff member. We use the Assign plugin for this. However, the DRI remains responsible for its outcome.
We’ve found that this system - which pretty naturally maps to Discourse’s two-tiered category hierarchy - works awesome. It really cuts required communication in half because it’s so incredibly transparent and clear.
Fine-grained permission control is achieved by setting permissions on the sub-categories.
Assignment and tracking
Assignment and tracking is achieved by using the Discourse Assign plugin, the Topic Status filter plugin, tagging and some some smart URL param filtering with custom links in the header:
.
Your to do’s
The brilliant Discourse Assign plugin assigns tasks to staff.
Tasks assigned to the current user are visible under the Tasks
link (/latest?assigned=me&status=open
). Finishing a task means closing the topic. It will then disappear from the list.
Note: it would be great if we could assign tasks to users who are non-Admin/Moderator users. For us it’s a bit unfortunate that we have to make someone a moderator to be able to assign them tasks).
Planning
At the start of the week we will set priorities for the week (due:this-week
). At the start of the day we will set priorities for the day (due:today
).
These are available through the Due
link in the header (url: /latest?assigned=me&tags=due:today+due:this-week
)
Request for comments
When I need Tim’s input on a task which is actually assigned to me, I will tag him with a waiting-for:tim
tag.
The entire waiting-for:
list is available through the Due
link in the header (url: /tags/
).
Selecting an assignee
As-of-yet unassigned tasks are visible accessible through the Assign
link (url: /latest?assigned=nobody&status=open
).
Once tasks are assigned they’ll move to the employee’s Tasks
list.
Outcome
Through the
- category page
- header links
we are able to actually keep track of everything we have to do in an incredibly simple fashion.
Asynchronous collaboration now occurs naturally through Discourse’s superior features in that domain, coupled to a very functional structure which makes a distinction between DRI’s and assignees.
Further improvements
- Time tracking We already know how to do this in a workable, simple fashion, just not implemented yet.
- Pipelines/phasing/workflow Tagging and smart filtering. Looking for the best system to actually make this work.
- Maybe we also want to implement some kind of dependency management (first task A, then task B) too, but we’ll only do that if we come up with a way to make that REALLY simple (the tools we use should reduce complexity, not increase it).
Suggestion for your roadmap, @sam
With little effort, you can actually convert Discourse into the best collaboration tool which also supports project/issue/task management.
Maybe slap another brand on it, whatever, but there’s a huuuuge market there. Keep in mind that many clients want an opiniated, pre-structured system which has the flexibility to bend a little bit to the idiosyncracies of their processes. I really think Discourse has the potential to actually combine those two seemingly contradictory requirements.