Many organizations with multiple products build those products upon a single platform or set of shared components. As individual products need new common features, work will be done on the platform first and then the various products can leverage that new functionality as needed.
Managing a product platform comes with unique challenges. Platform teams are responsible for their own strategic goals and initiatives — such as infrastructure improvements and performance updates — but also need to support the roadmap for the respective products. They depend on alignment from multiple stakeholders as part of the upfront planning process and need to manage cross-functional dependencies to stay on schedule. And of course, it can be challenging to visualize a platform team's work in a way that helps everyone see which projects are on track and which ones are at risk.
In this article, we will walk through some best practices for managing product platforms in Aha! Roadmaps — including how to build your roadmap, prioritize work requests, and manage dependencies.
Click any of the following links to skip ahead:
Define your workspace hierarchy
Structure your Aha! Roadmaps account to match the way your company sets strategy and implements work. For platform teams, this might not be a straightforward mapping. For example, a platform team might be one of several teams under the same business unit (BU) or it might be part of a separate infrastructure group that serves products across multiple product lines. Either way, we recommend that you create a dedicated workspace in Aha! Roadmaps to manage platform related work.
Here is an example of how you can organize your hierarchy using workspace lines and workspaces to visualize your platform team in the context of other products. We will assume that the platform team and the product teams it serves all live under the same organizational unit. Of course, you can skip any levels that do not apply to you and add as many lines and workspaces as you need.
Company: Establish a workspace line at the top level of your hierarchy to represent your organization.
Division: Create as many additional workspace lines as you need underneath the company level to represent your business units or divisions.
Product line: Add workspace lines within each division to represent subdivisions or product lines. You might refer to these as "product suites," "product portfolios," or "families." We chose the term product line in this example.
Platform and individual products: Add a workspace to represent your product platform, and as many workspaces as you need within each product line to represent each product and service you deliver to customers. Do not worry if your platform workspace lives under a different product line — you can assign work and visualize dependencies across any level of your workspace hierarchy.
The screenshot below shows how a large software company with a platform team might structure their hierarchy in Aha! Roadmaps:
Structuring your hierarchy in this way enables you to capture and connect strategy throughout your organization. We recommend giving each workspace line and workspace a unique name to reduce confusion when you bring information together from multiple workspaces in reports and roadmaps.
Standardize settings
Since platform teams work cross-functionally, it is important to standardize terminology and workflows wherever possible. This will reduce confusion and increase efficiency by ensuring that everyone approaches their work in the same way.
Workspaces can inherit many of their settings from their parent workspace line, so the line for the parent business unit is a natural place to start.
We recommend you standardize the following settings at the line level:
Terminology: Use standard terms for every record type — especially the records your team will link to as dependencies.
Workflows: It may not be possible to use the same development workflow between product and platform teams. But you can standardize statuses and discuss areas where you would like to use fixed workflows or approval to-dos to work together effectively.
Custom fields: Consider any custom fields that you think should be standardized across product and platform teams. A custom user field could show the platform team member assigned to a product feature, for example. A predefined tag field could highlight the required infrastructure dependencies.
Estimation units: If teams estimate work, it is important that they think about effort estimates in the same way — both culturally and programmatically. If possible, choose either time or story points as your estimation unit, so that you can talk about and visualize team capacity consistently.
Scorecards: Product and platform teams each have their own strategic priorities — and also depend on each other for cross-functional progress. Later in this article we will talk about how to prioritize cross-functional requests against work that your team has already committed to, and why a consistent scorecard will be a significant asset. If product and platforms use the same product value scorecard, then you are already aligned on the metrics you value as a business unit and can have substantive conversations comparing the strategic value of disparate work items.
Use the workspace settings report to see every workspace's settings at a glance. Contact the owner of any workspace where you see changes needed. Enterprise+ customers can use workspace templates to standardize settings across your Aha! account.
If your platform workspace does not live within the same parent line as the products you serve, consider these settings as well:
User permissions: Later in this article we will discuss cross-functional work requests. If the product and platform teams live under different parent lines, make sure that team members in each workspace have appropriate permissions to see and resolve requests from another team.
Workspace settings: Your workspace cannot inherit settings from another parent line, but you can still manually update your settings to be consistent with the workspaces you work with.
Consider a meeting between product and platform workspace owners. What settings can you standardize? Which need to stay unique? If you work under different parent lines, can you standardize settings from a higher-level parent line — like the product division — that you all share?
Set your strategy
Platform teams are always busy, balancing feature requests from several different product teams against their own commitments. Setting a clear strategy will help you prioritize what will have the biggest impact, and when. Start with goals and initiatives that define how you can best improve the platform and serve the respective products.
Goals are measurable results that are needed to achieve your strategic vision. They should include a success metric and a time frame.
Initiatives are the big efforts that help you accomplish those goals. Multiple initiatives can support the same goal.
You can link records in Aha! Roadmaps directly to your strategy — so everyone on your team knows how their work contributes. Features can link to initiatives, initiatives to goals, workspace-level goals can roll up to parent line goals, and so on up to the company-level strategy. We call this the "red thread of strategy," and it helps you prioritize the most valuable work.
When it comes time to allocate the platform team's capacity, you can use your well-defined strategy to guide the conversation and make informed trade-off decisions. At a high level, you can also anticipate areas where the product and platform roadmaps are likely to generate cross-team dependencies, and factor that in as you build your plans.
Build out the platform roadmap
Once you have defined your strategic goals and initiatives, break the work down into the records that will help you implement your plan. Use your platform team workspace to create and prioritize features within releases. Allow strategy to guide prioritization decisions by focusing on the features that best align with your goals and initiatives.
As you add features to releases and epics, be sure to:
Score each feature. Every team needs to prioritize work, and that can be difficult to do without a shared framework for defining value. We recommend the product value score as a way to align around a feature's value.
Estimate effort. As you define features in your backlog, add an Initial estimate of effort in either time or story points. Development teams can add a Detailed estimate later after their technical review; at this point, your goal is to provide a high-level estimate that you can use in conjunction with a feature's score to prioritize it against other work.
Document any known cross-functional dependencies. Later in the article, we will cover how to visualize dependency status at scale.
You do not need to define every single feature your team will work on in the coming interval. And since platform teams support product efforts, you know that some of your roadmap will be determined by the needs of individual product teams. The purpose of this exercise is to define a body of work that your team can commit to with confidence, and uncover any capacity conflicts early in the planning process.
Establish regular planning cycles
Platform and product teams benefit from close alignment, so meet regularly to review the roadmap, align on priorities, and adjust plans that will help everyone move forward in unison. The cadence of strategic planning cycles will likely depend on your company, industry, and release dates. But whether it is quarterly or every six months, platform and product team leaders should meet to review their strategic roadmaps and align on cross-functional dependencies.
During the meeting, cover at a high level what you plan to achieve through your strategic initiatives, and include any items that will demand a significant amount of your team's capacity — such as an architectural upgrade, a site redesign, or efforts to support a new product launch. Listen to each product team leader give the same summary. This will help everyone adjust their schedules (and expectations!) for cross-functional dependencies.
Manage work requests
Your platform team defines the core services that multiple product teams use to deliver your offerings, so you can expect to receive a large number of cross-functional requests. Aha! Roadmaps includes several solutions to help you manage this work. Accounts on the Enterprise+ plan have a dedicated record type called a work request, but anyone in any Aha! account can manage dependencies at scale.
Manage requests with ideas portals and parking lots
First, work with individual product teams to define a process for requesting work from other teams — and an acceptable time frame to review, respond to, and (if accepted) implement those requests. Custom whiteboard templates, like the workflow diagram, can help you visualize a cross-functional workflow and create a reference point for everyone involved.
Then, consider two options to receive and review cross-functional requests.
Use a private ideas portal to manage requests from internal teams. Requests will appear as ideas, which you can review and promote to requirements, features, epics, or full initiatives. Records promoted from ideas will retain a link back to the original idea, and keep everyone who is subscribed to the idea (everyone who creates, votes for, or comments on it) updated automatically as the record moves through the product development lifecycle.
Use a parking lot to manage your platform backlog. Internal teams can add features directly to the parking lot using custom feature description templates to capture key details. You can create multiple parking lots for different urgency levels or create a separate parking lot for each product team you support. Score each feature in the parking lot after an initial review (and optionally, provide an Initial estimate of effort).
Create and receive work requests (Enterprise+)
Work requests, available to Enterprise+ customers, are one of the best ways to manage cross-functional tasks.
Work requests are a special type of to-do. Unlike a normal to-do, work requests are assigned to workspaces, not individuals, and any owner or contributor can resolve the work request. A work request could be assigned to multiple workspaces, if multiple teams each need to contribute to the work.
If a user accepts a work request, they then create a work item — such as an initiative, epic, or feature — to define and track the work. Once that work has been created, Aha! Roadmaps creates record links automatically between the work items that you can visualize in many reports and roadmaps.
The ability to visualize linked records is key, especially for platform teams. Later in this article, we will walk through how to create reports, roadmaps, and dashboards that can show the status of dependent records at a glance, so you can manage critical dependencies at scale. For now, note that work requests work both ways. Product teams may need to create work requests to platform teams to help them deliver their initiatives. Conversely, platform teams may be making changes that impact other product teams — such as a feature that is built in the platform but has to be implemented in each individual product.
Consider creating a custom user permission role, also available to Enterprise+ customers, for users who can accept and resolve work requests.
Prioritize work
Now that you have a clearly defined roadmap and a process for managing new requests, it is time to focus on the best way to prioritize what needs to get done and when. But backed by solid strategic alignment, you can prioritize work requests with confidence, even if they come from multiple teams and in varying size, urgency, and complexity.
You have multiple tools at your disposal in this scenario, but the most valuable single-page view might be the prioritization page. This page, which exists for initiatives, ideas, epics, and features, is key:
Prioritize work: Use the filters on this page (or create your own) to generate a subset of records. Consider requests within the same categories, features with the same infrastructural dependency, or initiatives in the same time frame. Then use the product value score or click and drag to stack rank the records. The result is a list of your priorities.
Add priority limits: Add priority limit lines to the prioritization page to separate your priorities into different levels or expected time frames. You can use any prioritization methodology you like, from a single line to separate work included in the next interval to Now/Next/Later or MoSCoW.
Present your priorities: Share your platform team priorities with product teams and discuss how you came to your conclusions. You can create as many prioritization views as you need to — make one for each product team, or a single unified view (including platform work) so everyone can see their requests in the context of your team's capacity and priorities.
Priorities change, especially as your team uncovers new strategic insights or identifies novel risks to mitigate. If you need to make changes to a record while you are in a meeting, click on it from the report to open it. Any changes you make — to details, product value score, or rank — will be saved immediately.
Visualize platform team capacity
With so many cross-functional dependencies, platform teams need to allocate team capacity intelligently, so the most impactful work gets completed first. You also need to mitigate potential capacity conflicts well before they derail your plans. Depending on your Aha! plan, you can manage this in two different ways:
Manage individual capacity
Add estimates to the work your team commits to. You can add an Initial estimate to help you prioritize an item, and development teams can update the Detailed estimate field after their technical review. Once you assign an Aha! record to a member of your team, these estimates and the record's duration (Start and Due dates) will affect that individual's capacity.
You can visualize this on the individuals capacity report. This report will show you at a glance where your team members are overloaded — and who could take on extra work. Plus, as your team logs progress (in time or story points) in the Actual effort field, the report will update to show progress against estimated capacity.
Manage team capacity (Enterprise+)
The team capacity report, available to Enterprise+ customers, can visualize both individual and team capacity — and accepts advanced effort estimates. First define your team's work schedule, then add effort estimates to work you plan to complete. The team capacity report will visualize your team's capacity through a variety of planning scenarios.
Better yet, as your team starts working on your roadmap, the capacity report will display their logged effort (in time or story points) against their estimates. Use this historical velocity to adjust your plans, so you can commit to work with confidence — and deliver your roadmap on time.
If your development team uses Aha! Develop, the team capacity report will calculate a team's velocity based on historical data, and adjust team members' capacity based on their individual work schedules.
Manage dependencies
It is important that platform teams understand the dependencies between their work and other teams — such as delivering an enhancement that is directly tied to a product launch.
You can use several reports and roadmaps in your Aha! account to stay on top of dependencies that your team is responsible for, and those that you rely on to complete your work.
Gantt charts can visualize dependencies between work in releases or epics, but are difficult to read when there are a large number of items in flight. For best results, use them to manage dependencies related to a single project. Red lines indicate that the dependent element is in the past — or that the dates have slipped on the release element it depends on.
The dependency report can handle a large number of items but does not include dependency status. For best results, use it as a reference to see the volume of dependencies related to your team, and filter it for a specific feature.
Calculation columns on a custom roadmap can show you dependency status at scale. For best results, use this customized roadmap to mitigate risks posed by dependencies that are behind schedule.
Beyond visualizations, use delivery risk indicators (automated and manual) to highlight risks at key points in your team's development workflow. These are especially useful for platform records that product teams depend on. If your work is at risk, you can adjust delivery dates or bring in additional resources, so that both platform and product teams can achieve their strategic roadmaps.
Set up your platform team for success. If you need help configuring your Aha! account to manage a product platform, contact us at support@aha.io. A member of our Customer Success team will respond to your request fast to help you get the most out of Aha! Roadmaps.