Software Crafters ® | Creado con 🖤 para elevar el nivel de la conversación sobre programación en español| Legal
Aquella imagen los dejó paralizados…
En el siglo XVII, cuando los europeos descubrieron Australia se toparon con un animal nunca visto antes.
Por aquella época pensaban que todos los cisnes eran blancos, una creencia igual de irrefutable a que el cielo es azul.
Pero entonces, un cisne negro se alzó frente a sus ojos.
Esto impactó de lleno en las convicciones de los habitantes de la época y te puedes imaginar lo que significó…
Pues eso, una polémica que ríete tú de Twitter.
El filósofo Nassim Taleb utiliza esta metáfora en su libro “The Black Swan”, para describir un acontecimiento con estas tres características:
Ejemplos de ellos tenemos muchísimos: terremotos, pandemias, guerras, crisis financieras o atentados terroristas como el del 11-S.
Según Taleb la historia y las sociedades no evolucionan poco a poco, sino que avanzan a saltos, de cisne negro en cisne negro.
Y estos no tienen porqué ser sorpresas instantáneas, algunos necesitan tiempo para completarse.
Verás.
En el código tenemos cisnes negros de los dos tipos, los que suceden rápitos y los lentos.
Y como diría Van Gaal: “siempre son negativos, nunca positivos.”
El ejemplo más claro es cuando llegas a un punto en el proyecto en el que el código se ha degenerado tanto que es prácticamente imposible introducir nuevos cambios sin romper nada.
Este cisne negro se culmina cuando alguien formula la famosa pregunta del millón:
“¿Cuándo vamos a tirar abajo todo el proyecto y reescribirlo desde cero?”
Esto no ocurre de un día para otro, sino que poco a poco vamos arruinando el código.
Lentamente día a día, línea a línea.
Podríamos decir, que cisne gris tras cisne gris.
Los del otro tipo, los instantáneos, suelen ocurrir cuando un bug crítico se despliega en producción o cuando el cowboy de turno introduce un bug crítico por tocar en producción.
Estas situaciones pueden hacer quebrar a una empresa en un abrir y cerrar de ojos.
¿Y cómo podemos protegernos de los cisnes negros en el código?
Respuesta corta:
Programando para alcanzar la excelencia técnica.