Post on 27-Dec-2015
Programacin Extrema
Programacin Extrema
Ing. Sebastian Priolo
Metodologas giles
Menos orientadas a los documentos.
Orientadas al cdigo.
El cambio es bienvenido.
Procesos que cambian
NO son predictivos
Son adaptables
Ejemplos
Programacin Extrema
Scrum
Crystal
Evolutionary Project Management (Evo)
Feature Driven Development (FDD)
Adaptive Software Development (ASD)
Lean Development (LD)
Lean Software Development (LSD)
Manifiesto gil
Manifiesto gil
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
Dave ThomasMartin Fowler
James Grenning
Jim Highsmith
Andrew Hunt
Ron Jeffries
Jon Kern
Kent Beck
Mike Beedle
Arie van Bennekum
Alistair Cockburn
Ward Cunningham
En marzo de 2001, 17 crticos de los modelos de mejora basados en
procesos, convocados por Kent Beck, se reunieron en Salt Lake City
para discutir sobre el desarrollo de software.
Se acu el trmino Mtodos giles.
Manifiesto gil
Estamos descubriendo mejores maneras de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros. A travs de esta experiencia hemos aprendido a valorar:
Manifiesto gil
Individuos e interaccionessobreprocesos y herramientas
Software que funcionasobredocumentacin exhaustiva
Colaboracin con el clientesobrenegociacin de contratos
Responder ante el cambiosobreseguimiento de un plan
Manifiesto gil
Esto es, aunque los elementos a la derecha tienen valor, nosotros valoramos por encima de ellos los que estn a la izquierda.
Individuos e interaccionessobreprocesos y herramientas
Conocimiento
Adaptar procesos a las personas
Creatividad e innovacin
Software que funcionasobredocumentacin exhaustiva
Ver y actuar sobre prototipos
Feedback
Generar ideas
Nuevas posibilidades
Documentos < Comunicacin
Documentos = Barricadas
Colaboracin con el clientesobrenegociacin de contratos
el cliente es un miembro ms del equipo
se integra y colabora
grupo de trabajo.
Los modelos de contrato por obra no encajan
Responder ante el cambiosobreseguimiento de un plan
Entornos inestables
factor inherente el cambio y la evolucin
ms valiosa la capacidad de respuesta
Valores de gestin gil
Anticipacin y la adaptacin
gestin de proyectos ortodoxa: planificacin y control para evitar desviaciones sobre el plan.
Principios giles
Conclusiones
En software la construccin es tan barata que es casi gratis.
En software todo el esfuerzo est en el diseo, de modo que requiere de personas creativas y talentosas.
Los procesos creativos no se planean fcilmente, de modo que la previsibilidad bien puede ser una meta imposible.
Debemos ser muy cautos al usar la metfora de la ingeniera tradicional para construir software. Es un tipo diferente de actividad y por ende requiere un proceso diferente.
Programacin Extrema
Kent Beck, 1999.
Conjunto de valores, practicas y actividades.
Presenta distintos escenarios
Un da en un desarrollo XP
DesarrollarLas PruebasDisearImplementarRequerimientode UsuarioCorrer lasPruebasIntegrar
Buscar un par
Valores XP
Comunicacin:Crear software requiere de sistemas comunicados.
Simplicidad:Empezar con lo necesario y requerido y trabajar desde ah.
Retroalimentacion:Del sistema, del cliente, y del equipo.
Valentia:Programa para hoy y no para maana.
Respeto:El equipo debe trabajar como uno, sin hacer desiciones repentinas
Practicas XP
Conjunto de practicas:
Retroalimentacin a escala fina
Proceso contnuo en lugar de por lotes
Entendimiento compartido
Bienestar del programador
Retroalimentacin a escala fina
Desarrollo Guiado por Pruebas
Juego de planificacin
Cliente presente
Programacin en pares
Proceso contnuo en lugar de por lotes
Integracin continua
Refactorar sin piedad
Liberacin pequea
Entendimiento compartido
Diseo simple
Metfora del sistema
Propiedad colectiva del cdigo
Convenciones del cdigo
Bienestar del programador
Paso sostenible
Actividades Bsicas
Codificar
Hacer pruebas
Escuchar
Disear
Artefactos XP
Historias del Usuario
Tareas de Ingeniera
Pruebas de Aceptacin
Pruebas Unitarias y de Integracin
Plan de la Entrega
Cdigo
Historia de Usuario
Observaciones:
Descripcin:Se introducen los datos del artculo (ttulo, fichero adjunto, resumen, tpicos) y de los autores (nombre, e-mail, afiliacin). Uno de los autores debe indicarse como autor de contacto. El sistema confirma la correcta recepcin del artculo enviando un e-mail al autor de contacto con un userid y password para que el autor pueda posteriormente acceder al artculo.
Puntos Reales:Riesgo en Desarrollo:(Alto / Medio / Bajo)Puntos Estimados:Prioridad en Negocio:Alta(Alta / Media / Baja)Iteracin Asignada: 2Modificacin de Historia Nmero:Usuario:AutorNombre:Enviar artculoNmero:1Historia de Usuario
Tarea de Ingeniera
Descripcin:Programador responsable:Fecha fin: Fecha inicio: Puntos estimados:Tipo de tarea : Desarrollo / Correccin / Mejora / OtraNombre tarea:Nmero historia:Nmero tarea:Tarea
Prueba de Aceptacin
Evaluacin:Resultado esperado:Entradas:
Condiciones de ejecucin:
Descripcin:
Nombre Caso de Prueba:Nmero Historia de Usuario:Nmero Caso de Prueba:Caso de Prueba
Relacin entre practicas
Escenarios en XP
Escenarios en XP : Exploracin
Prioridad
RiesgoEsfuerzo (puntos)
Spikes (Bosquejos)
DefinirHistoriasde UsuarioElaborarSpikes
Historias de Usuario
Planificacin de la Entrega
Historiasde Usuario
PrimeraIteracinSegundaIteracinltimaIteracin
N-simaIteracin
Velocidad deProyecto (VP)puntos/semana
2 a 3semanas
Entrega