metodologías Ágiles para el desarrollo de software
TRANSCRIPT
Metodologías Ágilespara el Desarrollo de Software
Germán GonzálezSoftware Craftsman
Nisum Chile
2
About: Germán González
● Passionate Software Developer● Software Craftsmanship Advocate● Miembro de la comunidad ChileÁgil
http://www.chileagil.cl● Cofundador Podcast SudamericanCoders
http://sudamericancoders.fm● Software Developer en Nisum Chile● @taichi2000
3
¿Personaso
Procesos?
4
5
6
7
Cono de la Incertidumbre
8
9
Juegos de Rol y Skills en Software Development
Fuerza Sintaxis del lenguajeBibliotecas
Destreza TDDFlexibilidad para implementar cambios
Resistencia Ritmo Sostenible
Inteligencia Pensamiento Lógico
Sabiduría Get things doneExperiencia
Carisma Relaciones interpersonalesCoraje
10
Un poco de historia
● Waterfall● Rational Unified Process● Iterativo Incremental● CMMI● XP, Crystal● Scrum, Kanban, Lean
11
En fases posteriores del proyecto el costo del cambio aumenta
12
Waterfall
https://en.wikipedia.org/wiki/DOD-STD-2167A
13
Rational Unified Process
14
Capability Maturity Model Integration
15
16
No Hay Balas de Plata
"No hay un simple desarrollo en tecnología o técnica de gestión, que por sí solo prometa incluso una mejora en la productividad, fiabilidad, simplicidad, en un orden de magnitud [por diez] dentro de una década"
Frederick Brooks
17
"No podemos esperar siquiera ver una ganancia del doble cada dos años"
Frederick Brooks
18
Complejidad del Software
● Accidental– Soluciones que son factibles de ser simplificadas
● Esencial– Soluciones son todas complicadas, confusas
19
PeoplewareLos problemas sociológicos son los más relevantes de nuestro trabajo
Tom de MarcoTimothy Lister
20
La Calidad no es transable
21
ManifiestoÁgil
22
http://www.agilemanifesto.org/
23
24
25
26
Manifiesto de Software Craftsmanship
27
28
“It is a myth that we can get systems “right the first time.”
Instead, we should implement only today’s stories, then refactor and expand the system to implement new stories tomorrow.
This is the essence of iterative and incremental agility. Test-driven development, refactoring, and the clean code they produce make this work at the code level.”
Clean Code: A handbook of Agile Software Craftsmanship
Robert C. Martin
29
SCRUM
30
Scrum Roles
31
Scrum task board
32
Cómo lo hacemos en Nisum
33
Agile Delivery
34
SCRUM XP● Roles● Sprint Planning● Daily Scrum Meeting● Sprint● Sprint Review + Retrospective● Product Backlog● Sprint Backlog● Product Increment● Burndown chart
● User Stories● Spikes● Refactoring● Pair Programming● TDD● BDD● Continuous Integration
Scrum + XP
35
Gracias