Common services are critical infrastructure
So, how does an organisation make a common service work?
First, the top priority of the initiative has to be to make the work of its users easier by taking on some of their load, not to enforce compliance or to save costs. The real savings are in the improved productivity of the organisation, not in reduced staff or decommissioned servers. A service is a product and needs to be run as such, including active product management. Unlike an external product there are no sales revenues to track, so success criteria must be based on how well it helps its users succeed in turn.
Second, do you really need to implement all of your services internally rather than using one of the standard publicly hosted services? They’ve built their company on supporting their tool, they have the best engineers in that business, they probably have better security than you do because they don’t have your legacy, and you can tell exactly how much it costs. Every organisation has artefacts that are deeply sensitive but, for much of what we do, good authorisation with a reputable provider is appropriate.
Third, if you decide to run a service in-house, give it the necessary status and funding. The service levels you promise will guide hardware and infrastructure choices. But you also need to allocate your best staff to grow and run the systems. The point of running an internal implementation is so that you can adapt it for your organisation, which requires taste, judgement, and skill. That's why well-known software service companies still have offices in expensive software clusters, they know how hard it is to do this sort of thing well and they need access to the right people.
Finally, for really large organisations, not every service needs to be completely centralised. Some, such as authorisation and email, should be because they’re well-understood commodities. Others, such as build systems or (the inevitable) Jira, are highly configurable and often should be tuned to the needs of a particular programme. We regularly see Jira installations that are so complicated, because they had to meet every team’s requests, that no-one knows which options to select and any reporting is meaningless. A per-programme installation might appear less efficient, but allows for a better-tuned local setup so that staff can get more done. After all, some corporate programmes are larger than most companies’ entire software organisations.