In software development what does reversibility means, if we have to develop application what are the measures on reversibility, please help us to understand this and best practices.
Thanks for the details, really helpful, can we a tool like github or bitbucket and push the changes to production post UAT and still any issues found in the production after the new release we can revert if we use github or bitbucket please suggest.
Yes if you're looking to be able to reverse back to an earlier version in your release pipeline - doing those releases through a source control system (like github) is an excellent first step.
However, that's usually not sufficient to get reversibility, if you have some form of state - a database or use of the file system to store data.
For those, you will also need some formal process to ensure you know how to either revert them (which may be impossible for a database, as reverting would generally mean deleting data that you had collected) or ensuring that your software is backwards compatible with database changes. For that, you just need to test it explicitly. i.e. Run a test where you update the database schema, run the new software against it and then revert the software back one revision and see that it still works with the updated database schema.
If you include tests like those together with a source control based release pipeline, you should be fine.
Doug
D_wathi
ASKER
We have been asked by customer detailed possible use cases of reversible can you please list few,