Kent Beck's 3X model (https://www.youtube.com/watch?v=YX2XR73LnRY) relies on the same idea that depending on your context, different principles apply.
Transitions remain a tricky point. For example, when a quick and dirty wannabe feature becomes a hit, the practices should follow. What happens to the old code ?