Product Management team handbook
1% DRAFT
Overview
The purpose of this handbook is to provide more details on the Product Manager role, processes, and relations to other functions within the organization to foster success for employees in this role. This handbook may be shared with other functional areas so they may gain a better understanding of the Product Manager role, and develop a greater understanding for responsibilities and interaction areas.
The Product Management team
Message the entire team via @pmteam in the Product Management channel on https://community.mattermost.com.
The PM team includes (in alphabetical order, by their username on https://community.mattermost.com):
@chen-i.lim
@eric.sethna
@john.lugtu
@katie.wiersgalla
@neil.barnett
The Product Manager role
Product Managers are organized within the R&D area of Mattermost; however, they have interactions with all departments and areas to ensure success of the product.
Strategic priorities
Product Managers are responsible for carrying out the strategic priorities of the product. They are tasked with ensuring the product is profitable by meeting customers and users existing and future needs. Understanding that each client and user have their own set of specific requirements, use cases, and preferences; a Product Manager must understand the patterns across a broad range of input and focus on exploiting value in the areas that will provide the greatest return for the largest audience.
Core Areas of Responsibility
Problem Definition
Listen to current, prospective, and target customers and users to understand their problems and other solutions available to address their problems. Have a deep understanding of what the problem is, their use case, what's a “must have” to resolve the problem and what's a “nice to have”. Understand where the problem is with the deep context of a user/customer experience.
Document problem statements and use cases from interviews and feedback channels.
Conduct competitive analysis and market research.
Determine demand for a solution by validating propensity of problem or use case within our broader customer/user bases and market.
Document what is required by users or customers to solve the problem.
Draft 1-pagers and PRFAQs.
Strategy Alignment
Determine how problem statements align with direction and mission of your area of ownership and strategy of Mattermost. Determine priority of solving the problem and the scope at which it needs to be solved. Drive alignment and agreement on importance of priority. Say "no" when something does not align.
Score and prioritize features by impact, gain alignment from MLT, teammates, and GTM on the priority and scope of the required solution.
Document and share decisions and alignment discussions.
Solution Definition & Validation
Work with design and engineering to find solutions. Represent the voice of the user/customer to ensure must-have requirements are addressed. Coordinate external functions that need to be consulted in definition of solutions.
Write spec documents and produce low fidelity wireframes and user flows.
Determine packaging based on how the solution fits the needs of ICs, Managers, or Executives.
Validate solutions with users and customers to ensure they meet their use cases and requirements.
Solution Scheduling & Development
Work with developers, designers, and QA team to negotiate scope of functionality, resolve challenges, and ensure features meet quality standards. Represent resources and be the coordinator of collaboration across all functions and Eng teams.
Expose and resolve challenges between functions.
Test features to ensure key use cases are solved. Update stakeholders with expected timelines and changes to solution scope.
Solution Release
Work with Release Manager and Marketing to prepare customer and internal enablement and announcement materials. Ensure go-to-market and operations are prepared to accommodate adoption of new functionality.
Prepare release announcement from finalized 1-pagers/PRFAQs, record a demo of the feature, update public facing roadmaps and forums with release updates.
Complete product documentation and changelog information with assistance from Tech Writers.
Ready operational and customer-facing teams with training and enablement materials.
Solution Adoption
Advocate for adoption of the new value added to the product. Monitor feedback and iterate on improvements to improve experience.
Track feature usage and feedback through qualitative and quantitative data gathering.
Demo and share features with existing customers and users.
Iterate on feature with additional feedback from customers/users.
Guiding principles for the PM role (WIP)
Recommended Reading
What fundamental philosophies are predominant?
Pragmatic Marketing: “Your opinion, although interesting, is irrelevant.”
It’s all about the customer/user/buyer’s opinion/want/need
How do we make packaging decisions?
Prioritization framework
Tips on working with customers
Tips on working with the contributor community
Experimental, Beta, and General Availability of Features
Product Manager Duties
Product planning
Customer and feature research
Interview and ask questions to clients and prospects
Document findings and requirements
Share findings with designers and developers
Coordinate kick-off for planning activities of new features
Product vision and roadmap
Roadmap creation - what to add to roadmap and why
Socialize vision and roadmap internally and externally
Participate in Roadmap meetings
Prioritization and release planning
Capture SWAG estimates from design and developers to determine length project
Facilitate prioritization decisions in sprint and release planning meetings
Keep Release Plan up to date with features queued for the release
Feature design
Define requirements and coordinate design resources for features
Prepare and manage spec documents to organize planning, design, and stakeholder input of features
Ensure cross-collaboration between designers, developers, and QA
Create Jira tickets for features and bugs
More complete information on the Design process can be found here
Ensure designs follow our UX guidelines
Fast, Obvious, Forgiving
Determine feature availability: Team Edition or Enterprise Edition
Stewardship principles that we use to guide whether a feature belongs in TE
Determine Packaging/SKU (E10 & E20)
In-Code: if (this.props.buildEnterpriseReady && this.props.isLicensed)
Review with PM team and get approval from other leads as required
Feature development and the release process
Triage
Validate “Won’t fix”, “Won’t do” tickets. Provide a final comment of approval so ticket can be closed by QA
Assist in identifying Help Wanted tickets
Update Fix Version to “help-wanted”, which will run an automation that will automatically create a corresponding issue in GitHub
Release feature roadmap
Provide updates to current release roadmap in PM meetings
Review and provide input on release announcements
Provide updates to Release manager on deprecated features, features being promoted from experimental or beta, and any breaking changes within a release
Pull Requests in GitHub
Review Release PRs and Community PRs to ensure the feature meets requirements for design and functionality. Approve PRs once feedback (if any) is addressed by developers.
Label = PM Review
Test for user experience, use case, design, corner cases, and bugs
May need to create Spinwick server by adding label = “Set up cloud test server”. The server is created in a few minutes
Add QA and UX resources as required
If there are config setting changes you will need to ask Development to change the setting for you
If you need to test email notifications, you can set the email configuration based on on settings contained on GitHub Internal Information Repository Platform-Private
Sprints (Sprint Planning/Retros)
Work with developers to ensure the sprint work accomplishes highest priority bugs and projects on release plan/roadmap
Jira is the system used to manage work items to be completed by the development and QA team
More information on how Jira is used can be found here
Ensure tickets are available for features
Prioritize bugs
Answer questions posted by team members in planning or on tickets
Testing
Test features and provide input on PRs from Developers and Community members
Security and dot releases
Inform Release Manager and QA team of any changes that need to be released as a dot release (security or critical bug fixes)
Participate in any testing or validation required to verify fixes
Ensure fixes are moving through development and review processes efficiently
Provide Release Manager with information for changelogs and release announcements
Release Retrospectives
Participate in Release Retrospectives (see example Release Retrospective Doc)
Provide feedback from PM perspective and offer ideas for improving the release process
Product evangelism
Provide feature demos on customer calls, for customer training initiatives and for Mattermost Academy
Participate in events and conferences
Documentation
Update/create documentation for features/PRs
Maintain documentation on feature proposals (reference all design and development documentation)
Release notes should be written targeting an international IT Admin
Guidelines for documentation
Any in product instructions or documentation should never contain hard-coded links
A redirect page from https://mattermost.com/ should be used in product instructions. (See instructions here)
Maintain product accuracy on mattermost.com/product and roadmap
Author Forum, blog and release announcement posts
Example (link to Eric’s permissions post)
Other Marketing (e.g. future webinars, event participation, etc)
Customer and Community Success
Customer Success
Provide Roadmap status updates for Enterprise clients
Assist with Customer Support
PMs should be on sales/customer calls often; if not on at least a couple per week then request to be added in the CSM:PM channel and Pre-sales channel
Document and post feedback in Salesforce
Add/update Jira tickets to capture feature requests
Participate in and contribute updates via the Customer Request Triage meeting
Verify bugs reported by customers
Answer customer questions in Premier Support (PS: Customer name) Channels and in internal channels by CSM and Sales
Customer requests
Feature and improvement requests from our Enterprise customers are logged by Customer Engineers, Customer Success, and Support in productboard.
Please encourage colleagues to file feedback in productboard when they are discussing requests in Mattermost channels, so that we have single source with all requests. PMs are responsible for reviewing the productboard feedback, and assigning it to relevant feature ideas. As they are reviewing the requests, PMs may also:
Work with Customer Success and Sales to clarify use cases, root issues, and pain points as well as the priority of the request to the customer
Propose alternate solutions and workarounds when they are available
Provide feedback on whether it's a "Won't Do" feature that we are unlikely to add to the product
Update the feature idea to link any implementation or design tickets
Update the Effort for the feature with a SWAG from the Engineering team
Update the feature idea to have a release timeframe (3 months, 6 months, future) or release version if the feature is planned
After adding the feedback to the relevant idea in productboard, the PM comments and mentions the reporter so they are aware the feedback has been processed, and then marks the item as Processed.
Community Success
Ensure devs are aware and included on community contribution projects
Prep Help Wanted tickets with specifications on feature and designs as needed
Help teams come up with and prepare community contribution campaigns
Answer questions and coordinate resources to community contributors
Review community contributed PRs
Mattermost Forum
Twitter rotation
Product Managers are mentioned to assist in answering product question escalations on Twitter. Twitter is monitored by the marketing team, and they will @mention the PM team in the Twitter channel when they need to escalate a question. PMs should respond to questions in their area of ownership.
Organizational improvements
Increase productivity of department
Make progress on quarterly goals and OKRs for department
Enable other departments
Training
Develop features for internal systems
Increase community awareness
Research and propose additional ways to engage with existing community and identify new opportunities for community engagement
Meetings - WIP
PM Weekly Sync
Senior PM Managers
All PMs
Release Manager, Head of UX
Update progress on features for current release
Triage unassigned Customer Requests
Share team updates and best practices
Gather input from PM colleagues on proposals to uncover blindspots
Mondays from 1:30pm to 2:15pm Palo Alto time.
Post agenda items directly in the meeting agenda (linked in the meeting invite).
Provide supporting documentation for advanced review. Confidential information should be posted in the PM:Private Channel.
PM on the Customer Request Rotation should have assigned all obvious unassigned requests prior the meeting.
Release Manager: Get updates from PMs on items scheduled in the Release Plan.
Queued agenda items. Some agenda items that take a large amount of time may be time-copped based on other agenda items queued.
Note action steps for agenda items, especially when there is follow up required for PM who did not queue the item.
Provide updates on action steps posted against previous agenda items.
This may include providing a follow up agenda item for a future meeting.
Monthly Roadmap Call
All PMs
Optional: Sales, BizOps, Marketing departments
PMs share roadmap highlights: Focus is on features with clear release timelines, and a clear benefit to customers, so GTM knows what is coming up soon they can talk to customers about.
Demos, 1-pagers and designs are shared as needed to illustrate the benefits
Open Q&A
Monthly meeting on 1st Monday of the month from 9:00am - 10:00am Palo Alto time.
Prepare a list of features you'd like to showcase during the meeting. The agenda of features PMs are presented are typically coordinated a few days in advance.
Prepare a short demo of the features. Show prototypes or designs if a demo environment is not available.
Prepare information that the team may need to be aware of regarding feature, and be prepared to answer questions about the feature.
Present your demos and share any other important information regarding features or upcoming product changes.
Answer questions from the team. It may be necessary to time-cop a particular topic to ensure we can share all the demos on the agenda.
Share recoring post meeting.
Share feedback survey post meeting.
Frequently Asked Questions (FAQ)
How do I create redirects for in-product documentation?
Documentation that is linked in-product should always use a redirect in the form https://mattermost.com/pl/<default-page-name>/
instead of a hard-coded link to mattermost.com or docs.mattermost.com. This ensures in-product links are not broken in the event that they are moved.
To set up a redirect:
How many links do you need created?
A single link: Submit a Marketing Asana Ticket for your request. Please specify the in-product link in the form
https://mattermost.com/pl/<default-page-name>/
, and the destination URL.Multiple links: If you need more than a single link, enter the routes and corresponding destination URLs in the Product Linkout Redirects spreadsheet, on the Requests tab. Then submit a Marketing Asana Ticket for your link requests. Just let us know you've put entries in the request tab (if there's other requests in there, please let us know the rows you're referring to).
Marketing will notify you when your request is complete, and will update the spreadsheet (add your links to the correct tabs).
For a Marketing team member who adds the redirect, follow these steps:
If the destination URL has a hash (ex. https://destination.com/example-slug#anchor
), follow the directions for Yoast, otherwise, use WPEngine.
WPEngine
Login into the User Portal.
Go to the production mattermost.com instance in the dashboard and find the Redirect rules link.
Click the New redirect rule button in the top-right corner of the page.
You do not need to enter a name for the redirect.
For the Domain field, choose
mattermost.com
.For the Source field, enter the new direct you want to use in-product in the format of
^/pl/default-page-description/?$
.For the Destination field, enter the full destination URL.
Open the Advanced Settings dropdown and for the Type:
Choose
301
(this is the default option) if the destination is unlikely to change.Choose
302
if the destination could change. Browsers will cache and not pick up the change for a while if you set it to301
.
Click the Save button. Your new entry will be located at the bottom of the list.
Test your redirect URL. This will be the URL in the format of
https://mattermost.com/pl/default-page-description
.
Yoast
Log in to the administration panel for https://mattermost.com/.
From the left-hand sidebar, go to SEO > Redirects.
On the top of the screen, ensure you are on the Redirects - Yoast SEO page header on the Regex Redirects tab.
Picking the redirect Type
Choose
301
(this is the default option) if the destination is unlikely to change.Choose
302
if the destination could change. Browsers will cache and not pick up the change for a while if you set it to301
.
In the Old url field, enter in the new direct you want to use in-product in the format of
^\/pl/default-page-description\/?(\?.+)?$
. Update the page description with your page information.In the Url field, enter in the full URL with a
$1
right before the hash (ex.https://docs.mattermost.com/example-slug$1#report-a-bug
).
This is so any URL params get placed in the right spot so the anchor behavior remains.
Click the Add Redirect botton and verify your entry is added to the list. You may need to page through to find your entry.
Test your redirect URL. This will be the URL in the format of
https://mattermost.com/pl/default-page-description
.
Last updated