El término "fail fast" se utiliza para describir una metodología de desarrollo de software en la que los errores se detectan lo antes posible en el proceso de desarrollo y se toman medidas correctivas inmediatas. La idea es que es mejor fallar pronto, cuando el coste de solucionar el error es menor, que esperar hasta más adelante en el proceso, cuando el coste de solucionar el error es mucho mayor.
La filosofía del fracaso rápido se utiliza a menudo en combinación con el principio de la "creación rápida de prototipos", en el que los prototipos de trabajo se desarrollan en las primeras etapas del proceso, con el fin de obtener retroalimentación de los usuarios tan pronto como sea posible. Si se obtienen opiniones pronto y con frecuencia, las posibilidades de desarrollar un producto con éxito son mucho mayores.
Hay varias formas de aplicar una estrategia de "fail fast". Un enfoque común es utilizar la integración continua, en la que los cambios de código se integran automáticamente en la base de código principal y se prueban con frecuencia. De esta manera, si hay un error, será detectado y corregido rápidamente. Otro enfoque es utilizar el desarrollo dirigido por pruebas, en el que las pruebas se escriben incluso antes de escribir el código. De este modo, cualquier error en el código se detectará inmediatamente.
¿Quién dijo falla rápido falla a menudo?
La frase "fracasa rápido, fracasa a menudo" se atribuye a menudo al empresario e inversor de Silicon Valley Peter Thiel. En su libro Zero to One: Notes on Startups, or How to Build the Future, Thiel escribe:
"El primer paso es pensar por ti mismo. Sólo tú puedes hacerlo, y no es fácil... Lo más contradictorio de todo no es oponerse a la multitud, sino pensar por ti mismo... Para tener éxito, tienes que encontrar algo que funcione y hacerlo mejor que nadie. El pensamiento contrario es, por definición, difícil; es mucho más fácil nadar con la corriente... Lo más contrario de todo es no oponerse a la multitud, sino pensar por uno mismo. Pero si puedes hacerlo, te beneficiarás de la oportunidad de descubrir verdades que todos los demás aceptan como evidentes."
En este pasaje, Thiel aboga por un enfoque contrario al pensamiento, que incluye cuestionar las creencias populares y pensar por uno mismo. Sostiene que esta es la mejor manera de encontrar ideas nuevas e innovadoras, y que aquellos que son capaces de hacer esto con eficacia tendrán éxito.
Aunque Thiel no utiliza específicamente la frase "fracasa rápido, fracasa a menudo", el sentimiento está ciertamente presente en sus palabras. Aboga por una mentalidad de experimentación y aprendizaje continuo, necesaria para alcanzar el éxito. Esta filosofía ha sido adoptada por muchos en la industria tecnológica, y se ha convertido en un mantra popular para las startups.
¿Por qué hay que fracasar rápido?
Failing fast es una técnica de desarrollo de software que ayuda a garantizar que un programa falle lo más rápidamente posible cuando se produce un error o una excepción inesperada. Esta técnica puede ayudar a evitar que los errores se propaguen por todo el código, lo que puede conducir a problemas más difíciles de depurar. Además, fallar rápidamente puede ayudar a asegurar que un programa no continúe ejecutándose en un estado indefinido.
¿Cómo fallar eficientemente?
Hay algunas cosas clave para recordar cuando se trata de fallar de manera eficiente como un desarrollador de software:
1. Reconocer cuando estás fallando. Esto puede parecer obvio, pero es importante ser honesto contigo mismo y reconocer cuando no estás cumpliendo con las expectativas.
2. No tengas miedo de pedir ayuda. Es mejor pedir ayuda y retomar el camino que seguir luchando y quedándose atrás.
3. Esté dispuesto a cambiar su enfoque. Si lo que está haciendo no funciona, esté abierto a probar algo nuevo.
4. Aprende de tus errores. Utilice sus fracasos como oportunidades para aprender y crecer como desarrollador.
5. Sigue avanzando. Nadie es perfecto, y todo el mundo comete errores. Lo importante es seguir avanzando y aprender de tus errores. ¿Has oído alguna vez a alguien decir que el fracaso es algo común? No hay una respuesta definitiva a esta pregunta, ya que suele atribuirse a múltiples personas. Paul Graham, empresario e inversor, es la principal fuente. A menudo se le ha citado diciendo: "Fracasa rápido pero fracasa a menudo". En múltiples entrevistas y artículos se ha utilizado esta frase. Esta frase ha sido utilizada por Eric Schmidt, presidente de Google, y Steve Jobs, antiguo director general de Apple.
¿Qué es el fail fast en el design thinking?
En el desarrollo de software, el fail fast es un enfoque de depuración por el que un programa se bloquea en cuanto detecta un error, para evitar que éste se propague y cause más daños. La idea es que es mejor fallar pronto y fallar a menudo, para que los errores puedan ser encontrados y corregidos rápidamente, antes de que causen problemas mayores.
El enfoque "fail fast" contrasta con el enfoque más tradicional de "try-catch-finally", en el que los errores se detectan y se manejan con gracia, para evitar los bloqueos. En muchos casos, el enfoque try-catch-finally es preferible, ya que puede evitar la pérdida de datos y la frustración del usuario. Sin embargo, en algunos casos, como cuando un error indica un problema serio con el programa, el enfoque fail fast puede ser más apropiado.