¿Cuándo es posible que una empresa reescriba completamente el código de su producto? ¿Hay buenos ejemplos de tales productos?

De hecho, estoy en un proyecto donde fui contratado para reescribir un producto para una empresa. Las razones que me dieron fue que el antiguo código se había vuelto imposible de mantener, sus desarrolladores originales desaparecieron hace mucho tiempo, y los nuevos desarrolladores dispuestos a trabajar con las plataformas y tecnologías antiguas en las que se basaba eran escasos. La ironía era que el producto original funcionaba bien y era popular entre los clientes, pero los costos de mantenimiento han aumentado demasiado para que valga la pena mantener la base de código. Aunque hay algunas características nuevas en la nueva versión, el mandato era hacer que funcionara como la versión anterior tanto como sea posible para no alienar a los usuarios existentes.

Entonces, aunque puede haber muchas razones para volver a escribir un producto, en el caso de mi empresa se basó estrictamente en el costo de mantenimiento del código anterior.

Para justificar la reescritura del código de trabajo, podemos tener las siguientes razones:

  • Necesita gastar de alguna manera el presupuesto corporativo.
  • Quiere jugar con las últimas tecnologías.
  • Tiene que mantener ocupado al departamento de TI (y nunca usar el resultado).

En la vida real, volver a escribir un software que funcione bien solo para minimizar el costo de mantenimiento es un error que costará aún más (ver: Cosas que nunca debes hacer, Parte I).
Mi experiencia no puede señalar una historia exitosa de eso. Solo dos grandes fracasos.

Por lo tanto, prepárese para prolongar su contrato.

More Interesting

¿Qué se necesitaría para construir un cliente BitTorrent similar a uTorrent?

¿Cuáles son algunos problemas en una organización de desarrollo de software que conducen a una menor calidad y más errores?

¿Qué es mejor aprender como recién llegado, Java o Big Data? ¿Por qué?

¿Cuáles son las mejores formas de escribir blogs de desarrolladores de software?

¿Cuáles son las mejores aplicaciones de Android para ganar dinero?

Cómo convertirme en ingeniero de software si ya tengo un doctorado en matemática pura y algunos conocimientos autodidactas de C ++ pero no tengo antecedentes formales de CS

¿Cuáles son algunas buenas herramientas de creación de prototipos de productos de software?

¿Cuál es la diferencia entre un proyecto y un programa?

¿Por qué los desarrolladores de juegos necesitan habilidades de programación en C ++?

Desde una perspectiva de ingeniería, ¿qué tan difícil es construir la puerta trasera para el iPhone que el FBI está solicitando a Apple?

Cómo agregar la función gráfica a un software de punto de venta para PC

¿Cuál es una buena disciplina para combinar con TI (desarrollo de software) para mejorar la empleabilidad o convertirse en un especialista solicitado?

¿Aprender nuevos idiomas realmente ayuda a los programadores a crecer? ¿O es solo otro mito?

Cuando ejecuto una consulta con muchas columnas, aparece el error "Tamaño de memoria permitido de 33554432 bytes agotados (intenté asignar 512 bytes)". ¿Cuáles son algunas soluciones?

¿Por qué fallan los productos de software?