Past a certain size, every team ends up solving the same problems independently: how to deploy, where secrets live, how to get a database, what monitoring looks like, how to run something on a schedule. Each team's answer is reasonable and they are all different, so nothing transfers, incident response requires knowing which team built what, and the same work has been done five times.
An internal platform is the response, and the framing that determines whether it succeeds is whether it paves a path or blocks one. A platform that makes the standard approach the easiest available option gets adopted. A platform that forbids alternatives gets circumvented, resented, and blamed for everything - and teams will find a way around it, because they have deadlines.
Start with the thing teams complain about most, which is almost always the gap between having code and having it running somewhere. A single command or template that produces a deployed service with a pipeline, monitoring, logging and a health check attached is the highest-return piece of platform work available. Everything else can follow once that exists.
The measure worth tracking is time from an idea to it running in production for a new service. If that is two weeks of ticket-raising and configuration, the platform has an obvious job. If it is an hour, the platform is working. Measuring it also stops the platform team optimising for internal elegance rather than for the experience of the teams using it - which is the characteristic failure mode.
Golden paths should be opinionated and escapable. Here is the supported way to build a service in this language, with these libraries, this pipeline, this monitoring. Teams following it get everything for free and never think about it. Teams with a genuine reason to deviate may, at the cost of owning the difference. Both parts matter: without opinion there is no benefit, and without an escape hatch the platform becomes an obstacle that gets routed around.
The trap to avoid is building a platform nobody asked for. Platform teams that begin with an architecture rather than with the pain of the teams they serve produce impressive systems with low adoption and a permanent maintenance cost. Treat internal engineers as the customers they are - ask what wastes their time, ship the smallest thing that removes it, and measure whether they use it. Adoption is voluntary in practice however mandatory it is on paper.