Developer
experience shouldn't be the only focus of your internal developer platform;
driving business impact is just as important.
By Brian Wald, Head of Global Field CTO Org at GitLab
Platform engineering, which centralizes best practices and
components for development teams, is gaining prominence as DevSecOps practices
and frameworks become increasingly embedded across organizations. Platform
engineering aims to normalize and standardize developer workflows by providing
developers with optimized "golden paths" for most of their workloads and
flexibility to define exceptions for the rest.
Gartner predicts that by 2026, 80% of large software engineering
organizations will establish platform engineering teams as internal providers
of reusable services, components and tools for application delivery, up from
45% in 2022. Platform engineering allows organizations - especially larger
organizations with many engineering initiatives happening in parallel - to
scale DevSecOps principles and tooling more easily. This is incredibly
important when businesses are pressured to do more with less.
DevSecOps has created significant benefits in speed, cost and
agility. Still, larger organizations have struggled with adoption due to cost,
difficulties hiring sufficient staff and entrenched legacy technology stacks.
If not thoughtfully implemented, the traditional DevOps approach can also
result in local tooling silos, with each team choosing the tools and processes
that work best for them but that don't necessarily work well for the company as
a whole.
Organizations can follow one of two paths when developing a new
platform engineering initiative. One option is to build an authentication and
visualization layer that sits across multiple point tools - but this won't
solve the underlying problems of legacy technology stacks and tooling silos, so
it's not likely to be a long-term solution. The other option is to implement an
internal developer platform (IDP) that reduces the cognitive load on developers
by bringing multiple technologies and tools into a single self-service
experience.
Key Business Benefits of Platform Engineering
Increase speed to market: Platform engineering promises to help
organizations deliver better-quality software faster and more cost-efficiently.
Building a platform engineering team will pay off over the long term, enabling
large organizations to move quickly with less tooling, resulting in significant
cost savings.
Reduce security and compliance risks: Less tooling and more
normalized workflows reduce organizations' compliance overhead and potential
attack surface. According to IBM's Cost of a Data Breach Report, the global average
data breach cost in 2023 was $4.45 million. Still, organizations that managed
their attack surface effectively could contain breaches faster.
Improve developer experience (DevEx): DevEx is a growing
priority, with companies competing to attract and keep the best developer
talent. Platform engineering teams can help improve the developer experience by
building efficient, automated workflows or golden paths and lifting some manual,
extraneous tasks from developers' workloads. This simplifies their day-to-day,
allowing them to efficiently build, test and deploy applications and focus on
more impactful, business-critical work.
Platform Engineering Best Practices
Start With
the Culture
If "platform" describes what we should build, then "engineering"
describes how it should be built. Too many organizations leap into buying and
installing technology without considering how they'll need to evolve their
organizational culture to make the adoption a success. Just because an
organization implements an IDP doesn't mean developers will adopt it.
Platform engineering teams should consider themselves product
owners, with developers as their customers. They should conduct discovery to
understand developers' needs and then reach out to end users to help them
become successful with the resources provided. This requires marketing,
communication and customer support skills, which are often lacking in very
technical teams.
The key here is a product-oriented mindset and culture, which
allows platform engineering teams to focus on creating value for their end
users (developers) by listening to user feedback and continuously iterating and
improving their product (the developer platform). Leaders should create an
environment where team members feel empowered to seek ways to help their
specific (internal) customers. They'll be focused on making it as easy as
possible for people to consume their services - likely through self-service
interfaces or programmable APIs.
Stay
Focused on Delivering Business Value
When starting a platform engineering initiative, organizations may
be tempted to look at highly productive teams and copy what they do.
Unfortunately, they often put too much emphasis on the model team's structure
or tools. But structure and tools are often the results of a highly
productive team, not the cause. Leaders should instead focus on the business
outcomes they want to see and then identify the right tools and team structures
to achieve those goals.
Define the goal of your platform engineering practice in terms of
business impact. Developing software faster is great - but why? What business
goal does it serve?
Increasing speed and agility, for instance, is a common goal
- but there could be several business goals behind it. Slow time to market
has an obvious opportunity cost, as organizations must make difficult choices
about what products to prioritize. Organizations that can move more quickly are
also better equipped to respond to fast-moving markets. And there are security
implications - organizations must know they can respond quickly and efficiently
if a security incident occurs.
Common productivity and efficiency metrics are helpful, but
leaders should try translating those metrics into dollar values to clarify the
business value. For example, suppose a platform engineering effort reduces the
time a new developer takes to perform their first commitment to production. In
that case, the organization is saving a certain percentage of that developer's
year-one salary and part of the salary of those around them who are helping
them onboard. The organization will also likely increase retention, reducing
the need for expensive hiring (including advertising, recruiters and lengthy
interview cycles).
Leaders can optimize platform engineering initiatives by staying
laser-focused on business value to drive the right results.
Build For
Everyone
The early adopters of a developer platform might be the most
visible (and vocal) early in the process. However, remember that early adopters
- who, based on the diffusion of innovations theory, typically make up less
than 20% of an organization - may have very different needs than most users who
will eventually leverage the platform. As you define the golden paths that make
sense for your organization, ensure you're building for the majority, not just
early adopters.
One common golden path worth investing in early is an end-to-end
CI/CD pipeline supporting a particular type of workload on one set of target
platforms (such as Kubernetes). Once this base workload is supported, it
provides a strong foundation for others and confidence that the platform can
deliver value. Define your organization's priority golden paths regarding the
business outcomes they enable.
Doing More With Less
Platform engineering's benefits include faster time to market,
reduced security and compliance risk, and improved developer experience.
Establishing a product-oriented culture and setting clear business goals are
critical for success in platform engineering. It's clear that platform
engineering has never been more important than today, as businesses strive to
do more with less.
##
ABOUT THE AUTHOR
Brian Wald is Head of Global Field CTO org at GitLab. He
leads a dynamic team of Field CTOs dedicated to transforming enterprise
software development practices.