Scbnc17 simplicidad para_desarrolladores
-
Upload
eduardo-ferro-aldama -
Category
Software
-
view
41 -
download
0
Transcript of Scbnc17 simplicidad para_desarrolladores
![Page 1: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/1.jpg)
Simplicidad para desarrolladores
![Page 2: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/2.jpg)
![Page 3: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/3.jpg)
chema comenzó un nuevo producto
Era sencillo, claro y requeria pocas funcionalidades... y por tanto poco código.
![Page 4: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/4.jpg)
El producto crecía A buen ritmo
Nuevas funcionalidades, algunas muy valoradas y otras no tanto. Al mismo tiempo la complejidad del sistema crecía de forma sospechosamente NO lineal…
![Page 5: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/5.jpg)
Foco en lo visible
![Page 6: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/6.jpg)
chema comenzó a sentir el agobio
Más complejidad, más dificultad, mucha carga mental… nuevas funcionalidades, incorporar más gente, modificar cosas, era un DOLOR...
![Page 7: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/7.jpg)
Dolor, DOLOR, CAOS, ANSIEDAD, Frustración.
![Page 8: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/8.jpg)
Hold the door,HOld th door,Hold t door,Hol t door,Hol door,
hodor!!!
![Page 9: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/9.jpg)
Lucha por la simplicidad O la
complejidad ganará y vivirás el
infierno
![Page 10: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/10.jpg)
Buenas!Eduardo Ferro AldamaZen Developer / Chamán@eferro
![Page 11: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/11.jpg)
SACACORCHOS
![Page 12: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/12.jpg)
Centrarnos en el futuro
¿Qué hace complicado el código?
Conocimiento progresivo
![Page 13: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/13.jpg)
No somos adivinos
Abraza el cambio
Abraza la incertidumbre
![Page 14: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/14.jpg)
¿Qué hace complicado el código?
Intentar hacerlo RE-USABLE
![Page 15: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/15.jpg)
“Keep reusability for libraries, not for
services”@ufried
![Page 16: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/16.jpg)
Porno Tecnológico
¿Qué hace complicado el código?
CvDrivenDevelopment
![Page 17: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/17.jpg)
Somos profesionales ¿No?
![Page 18: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/18.jpg)
0.¿Cómo HACERLO simple?
![Page 19: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/19.jpg)
¿Cómo hacerlo simple?
Poca complejidad
Soluciones simples
Eliminando complejidad de forma continua
![Page 20: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/20.jpg)
Aproximaciones sucesivas
![Page 21: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/21.jpg)
Suficientemente bueno× TIENE TESTS× Se entiende× Es pequeño
× Producción (a por feedback)
![Page 22: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/22.jpg)
¿Cuando lo vuelvo a cambiar?
![Page 23: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/23.jpg)
1.Código simple
![Page 24: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/24.jpg)
4 rules of simple design1. Runs all the tests
2. Has no duplicated logic3. States every intention important to the
programmer4. Has the fewest possible classes and methods
Kent Beck
![Page 25: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/25.jpg)
4 rules of simple design
1. Passes the tests2. Reveals intention3. No duplication4. Fewest elements
Martin Fowler
![Page 26: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/26.jpg)
TDD cycle
Red Green Refactor
![Page 27: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/27.jpg)
![Page 28: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/28.jpg)
“Software is messy because it reflects our evolving understanding
of the problem as we wrote it”
SArah MEi
![Page 29: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/29.jpg)
2.arquitectura simple
![Page 30: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/30.jpg)
Arquitectura Adaptable
![Page 31: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/31.jpg)
Arquitectura EvolutivaCrecimiento orgánico
![Page 32: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/32.jpg)
Muchas herramientas y soluciones
![Page 33: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/33.jpg)
Refactor continuo
![Page 34: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/34.jpg)
LA constante es el cambio
![Page 35: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/35.jpg)
Supervivencia no garantizada
![Page 36: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/36.jpg)
![Page 37: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/37.jpg)
Identificar puntos de fallo de un
sistema
Chaos engineeringVS
Ejemplo
![Page 38: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/38.jpg)
Mantener estado/Conf
servidores
Servidores InmutablesVS
Ejemplo
![Page 39: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/39.jpg)
Calcular cambios de estado
Almacenar eventos VS
Ejemplo
![Page 40: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/40.jpg)
Supervisión: resolver fallos
parciales
Supervisión: Reiniciar a estado
conocidoVS
Ejemplo
![Page 41: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/41.jpg)
Calcular trabajo pendiente y
rendimiento
Moving average rendimiento actualVS
Ejemplo
![Page 42: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/42.jpg)
Edsger W. Dijkstra
“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.”
![Page 43: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/43.jpg)
“Keep it simple, make it valuable, build it
piece by piece”
RON Jeffries
![Page 44: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/44.jpg)
![Page 45: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/45.jpg)
● Simple made easy● 8 lines of code ● Postponer (CAS16) ● PosTponer: libro de recetas (SCPNA17)● Art of destroying software● Embracing Uncertainty ● Nature of software development ● Understading the 4 rules of simple design
![Page 46: Scbnc17 simplicidad para_desarrolladores](https://reader030.fdocuments.net/reader030/viewer/2022021500/5a6e91957f8b9ad9638b4a3b/html5/thumbnails/46.jpg)
GRacias!!!@eferro & www.eferro.net