Permitam-me adicionar detalhes: trabalho em um local institucional com muitos codificadores, testadores, analistas de controle de qualidade, proprietários de produtos etc. e aqui está algo que me incomoda:
Conseguimos vender software ruim (embora bastante funcional) por mais de uma década. Possui muitos recursos e o produto é competitivo, mas existem alguns erros graves por aí, além de milhares de "cortes de papel" - pequenos aborrecimentos com os quais os clientes precisam se acostumar.
Dói-me olhar para algumas coisas, porque acredito firmemente que, se os computadores não ajudarem a facilitar nossas vidas, não devemos usá-las. Tenho confiança nos meus colegas - eles são inteligentes, capazes e podem melhorar as coisas quando o foco é fazer isso.
Porém, pode ser difícil arquivar bugs contra algumas funcionalidades antigas sem vê-los fechados ou esquecidos. "Funcionou assim por eras" é uma resposta típica. Além disso, quando o controle de qualidade faz regressão, eles tendem a procurar por algo que seja diferente e por algo que não parece certo. Portanto, uma correção para um problema antigo pode ser escrita como um bug, porque "foi assim antes mesmo do meu tempo".
O jovem programador em mim pensa: reescreva essa coisa louca! Como alguém que teve a oportunidade de estar perto de vendas, clientes, quero dar um benefício de dúvida a essa abordagem.
Também estou interessado em sua opinião / experiência. Tente considerar o risco, o custo-benefício e outros fatores não técnicos.