Rollback strategy for failed software deployments