Let's say you work on a large project with multiple features targeted in each release. We may have different feature branches (in the VCS) for each feature development. But after all the feature branch is merged and integration is done say one of the feature is dropped (this happens more frequently in our organization than you would imagine). Is there a way to rollback a feature at this point? What we usually do is to figure out all the code changes and manually roll back. Do you have any processes/best practices that will help reduce this effort? For the record, we have a java project with subversion as the VCS.
It depends why you dropped the feature.
If "at the last moment" is during system testing, and you don't want to repeat it, then I'd say that you just disable the feature and ship it anyway.
We have done this in the past; removing the feature can be too risky in terms of creating additional bugs. If you don't want the feature any more (for example, the requirement has gone away, or the implementation has been decided to be incorrect), then it is probably better in terms of risk to just switch it off with minimum code changes.
I mean, remove or hide UI elements which enable the feature, then users won't know it's there (provided it's turned off by default).
Hopefully during a future release there will be an opportunity to refactor that part of the code and either remove the feature or reintroduce it properly.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With