We created Focalboard to be a self-hosted, open source alternative to tools like Trello, Notion, and Asana.
One of the most common use cases for each of these tools is managing projects. When we looked for a project management solution to coordinate the development of Focalboard itself, the choice was clear: We would use Focalboard to build Focalboard (just like Mattermost uses Mattermost to build Mattermost). Of course, there is a long tradition of “eating your own dog food”—or, as we prefer to say, “drinking your own champagne.”
We knew going in that using Focalboard in place of a more mature system like Jira would mean dealing with missing features. Luckily, we had the means to fix those limitations and implement those features ourselves.
In all honesty, we expected this process to be much harder than it was. It turns out that the reality of using the v0.6 feature set to manage the project was . . . surprisingly doable!
Here’s a look at what we did.
Organizing everything in cards
The first thing we did, like all good project teams, was to set up a channel for the project and invite all our team members and stakeholders. We then created a Focalboard attached to that channel and added a link to the header.
Next, we dumped all of our ideas into cards. We originally had a draft of our v1 roadmap in a Google Doc, but it took less than a couple of hours to copy and paste the information into about 80 total cards. Once the features were in cards, we easily added layers of organizations to each of them (e.g., epics, links to GitHub issues, and more detailed requirements).
Initially, we wondered whether we should put the specs and other details into Google Docs and link to them. But we found that the Markdown card contents were more than sufficient for recording all the important information in one place.
Now, when new information comes up during discussion, we can quickly update cards, often in real time. As a result, we know everyone is working off a single source of truth for the project and always has access to the most current information.
Running the team on Focalboard
The Focalboard team formed in late April, and we were able to use Focalboard to quickly get everyone on the same page in less than a couple weeks.
We are continuing to iterate our process as we go. The most important thing right now, as we start out, is to make sure our developers have rich enough definitions of the initial features so they can get to work productively.
One of the primary goals of project management is to keep your team unblocked. This means having enough “dev-ready” features to start coding, stretching out at least one or two sprints ahead. It also means ensuring everyone knows what the most important thing to work on next is.
To do this, we use the standard “status” property on our feature cards with the following values:
- No Status
- Ready for Dev
- In Development
- Code Committed
- QA Validated
Whenever a developer is looking for more features to complete, they work with their lead to pick one from the “Ready for Dev” column. Once they’re assigned a task, they mark them as “In Development” and then “Code Committed” when it’s checked in. The QA team then looks for cards displaying that status to find features to test. Once tests are complete, they update the card statuses to “QA Validated.”
Each week during our team meeting, we go through the completed features, do a little happy dance, and archive the appropriate cards.
Connecting information and people
Being able to create unlimited properties on cards is awesome. But we have to be careful not to abuse it!
For example, we use properties to easily flag features, such as those needing Design or PM input. And we also added a URL property to link feature work to related GitHub issues.
In the future, we’d like to enable guest users to comment directly on Focalboard cards (Focalcards?). But for now, we’re using GitHub to track community input, and it works great because we’re able to seamlessly switch back and forth between the two platforms.
The other nice Focalboard feature is the ability to publicly share read-only boards. This is great for giving all of our stakeholders a completely transparent view into the actual work that is being done.
As an open source project, one of our most important stakeholders is you, our community. If you’re interested in tracking our progress on Focalboard, you can follow our process by looking at the actual Focalboard instance we’re using to develop the platform.
Some things we’ve learned
We’ve been using this system for a few weeks now. So far, it’s worked perfectly fine.
Having tight integration between our project management and messaging tools has raised the productivity of our team. For example, when discussing a feature in chat, we first paste the link to the card. This makes it easy to quickly see the status of that feature in the future, and open links to related information like the wireframe designs and the exact code commit in GitHub.
But there have been a few pain points along the way. For example, we have to manually link to GitHub issues, and we don’t have an automated integration with Zephyr, which we use for QA.
Either way, none of these pain points have been dealbreakers. Even better, we now have a better idea of what our extended roadmap looks like! 🙂
For us, the additional benefit of using Focalboard to build Focalboard is that we see the minor annoyances daily. This motivates us to fix issues for ourselves and our community.
Have you tried Focalboard yet?
Focalboard is shipping as a beta feature with Mattermost v5.36, which arrives on June 16.
Once you’ve installed or upgraded to v5.36, ask your administrator to enable Focalboard by following these steps.
This will add a Focalboard button to each channel header.
Click the button to open a workspace that’s accessible to members of that channel. From there, you can quickly create boards from one of the pre-defined templates or make a custom one that fits your workflow. We hope you’ll check it out, and let us know what you think!
For more information, check out the Focalboard user guide.
New to Focalboard? Get started with open source project management today.