Product should have nothing to do with refactors on the systems.
Let's assume the reasons to refactor are:
1. Reduce unnecessary complexity, and
2. Reduce the gap between the code architecture and our current understanding of the domain.
Sure, you could refactor and preserve 100% of existing system behaviour, but:
- why not take the opportunity to discover the remove features that are annoying to maintain, but that the ops folks can live without (with some process change)?
1. Reduce unnecessary complexity, and
2. Reduce the gap between the code architecture and our current understanding of the domain.
Sure, you could refactor and preserve 100% of existing system behaviour, but:
- why not take the opportunity to discover the remove features that are annoying to maintain, but that the ops folks can live without (with some process change)?
- for #2, product folks can be helpful