#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