The opposite of copy-and-modify reuse. Instead of copying a component and making changes to the copy, the original component is modified directly. Since this has an impact on all the other components that make use of it, we might need to make modifications to these components as well. This often leads to a propagation of changes throughout the entire software system