Shotgun surgery

Owing to the fast-paced nature of commercial software development, there may not be sufficient time to remodel (or refactor) a system to support the new features trivially.

Even in the absence of copied code, the implementations are guaranteed to be very similar and just as prone to requirements change or bug fixing.

[1] Typically some combination of the following is to be expected: Of these the most insidious are the psychological effects (e.g. see broken windows theory) which can exponentially lead to software rot.

Aspect-oriented programming (AOP) aims at reducing these forms of invasive modifications in favour of adopting an "aspect" or "concern".

The use of domain-specific languages is also becoming more widespread where light-weight compilers are written to generate most of the duplicated code on the behalf of the programmer.

This visualizes a shotgun surgery
A shotgun surgery can also be when a change to a "Class A" causes several minor changes to other classes in a software system.