O/C principle dictates that production code should not be changed if system behavior augmention is required. Otherwise it becomes hard to trust tests.Following it as a dogma we are going to end with either deep inheritance trees or aggregations.On the other hand we never tried this approach so the former statement is more of an assumption. We ignore O/C principle completely what expectedly brings us a lot of pain.But augmention frequently comes along with interface changes so the design gets 'shaked' from iteration to iteration and I hardly imagine how it is even possible to adhere to O/C principle.Shouldn't some notion of feature completeness exist only after achieving which code changes should be discouraged?
Does agile contradict to Open/Closed principle?
agile;open close