- Branch by Abstraction (or how to quit a bad habit) Branch by abstraction is a technique for making large-scale changes to a system without disrupting its operations. (quitting a bad habit, changing a job, repairing software, etc.) There may be various parts of the system dependent on an old pattern, module, component, one wants to replace. First, an abstraction layer needs to be created. It […]