Some very nice techniques and ideas in the article
But I have never rolled back a change to a production database in 10 years.
Your energy would be much better spent ensuring that deployment does not *need* to be rolled back.
And being ready to fix any minor issues that crop up ...
If you are not 100% sure deployment will succeed - do not deploy.