miércoles, 16 de enero de 2008

Paso a producción

Cuando se trabaja desarrollando aplicaciones empresariales que ya están siendo utilizadas por la gente en la empresa, lo normal es contar con un entorno de desarrollo, que es donde uno realiza los cambios, y las pruebas, y un entorno de producción, que es donde el resto de la empresa trabaja. En proyectos grandes, además, puede existir un entorno intermedio de test. Estos tres entornos funcionan de forma independiente, y cuando se termina un desarrollo, hay que transportarlo al entorno de producción, y comprobar que allí todo funciona correctamente.

Este último paso que parece tan sumamente tonto y estupido, puede ser crucial, ya que debe dejar la posibilidad de volver atrás con relativa facilidad en caso de error, para que la empresa pueda seguir trabajando normalmente.

El problema llega cuando la persona que se encarga de hacer ese paso a producción se perdió el capitulo de Barrio Sesamo donde explicaban la diferencia entre “esto” y “todo”. Por si alguien más se lo perdió, (imaginad ahora la voz de nuestro gran amigo de la infancia, Coco) explicaremos que “todo” significa tomar un conjunto de cosas al completo. Por ejemplo, si decimos pasar todo el entorno de desarrollo a producción, cogeremos todos los programas que hay en desarrollo, y los copiaremos en el entorno de producción. “Esto” significa tomar parte de ese conjunto, y dejar el resto del conjunto fuera.

Una vez que Coco nos ha explicado la diferencia, os voy a contar lo que les ha pasado a mis nuevos compañeros programadores. Ellos han pedido que se pasase al entorno de producción una pequeña modificación de un programa. Obviamente, en el entorno de desarrollo, hay varias personas trabajando, y hay cosas incompletas. Pues bien, la persona encargada de hacer ese paso a producción, ha cogido absolutamente todo el entorno de desarrollo, y lo ha puesto en producción.

Podéis imaginaros el caos que se ha montado. Inmediatamente todos los usuarios han empezado a quejarse de que fallaba tal informe, o no se que programa. Y lo mejor de todo, la persona que se encarga de hacer el cambio entre desarrollo y producción todavía escurre el bulto… Luego nos quejamos de que estamos infravalorados. Con gente que no diferencia entre una parte y todo, ¿que podemos esperar?

2 comentarios:

marujageek dijo...

Para eso en tu empresa deberían de usar software de controld e versiones que facilita muuuucho las cosas.
El paso a producción sería "sólo" aplicar en una rama estable lo que se quiera.
(csv, svn, git, ...)
Salu2

Anónimo dijo...

Quizá da lo mismo. Si le dijeron "Instala esto" y entendió "Instala todo", si le dicen "Aplica la última rama estable" quizá entiende "Aplica la última rama".