Feature Requests

How feature requests are tracked, prioritized, and escalated.

Where are feature requests tracked?

At Mattermost, we have two main places feature requests are tracked.

The first one is Uservoice. Uservoice is open to the public, and anyone is able to submit a request or upvote existing requests. We often send community members to this site when they request features.

The second place is in productboard. Productboard is an internal tool used for tracking and prioritizing feature reqeusts. Customer-facing teams can add notes to productboard based on this process.

The Product Management team uses the information from both Uservoice and productboard to help prioritize features for the roadmap.

Filing great feature requests

When filing a feature request, the most important thing to do is capture the "why" behind it. A great way to do this is by writing requests in the form of an "Experience Report". As described in the golang wiki:

"The best experience reports tell: (1) what you wanted to do, (2) what you actually did, and (3) why that wasn’t great, illustrating those by real concrete examples."

Writing in this format ensures the focus is on pain points, rather than solutions. This allows us to better define the root of the problem, which in turn makes it easier to come up with creative solutions to fix it.

If you're filing a feature request on behalf of a customer, make sure to also include:

  • Who requested the feature.

  • How important it is to them (ideally, based on stack rank against their other requests).

  • Links to any relevant conversations, Zendesk tickets, etc.

Escalating a feature request

Generally speaking, feature requests are prioritized through our normal roadmap process. The roadmap provides an idea of where the feature falls on our prioritization list, but is not a committed release date.

If a deal is dependent on committing to a concrete timeline for a feature, the Sales team can escalate the request by sharing:

  • What is the request?

  • What is the timeline ask from the customer?

  • Are there other “must have” features blocking the deal? If so, please provide a full list.

  • If we build this feature, is the customer committed to closing the deal? If so, how big is the deal?

  • Did the customer offer NRE dollars to accelerate the feature?

The Product Management team will then evaluate the ask, and determine if we can commit to a timeline or if the feature does not fit on our roadmap.

Please be aware that committing to a concrete timeline for a deal is the exception not the norm, as it can have a negative impact on delivering other features that the rest of our user base is expecting.