"But if you write code that doesn't change the existing system, you simply test the additions" boils down to the open/closed principle. It's much safer to create a new class (often by inheritance) than to modify the guts of an existing class that already has dependencies.