I assume you already did your internal assessment to see where most of the energy is spent in your development process regarding time, effort, re-work, and tooling costs (free is not free). At this point, you have an idea of where the current bottlenecks are happening and can tackle the first set of objectives. I see that once the initial bottlenecks are removed, the next set emerges, and it is not always the one you expected to be (since we’re talking about productivity and dev experience).
Most teams I work with tackle the environments bottlenecks first. They build a system for isolated dev, test, and staging that mirrors production and is available on-demand to all developers without risking breaking prod. This becomes the backbone of their self-service IDP. Reliable and easily available environments are usually the major frustration for devs who want to actually code and not wait or configure resources.
Obviously, I’m speaking from my own soapbox, so your ROI calculations must come from your developer’s needs and wants.
Would love to hear how both of your projects went! @Silvia @Olga