#PHPMXWOMEN

Fail-Fast

Principio

Aplicado a la Industria Tech y el Desarrollo de Software.

@sagmmd/smmd

Senior Software Engineer

 

Junior Memera

 

10 años de experiencia en la industria Tech

# FAILURE

Diseño de Software

Inventar/Inovar

Tecnología

Es difícil intentar algo nuevo

y hacerlo bien la primera vez.

Fallar no es fallar,

es una lección aprendida.

Gestionando las "Fallas"

Crear un ambiente seguro

 

- No castigar

- Fomentar el aprendizaje

1.

2.

Fallar inteligentemente

 

- Extraer todo lo valioso:

   * Tu proceso

   * El proceso del equipo

   * El producto

3.

Fallar rapido

 

- Minimizar costos

# ACTION ITEMS

"Fallar rápidamente significa comenzar a trabajar en un proyecto, recopilar comentarios de inmediato y luego determinar si continuar trabajando de esa forma o adoptar un enfoque diferente, es decir, adaptarse."

# AGILE

Spotify Fail-wall 2016

# El único código que no tiene bugs es el que no se ha escrito.

 

# Entre más tardé un bug en detectarse más tardará en arreglarse.

Ingeniería de Software

if ($param == 1 || $param == "1" || $param == "uno") {
  //Continuar lógica de negocio
}
# CODE EX
if ($param !== 1) {
  throw new InvalidRequestException('Param should be int.');
}
// Continuar lógica de negocio

 Parametros en una petición

if (getenv('MY_VAR') == false) {
  define('MY_VAR', 'my_default');
}
# CODE EX
if (getenv('MY_VAR') == false) {
  throw new InvalidConfigurationException('MY_VAR env var not found.');
}

Uso de variables de entorno

try {
  $process = $this->myProcess->myFunction();
} catch (Exception $exception) {
  //Continua...
# CODE EX
try {
  $process = $this->myProcess->myFunction();
} catch (NotFoundException $exception) {
  //Manejo correcto de la excepción

Manejo de excepciones

  • Retrospectivas

  • Post-mortems

  • Documentacion

 

 

  • MVP

  • TDD

  • PR / MR

# MORE ACTIONS
  • Pruebas A-B

  • CI/CD

!GRACIAS!
¿Preguntas?

@sagmmd

Fail-Fast

By smmd

Fail-Fast

  • 157