The company I work for has a big issue in versioning their products. This is what PaaS and micro services brought to them, and they don't have a way to tackle the problem. They suffer for years that their products don't even have a formal documentation.
After a year of working on training their PM and developers I gave up the hope of getting them a normal workflow for software development. Some people just are not good enough for that, and some companies just can't recruit qualified people in their team for various reasons. I finally come up with another way to solve this problem.
Let's just skip poor management, I asked the developers what they intend to add/remove in the next 3 weeks, list them down. Suppose that the current version of service is 2.3.1, and they want to add new vendor support for the next 3 months in each version (2.4, 2.5, 2.6), also retiring some features.
I can therefore set up milestones for them backwardly. Up to 2.6 we all know what would be available, so we can have confidence in making documentation for each (content based on existing 2.3 version) earlier. This is useful when you are working with software development such as micro services or PaaS stuff. The platform development updates itself with new features in a rolling release mindset, esp. when it is compared with traditional monolith software structure/product.