Desde mi experiencia se requiere en situaciones radicales.
A medida que las nuevas tecnologías y bibliotecas entran en el mercado con intervalos demasiado frecuentes, no debe ser demasiado estricto con ellas, especialmente cuando es una startup con al menos 2 a 3 años de aplicación que utilizaba las últimas técnicas durante el desarrollo inicial.
Las principales razones para reescribir serían:
- ¿Cómo se crearon las aplicaciones de nivel de sistema, como el centro de software, en Ubuntu Linux?
- ¿Qué sitios web tienen ejercicios de dibujo de AutoCAD?
- ¿Cómo se creó el formato PDF?
- ¿Qué es una solución o un software para la gestión y el seguimiento del equipo?
- ¿Cuál es el mejor software o servicio en línea para presentar impuestos de trabajo por cuenta propia electrónicamente? En particular, ¿hay uno gratis?
- Su aplicación difiere radicalmente de la competencia en cuanto a interfaz de usuario y rendimiento;
- Su aplicación está creciendo rápidamente o tiene una audiencia sólida y sabe que el siguiente paso sería cambiar la aplicación para cumplir con la mayoría de las tendencias de audiencia y UX (no tomamos en cuenta proyectos como craiglist que se adhieren a su simplicidad y UI inicial)
- Tienes inversiones y sientes que tu proyecto cambiaría significativamente si lo reescribes para mejorar el rendimiento y la experiencia de usuario, aunque considera que ahora es una plataforma sólida para los usuarios actuales
- La aplicación no cumple con las tendencias actuales y desea tomar un nuevo aliento con un enfoque diferente tomando el nombre como base para cambiar la lógica y la metodología
Esta es mi opinión personal basada en la construcción de nuestro producto desde cero UseResponse que es utilizado por muchas compañías de Fortune 500