Use the Platform Engineering Capability Model to improve platform engineering practices
Note
Measure your organization's platform engineering efforts and set future goals with the Platform Engineering Capability Model survey.
Use the Platform Engineering Capability Model to measure your organization's current platform engineering efforts and set goals for future improvement.
Microsoft's customer research identified six core capabilities that define platform engineering - investment, adoption, governance, provisioning and management, interfaces, and measurements and feedback. These capabilities closely align with the key areas outlined in the Cloud Native Computing Foundation's platform engineering maturity model. These capabilities came analyzing survey results and from over 30 lengthy interviews with customers about their organization's platform engineering efforts. Nicki Watt's session on Maturing Your Platform Engineering Initiative (PlatformCon 2024) inspired the customer journey visualization used in this article.
Assess your current practices and set future goals
Get started by first identifying where your organization falls today in each capability area. You can do either a manual assessment or complete the Platform Engineering Capability Model survey.
To start the manual assessment, download this blank chart.
Download this chart of the capabilities across different stages to use as a reference. Your organization will most likely not be at the same level for each capability. You can learn also more about each capability here.
For each capability, fill in a circle on the blank assessment chart to show where your organization is today.
Draw a vertical line connecting each dot.
Add another empty circle for each capability that shows your organization's future desired stage. For example, your organization might want to focus on moving from the initial investment stage to the repeatable stage. Keep in mind that change can be gradual. You don't need to go from the initial to optimizing stage all at once. Your organization's target goal also might not be the last column. You should pick desired stages that align with your organization's priorities.
Draw a horizontal line from each of your organization's current capabilities to the desired capabilities.
Review your chart to visualize your organization's current state and proposed future goals.
In the previous example, the financial institution customer wants to focus on improving their adoption, governance, and provisioning and management capabilities. Here's what their current state and challenges are:
- Adoption: The platform engineering team focuses on enforcing policies set by the Center of Excellence (COE) to guide how engineering teams operate. Making each team's performance metrics public serves as a motivator for improvement. The team aims to grow platform usage without relying on directives and metrics. However, they face challenges in upskilling the COE team to handle the variety of technologies used across engineering teams. A major obstacle is the concern that the platform might not meet individual teams' specific needs, potentially causing malfunctions.
- Governance: The Platform Engineering solution is an internally developed portal that acts as a central hub for developers, offering tools, guides, coding standards, and videos. The portal includes a quiz on minimum enterprise requirements (MERS) to ensure compliance before coding begins. The portal features a version of Stack Overflow for support, certified engineer profiles, and an onboarding journey to familiarize new developers with standards and tools. The main future goal is to streamline resource management and integrate governance into the development lifecycle, removing bottlenecks and attracting top technical talent with a modern toolset.
- Provisioning and management: The platform engineering team created happy paths for developers to boost productivity while maintaining flexibility. The goal is to offer an efficient path while allowing customization. When designing these paths, the CTO team aims to cater to most developers, but the bank’s complexity, with thousands of tools in use, makes one size fit all a challenge. To scale the platform, the organization recognizes the need for automated resource provisioning to meet the diverse needs of their many engineering teams.
Set goals for your target capabilities
Each capability has a corresponding question. Research the capability areas you've targeted for improvement further and learn about how to advance your organization's platform engineering practices.
- Investment: How are staff and funds allocated to platform capabilities?
- Adoption: Why and how do users discover and use your platform engineering solution and its capabilities?
- Governance: How do you ensure that your users have access to the resources and capabilities that they need and that costs, data, and IP are managed appropriately?
- Provisioning & management: How do your users create, deploy, and manage resources?
- Interfaces: How do users interact with, and consume platform capabilities?
- Measurement & feedback: What is your organization's process for gathering and incorporating feedback and how do you measure success of your platform engineering practices?