metodologías Ágiles para el desarrollo de software

Post on 28-Jul-2015

323 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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

top related