You are on page 1of 43

Programacin Extrema

Ing. Sebastian Priolo


Metodologas giles

Menos orientadas a los documentos.

Orientadas al cdigo.

El cambio es bienvenido.

Procesos que cambian

NO son redictivos

Son adatables
E!emlos

Programacin Extrema

Scrum

"r#stal

Evolutionar# Pro!ect Management $Evo%

&eature 'riven 'eveloment $&''%

(dative So)t*are 'eveloment $(S'%

+ean 'eveloment $+'%

+ean So)t*are 'eveloment $+S'%


Mani)iesto gil
Mani)iesto gil
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
Dave Thomas
Martin Fowler
James rennin!
Jim "i!hsmith
#ndrew "unt
Ron Jeffries
Jon Kern
Kent Beck
Mike Beedle
#rie van Bennekum
#listair Cockburn
$ard Cunnin!ham
En mar,o de -../0 /1 crticos de los modelos de me!ora basados en rocesos0 convocados or 2ent 3ec40 se reunieron en Salt +a4e "it# ara discutir sobre el desarrollo de so)t*are.
Se acu5 el t6rmino 7M6todos giles8.
Mani)iesto 9gil

Estamos descubriendo me!ores maneras de desarrollar so)t*are tanto or nuestra roia exeriencia como a#udando a terceros. ( trav6s de esta exeriencia :emos arendido a valorar;
Mani)iesto gil

%ndividuos e interacciones sobre procesos y herramientas

Software &ue funciona sobre documentacin exhaustiva

Colaboraci'n con el cliente sobre negociacin de contratos

Res(onder ante el cambio sobre seguimiento de un plan


Mani)iesto gil

Esto es0 aunque los elementos a la derec:a tienen valor0 nosotros valoramos or encima de ellos los que est9n a la i,quierda.
%ndividuos e interacciones sobre procesos y herramientas

"onocimiento

(datar rocesos a las ersonas

"reatividad e innovacin
Software &ue funciona sobre documentacin exhaustiva

<er # actuar sobre rototios

&eedbac4

=enerar ideas

Nuevas osibilidades

'ocumentos > "omunicacin

'ocumentos ? 3arricadas
Colaboraci'n con el cliente sobre negociacin de contratos

el cliente es un miembro m9s del equio

se integra # colabora

gruo de traba!o.

+os modelos de contrato or obra no enca!an


Res(onder ante el cambio sobre seguimiento de un plan

Entornos inestables

)actor in:erente el cambio # la evolucin

m9s valiosa la caacidad de resuesta


<alores de gestin gil

(nticiacin # la adatacin

gestin de ro#ectos ortodoxa; lani)icacin # control ara evitar desviaciones sobre el lan.
Princiios 9giles
"onclusiones

En so)t*are la construccin es tan barata que es casi gratis.

En so)t*are todo el es)uer,o est9 en el dise5o0 de modo que requiere de ersonas creativas # talentosas.

+os rocesos creativos no se lanean )9cilmente0 de modo que la revisibilidad bien uede ser una meta imosible.

'ebemos ser mu# cautos al usar la met9)ora de la ingeniera tradicional ara construir so)t*are. Es un tio di)erente de actividad # or ende requiere un roceso di)erente.
Programacin Extrema

Kent Beck, 1999.

Conjunto de valores, practicas y actividades.

Presenta distintos escenarios


@n da en un desarrollo AP
Desarroll
ar
Las
Pruebas
Disear
Implement
ar
Requerimient
o
de Usuario
Correr las
Pruebas
Integrar
Buscar un par
<alores AP

Comunicaci'n) "rear so)t*are requiere de sistemas comunicados.

Sim(licidad) Eme,ar con lo necesario # requerido # traba!ar desde a:.

Retroalimentacion) 'el sistema0 del cliente0 # del equio.

*alentia) Programa ara :o# # no ara ma5ana.

Res(eto) El equio debe traba!ar como uno0 sin :acer desiciones reentinas
Practicas AP

Conjunto de practicas:

Retroalimentacin a escala ina

Proceso cont!nuo en lu"ar de por lotes

#ntendimiento compartido

Bienestar del pro"ramador


Betroalimentacin a escala )ina

