Solucionando un problema creando un problema todavía mayor > Blog | Josep Salvà - Desarrollo Web

La palabra de Wifft

A veces, la gente no piensa que su solución a un problema únicamente reemplaza dicho problema con otro problema todavía mayor.

Por ejemplo, ante el planteamiento de "¿Cómo puedo desarrollar una función de PHP que haga...?", algunas personas responden "En primer lugar, olvídate de PHP, e instala <perl|python|java|elixir...>". Esto no soluciona el problema, simplemente lo reemplaza con un problema diferente. En particular, si la solución empieza con "En primer lugar olvídate de X, e instala Y" seguramente solo acabes perdiendo todavía más tiempo. Es decir, arreglar un problema de cinco minutos teniendo que invertir media hora en descargar e instalar un programa y tener que documentarte y adaptar tu trabajo previo a él, no es rentable.

Si en un entorno doméstico ya puede resultar tedioso, únicamente es un aperitivo en comparación con el tedio que ello supone en un entorno corporativo. En el mundo empresarial, incorporar un nuevo programa al flujo de trabajo puede ser extremadamente costoso.

Primero de todo, tienes que consultar con el departamento jurídico para asegurarte de que los términos legales del nuevo programa son aceptables y no crear un riesgo innecesario para el status legal de la empresa. Para una empresa, hacer scroll hacia abajo y darle a "Siguiente" al llegar al paso de "Términos y condiciones" durante el proceso de instalación, no es una opción.

¿Cuál es tu plan de acción si el nuevo programa deja de funcionar o presenta demasiadas fallas y la empresa empieza a perder cientos o miles de euros a diario?

También es necesario realizar pruebas de interoperabilidad para asegurarte de que el nuevo programa no entra en conflicto con otros programas ya desplegados actualmente (incluso en un entorno no corporativo, también corres el riesgo de que el nuevo programa entre en conflicto con otro de tus otros programas).

Luego, muchas de estas "soluciones" requieren que abandones tu solución inicial y la tengas que reescribir para adaptarlas al nuevo entorno. Si has invertido años en perfeccionar un script de PHP y solo necesitas una cosa más para hacer que tu nueva funcionalidad funcione (valga la redundancia) y alguien te dice "Oh, lo que necesitas es abandonar por completo el lenguaje que estás utilizando y empezar de cero con este otro lenguaje que a mí me gusta más y yo te digo.", probablemente descartes la sugerencia desde el principio, por dios.

Así que hay que ser cauteloso a la hora de sugerir soluciones que impliquen un replanteamiento radical del problema expuesto en primer lugar. Seguro que sí, que algo puede arreglarse fácilmente con un script de Python de una sola línea, pero instalar el intérprete de Python en una máquina (y ya no digamos en una amplia red de máquinas) puede resultar micho más costoso que una sola línea de código.