Blog Jose Cuellar

// Life-long learner

Fail fast, fail cheap, fail well, learn faster

por Jose el 9 octubre, 2019

Fail fast principle

Programa de forma defensiva, estricta y rigurosa. Devuelve excepciones siempre y cuando las condiciones no son las adecuadas en un momento concreto de ejecución.

Una de las prácticas que te ayudarán y que supongo que ya conocerás, son las guard clauses. Olvídate de los else en los condicionales (harán tu código más sencillo y legible).

Cuanto más permisivo seas en tus desarrollos, mayores serán las acciones correctivas que deberás hacer posteriormente y más dificultad tendrás de detectar el root cause de los bugs e inconsistencias que genere.

Asegúrate de disponer de una buena estrategia de control de errores. Mostrando al usuario friendly errors y registrando la información detallada y necesaria del error para llegar a ellos de la forma más rápida posible.

Para ciertos casos es útil la implementación de Notificación pattern.

Fail fast, fail cheap. Lean Startup Model

Si no te has leído el libro, te lo recomiendo: aquí encontrarás una reseña sobre el libro.

La necesidad de fallar rápido para aprender rápido. Mediante un pequeño y barato MVP, mide los resultados y confirma las hipótesis de tu idea inicial mediante experimentación como Test A/B. Pivota o persevera en cada caso. Evita el BDUF o BMUF y la sobreingeniería.

Fail fast, fail well

El fallo forma parte del proceso de perfeccionamiento, aprendizaje y evolución en un determinado contexto. Somos humanos, culparnos por los fallos, sería culparnos por ser lo que somos.

Asegúrate que ante un fallo, la capacidad de reacción sea rápida. Por ejemplo, si encuentras un fallo importante en la publicación de una nueva versión a producción: deberías disponer de una estrategia de rollback y emplear prácticas como canary releasing para un bajo impacto en caso de error.

Kent Beck en su libro Extremme Programming Explained explica la importancia del coraje como uno de los valores de un equipo. Ante el miedo: ¡coraje!

#tryagain

#embracefailure

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.