We have a C++ MFC application (SLOC is ~200000 if it matters). It was written very quickly during the dot-com era with little thought given to extensibility or scalability. In the intervening time, it's become a mission critical product that we distribute to customers.
Right now, we have two great developers maintaining the codebase, but with no QA and very scant unit tests. This means that they can only add small features when requested by customers and perform bugfixes when needed and then push out a new version. This is our development process and it's not going to be possible to change it anytime soon. However, it's also become very clear that the addition of any kind of new, big feature or capability is going to require a significant redesign/re-architecting.
So, my very broad question: is the refactoring and redesign of a codebase on this scale with only two developers and no QA ever possible or advisable? Does anyone have experience with this sort of situation and how to work with limited resources like this?