* Got buy-in from my coworkers
* Collected data on how much wasted dev time there was
* Collected data on what we would gain (be specific: time to live, faster release cadence, more releases, whatever is real and appropriate)
* Collected data on what clients would gain (errors more likely to be caught before release, more features, etc)
* Present to boss, refine message, keep going up the ladder
MVP for a PoC, in my opinion:
* Come up with project goals as a team
* Sane branching strategy. Can be done at the team level if needed by making a team-level "main"
* Standalone (meaning no-deploy, "devops" framework independent) unit testing system. Use the one that comes with your language if it doesn't stink. Add unit tests to new code.
* Basic build & test system. TeamCity is easy to deploy, configure, and maintain on-prem, Jenkins supports complex use cases. Automatically run on commit to the team-level main. Allow devs to run on-demand for their feature branches. Use other systems (GitHub Actions, Azure DevOps, etc) if you have the budget.
Keep it simple. Don't worry about pull requests and approval chains at this point. Automatically build it, test it, and put it someplace it could be deployed.
Most large companies have teams for this. I've found that the earlier in a company's life you add someone dedicated to this the better.