Desarrollo uiado (or +ruebas

Jue!o de (lanificaci'n

Cliente (resente

+ro!ramaci'n en (ares
Proceso contnuo en lugar de or lotes

Integracin continua

Be)actorar sin iedad

+iberacin eque5a
Entendimiento comartido

$ise%o simple

&et'ora del sistema

Propiedad colectiva del cdi"o

Convenciones del cdi"o


3ienestar del rogramador

Paso sosteni(le
(ctividades 39sicas

"odi)icar

Cacer ruebas

Escuc:ar

'ise5ar
)rteactos *P

Cistorias del @suario

Dareas de Ingeniera

Pruebas de (cetacin

Pruebas @nitarias # de Integracin

Plan de la Entrega

"digo
Cistoria de @suario
,bservaciones)
Descri(ci'n)
Se introducen los datos del artculo $ttulo0 )ic:ero ad!unto0 resumen0 ticos% # de los autores $nombre0 eEmail0 a)iliacin%. @no de los autores debe indicarse como autor de contacto. El sistema con)irma la correcta rececin del artculo enviando un eEmail al autor de contacto con un userid # ass*ord ara que el autor ueda osteriormente acceder al artculo.
+untos Reales)
Ries!o en Desarrollo)
-#lto . Medio . Ba/o0
+untos 1stimados)
+rioridad en 2e!ocio) (lta
-#lta . Media . Ba/a0
%teraci'n #si!nada) 3 Modificaci'n de "istoria 24mero)
5suario) (utor
2ombre) Enviar artculo 24mero) /
Cistoria de @suario
+area de ,n"enier!a
Descripcin:
Programador responsable:
Fecha fin: Fecha inicio:
Puntos estimados:
Tipo de tarea :
Desarrollo / Correccin / Mejora / Otra
Nombre tarea:
Nmero historia: Nmero tarea:
+area
Prueba de (cetacin
!"aluacin:
#esultado esperado:
!ntradas:
Condiciones de ejecucin:
Descripcin:
Nombre Caso de Prueba:
Nmero $istoria de %suario: Nmero Caso de Prueba:
Caso de Prue(a
Belacin entre racticas
Escenarios en AP
Escenarios en AP ; Exloracin
Prioridad
#iesgo
!sfuer&o 'puntos(
)pi*es '+os,uejos(
Definir
$istorias
de %suario
!laborar
)pi*es
$istorias de %suario
Plani)icacin de la Entrega
$istorias
de %suario
Primera
-teracin
)egunda
-teracin
.ltima
-teracin
/
N01sima
-teracin
2elocidad de
Pro3ecto '2P(
puntos/semana
4 a 5
semanas
!ntrega
67 5 meses
"omen,ar Iteracin
$istorias de la
-teracin
Definir 3
ordenar
Tareas de
-ngenier8a
Tareas de
la iteracin
Programacin
Pruebas de
9ceptacin
de $istorias
de la iteracin
Programacin
en Parejas
Tareas de
$istorias de
la iteracin
$istorias de la
-teracin
2ersin del
Producto
Dise:o
#efactoring
Programacin
Pruebas %nitarias
-ntegracin
Pruebas de -ntegracin
Pruebas de 9ceptacin
Pruebas de (cetacin
Pruebas de
9ceptacin
Definir Pruebas
de 9ceptacin
9plicar Pruebas
de 9ceptacin
Corregir errores
Definir nue"as $istorias
Entorno # clima de traba!o
Cerramientas
Cerramientas

Alanner

&itnesse

MediaFi4i

"ruise "ontrol

Mantis
Besumen # conclusiones
"omarando
-e espera .ue no ocurran cam(ios de "ran impacto durante el proyecto -e esperan cam(ios durante el proyecto
Basadas en normas provenientes de est'ndares se"uidos por el entorno de desarrollo Basadas en /eur!sticas provenientes de pr'cticas de produccin de cdi"o
0nasis en la deinicin del proceso: roles, actividades y arteactos 0nasis en los aspectos /umanos: el individuo y el tra(ajo en e.uipo
)plica(les a proyectos de cual.uier tama%o, pero suelen ser especialmente eectivas1usadas en proyectos "randes y con e.uipos posi(lemente dispersos 2rientada a proyectos pe.ue%os. Corta duracin 3o entre"as recuentes4, e.uipos pe.ue%os 35 16 inte"rantes4 y tra(ajando en el mismo sitio
-e promueve .ue la ar.uitectura se deina tempranamente en el proyecto 7a ar.uitectura se va deiniendo y mejorando a lo lar"o del proyecto
#l cliente interact8a con el e.uipo de desarrollo mediante reuniones Cliente es parte del e.uipo de desarrollo 3adem's in9situ4
#:iste un contrato preijado ;o e:iste un contrato tradicional, de(e ser (astante le:i(le
&'s Roles, m's espec!icos Pocos Roles, m's "en<ricos y le:i(les
&'s )rteactos. #l modelado es esencial, mantenimiento de modelos Pocos )rteactos. #l modelado es prescindi(le, modelos desec/a(les.
&etodolo"!a +radicional &etodolo"!a ="il
G"u9ndo utili,ar una Metodologa gilH

;Tienes 3a un proceso< ;o
o e:iste pero no reacciona (ien a los cam(ios
o e:iste pero el e.uipo no est' contento con <l
%na Metodolog8a =gil puede ser una buena
forma de empe&ar

;o involucra "ran inversin

) los pro"ramadores les 3suele4 "ustar

) los clientes les orece mayor visi(ilidad y menor ries"o en el proyecto


&IN