• I'm all for CI/CD because they build development departments that have a functional and well understood deployment process--and a functional and well understood rollback process for the occasional oops. This, in the end, reduces stress because you have good testing processes for releases and everyone has 'been there, done that' regularly so any given release is not such a big deal.

    That said, getting any group to that point is stressful. Building the necessary testing and rollback process as well as getting the wider community of users, testers, SMEs, etc. all folded into the process properly takes time and inevitably involves a few painful experiences. It is best accomplished at a modest pace and with a good sense of humor. The benefit of traversing this painful phase can be huge, though.

    Case in point, I'm on a contract where my work from almost a year ago has not been implemented--largely because everyone here is terrified of touching production, aka the production house of cards. Of course, by now it is very hard to remember exactly what the changes are or how best to implement them due to the impact of any other changes that may have transpired since I wrote the migration scripts. There will need to be a big 're-learning' curve before this work can migrate beyond Dev. In the end, this re-scripting and re-testing is wasted work and a useless delay.