¿Debería poder pasar desarrollo directa y autónomamente a producción?
Por más sitios que visito… más sale el tema y más posturas diferentes me encuentro. El mundo está dividido en este tema.
Por un lado, están los que piensan que desarrollo debe poder pasar a producción autónomamente, cuando quiera. Historia de usuario desarrollada, historia de usuario que pasa inmediatamente a producción, a veces con un simple “git push”. Algunos a esto le llaman “Devops”, otros “Continuous Deployment”.
Argumentan que ellos no son de los de ¿Tardaríais mucho en pasar a producción un cambio en sólo una línea de código? No. Aprende entrega continua. Son más del estilo a aquello que contamos del caso de estudio: cómo trabaja Quora en Continuous Deployment o el de Flicker.
Por otro lado, están los que dicen que hasta preproducción OK… pero a producción nada, eso es sagrado, ahí se necesita autorización y revisión por un externo. ¿Razones? Si desarrollo pasa a producción cuando quiere, lo que quiere, aparecen varios riesgos, principalmente:
– Se pasaría a producción cualquier desarrollo que a cualquiera se le pase por la cabeza, a veces sin una necesidad de negocio detrás. Empiezan a crecer descontroladamente las aplicaciones en producción. Muchas de ellas no eran realmente necesarias para negocio.
– Algunos desarrollos no son conscientes de las implicaciones que poner algo en producción tiene en otras aplicaciones: dependencias, se consumen el rendimiento de la máquina, realmente no habían hecho las rigurosas pruebas de aseguraban, etc.
– “Continuous Delyvery” no implica “Continuous Deployment”.
Dejo a un lado a un tercer grupo, los que pasan a producción sin control, sin pruebas que den seguridad o de cualquier manera. Los anteriores dos grupos aseguran que lanzan todo tipo de pruebas antes de pasar a producción.
Bueno, ¿tú que piensas? ¿qué haceis?