...
In PREPROD, if we have to actually remove code, there are again two approaches:
There is nothing wrong with the code, we just don't want it available to the customers yet
In this situation, the most appropriate fix is to leave the code in the release, and apply just a small update set to disable the code. In the case of a Service Catalog Item, an Update Set that toggles the Catalog Item to inActive is sufficient. When we are ready, we can have a future release where we have a small Update Set that toggles the Catalog Item back to Active.
...
We have done this with much of START Replacement. The code was fully UATed by stakeholders, it met formal requirements, and passed testing. It was determined that no START Replacement Catalog Items would be made available to end-users until Trainers develop training materials for the end-users. When training materials are available we can have a release with small update sets that toggle the Catalog Items to Active.
There is nothing wrong with the code, we have changed our mind about releasing it, and it probably won't be released in the future
This is extremely rare, but it has happened. We had a situation where we fully developed a Catalog Item, got to UAT, and the customer's process had changed so much that the code needed to be scrapped and the process started over again. In that situation, we need to do several steps:
...