metodologías Ágiles para el desarrollo de software

35
Metodologías Ágiles para el Desarrollo de Software Germán González Software Craftsman Nisum Chile

Upload: german-gonzalez

Post on 28-Jul-2015

323 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Metodologías Ágiles para el Desarrollo de Software

Metodologías Ágilespara el Desarrollo de Software

Germán GonzálezSoftware Craftsman

Nisum Chile

Page 2: Metodologías Ágiles para el Desarrollo de Software

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

Page 3: Metodologías Ágiles para el Desarrollo de Software

3

¿Personaso

Procesos?

Page 4: Metodologías Ágiles para el Desarrollo de Software

4

Page 5: Metodologías Ágiles para el Desarrollo de Software

5

Page 6: Metodologías Ágiles para el Desarrollo de Software

6

Page 7: Metodologías Ágiles para el Desarrollo de Software

7

Cono de la Incertidumbre

Page 8: Metodologías Ágiles para el Desarrollo de Software

8

Page 9: Metodologías Ágiles para el Desarrollo de Software

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

Page 10: Metodologías Ágiles para el Desarrollo de Software

10

Un poco de historia

● Waterfall● Rational Unified Process● Iterativo Incremental● CMMI● XP, Crystal● Scrum, Kanban, Lean

Page 11: Metodologías Ágiles para el Desarrollo de Software

11

En fases posteriores del proyecto el costo del cambio aumenta

Page 12: Metodologías Ágiles para el Desarrollo de Software

12

Waterfall

https://en.wikipedia.org/wiki/DOD-STD-2167A

Page 13: Metodologías Ágiles para el Desarrollo de Software

13

Rational Unified Process

Page 14: Metodologías Ágiles para el Desarrollo de Software

14

Capability Maturity Model Integration

Page 15: Metodologías Ágiles para el Desarrollo de Software

15

Page 16: Metodologías Ágiles para el Desarrollo de Software

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

Page 17: Metodologías Ágiles para el Desarrollo de Software

17

"No podemos esperar siquiera ver una ganancia del doble cada dos años"

Frederick Brooks

Page 18: Metodologías Ágiles para el Desarrollo de Software

18

Complejidad del Software

● Accidental– Soluciones que son factibles de ser simplificadas

● Esencial– Soluciones son todas complicadas, confusas

Page 19: Metodologías Ágiles para el Desarrollo de Software

19

PeoplewareLos problemas sociológicos son los más relevantes de nuestro trabajo

Tom de MarcoTimothy Lister

Page 20: Metodologías Ágiles para el Desarrollo de Software

20

La Calidad no es transable

Page 21: Metodologías Ágiles para el Desarrollo de Software

21

ManifiestoÁgil

Page 22: Metodologías Ágiles para el Desarrollo de Software

22

http://www.agilemanifesto.org/

Page 23: Metodologías Ágiles para el Desarrollo de Software

23

Page 24: Metodologías Ágiles para el Desarrollo de Software

24

Page 25: Metodologías Ágiles para el Desarrollo de Software

25

Page 26: Metodologías Ágiles para el Desarrollo de Software

26

Manifiesto de Software Craftsmanship

Page 27: Metodologías Ágiles para el Desarrollo de Software

27

Page 28: Metodologías Ágiles para el Desarrollo de Software

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

Page 29: Metodologías Ágiles para el Desarrollo de Software

29

SCRUM

Page 30: Metodologías Ágiles para el Desarrollo de Software

30

Scrum Roles

Page 31: Metodologías Ágiles para el Desarrollo de Software

31

Scrum task board

Page 32: Metodologías Ágiles para el Desarrollo de Software

32

Cómo lo hacemos en Nisum

Page 33: Metodologías Ágiles para el Desarrollo de Software

33

Agile Delivery

Page 34: Metodologías Ágiles para el Desarrollo de Software

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

Page 35: Metodologías Ágiles para el Desarrollo de Software

35

Gracias