Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Buenas prácticas, ¿Por qué son buenas?
Search
aitortxu
November 28, 2019
Programming
0
660
Buenas prácticas, ¿Por qué son buenas?
aitortxu
November 28, 2019
Tweet
Share
More Decks by aitortxu
See All by aitortxu
pamplona_scraft.pdf
aitortxu
0
93
En mi equipo funciona pero no sé por qué
aitortxu
0
330
Deuda técnica ¿Podemos pagar los plazos?
aitortxu
0
180
Fallando con Grails
aitortxu
1
3k
Probando con Grails
aitortxu
0
110
Katayunos
aitortxu
1
220
Other Decks in Programming
See All in Programming
Package Management Learnings from Homebrew
mikemcquaid
0
180
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
510
Basic Architectures
denyspoltorak
0
660
CSC307 Lecture 08
javiergs
PRO
0
660
CSC307 Lecture 03
javiergs
PRO
1
490
.NET Conf 2025 の興味のあるセッ ションを復習した / dotnet conf 2025 quick recap for backend engineer
tomohisa
0
130
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
630
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
230
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
970
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
260
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
120
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
1
380
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
53
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
230
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
430
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
75
Transcript
Buenas prácticas ¿Por qué son buenas? Aitor Alzola @Aitortxu foto
ponente Software crafters
Buenas prácticas ¿Por qué son buenas?
¿Qué es una buena práctica?
None
Negocio + Tecnología
Nuestro Contexto
None
Desarrollo en cascada vs Desarrollo ágil
https://martinfowler.com/bliki/WaterfallProcess.html
https://martinfowler.com/bliki/WaterfallProcess.html
Manifiesto por el Desarrollo Ágil de Software
Xtreme Programming
https://en.wikipedia.org/wiki/Extreme_programming#/media/File:Extreme_Programming.svg
Iterativo e incremental
None
None
Testing automático
Testing automático Product vs tests 0 25 50 75 100
1 2 3 Product Testing
Testing automático Product vs tests 0 35 70 105 140
1 2 3 Product Testing
Testing automático Product vs tests 0 40 80 120 160
1 2 3 Product Testing
Testing automático Product vs tests 0 45 90 135 180
1 2 3 Product Testing
Testing automático Product vs tests 0 50 100 150 200
1 2 3 Product Testing
Testing automático Product vs tests 0 75 150 225 300
1 2 3 Product Testing
0 22,5 45 67,5 90 1 2 3 4 5
6 7 8 9 10 Manual vs Automático
None
None
None
None
None
25.000 pruebas automáticas 15.000 pruebas interpretación 12.000 e2e metalingua 300
e2e sdk
Testing automático
Testing automático
None
Re-fac-tor To rewrite existing source code in order to improve
its readability, reusability or structure without affecting its meaning or behaviour.
Re-fac-tor Sin pruebas automáticas
Re-fac-tor Cambiar y rezar
Complejidad accidental VS Complejidad intrínseca
Integración continua
Integración continua
Integración continua Trunk-based Short-time branches …
Integración continua No nos liamos
Continuous Integración
Build Test Deploy Continuous Integración
Continuous Delivery
Continuous Deployment
Continuous Deployment Automatización Schema migration Infrastructure as code Automatización de
despliegue Testing integrado en el pipeline de entrega
Calidad de código
http://commadot.com/
Propiedad colectiva del código
Code review
https://www.semanticscholar.org/paper/Object-oriented-inspection-in-the-face-of-delocali-Dunsmore-Roper/ee2d1d5d592735bff88e61e5e05c74324b8f1e36
Pair programming
None
Inmutability
Métodos que devuelven el resultado de lo que hacen
Métodos que hacen lo que dicen
https://www.teepublic.com/es-mx/pegatina/1693236-kiss-keep-it-simple-stupid
http://www.dckap.com/blog/wp-content/uploads/2018/06/SOLID-PNG.png
Passes the tests. Reveals intention No duplication (DRY) Fewest elements
Four rules of Software design
Sonar
MicroServicios
https://martinfowler.com/articles/microservices/images/sketch.png
https://joshiarati12.files.wordpress.com/2016/04/cesymcwwoaerxvo.jpg?w=663
Documentación
None
Mejora continua
None
Alignment
None
¡Gracias! ¿Preguntas? @Aitortxu