Comment I know it sounds glib, but "It Depends" (Score 1) 177
You've mentioned a range of activities within the broad heading of maintenance, from bug-fixing to adding new features. I see these as a continuum (and the nebulous "updating" is somewhere in the middle).
At the more trivial end, bug fixing should almost never involve significant changes. The exception is if the "bug" was an incorrect design in the first place.
At the other end, adding new features depends a lot on what the new feature is, and how (or if) is fits in with the original design. For example, I have worked on a system where the design team explicitly queried parts of the specification, because to implement in a cost-effective manner it would severely limit future (we though) likely changes. Management's response was that the specs were to be implemented as provided, and were extremely unlikely to change. Ever. It was a philosophical thing. Needless to say, less than a year later, we were asked to implement exactly the changes we had anticiplated