SlideShare une entreprise Scribd logo
1  sur  14
David de Francisco Marcos
Msc, MBA, PMP y CSM
XP y Entornos
de Desarrollo
Ágil
Máster en Informática
Universidad de Valladolid
2015-2016
david.de.fco@gmail.com
www.linkedin.com/in/daviddefco
http://es.slideshare.net/daviddefco
Notas Rápidas sobre XP
Desarrollar
Análisis Incremental
Tests de Cliente
TDD
Refactorización
Diseño Simple
Desarrollo Incremental
Spikes
Optimización
Tests Exploratorios
Prácticas XP
Pensar
Programación Pares
Trabajo con Energía
Controles Visuales
Análisis Causa – Efecto
Retrospectivas
Colaborar
Confianza
Sentarse Juntos
Cliente Involucrado
Daily Meetings
Estándares de Código
Demos Continuas
Informar y Comunicar
Planificar
Visión
Planificar Entregas
Juegos de Planificación
Gestión de Riesgos
Historias
Backlogs
Entregar
Definición de Hecho
No Bugs
Control de Versiones
Build en 10 Minutos
Autoría Compartida
Documentación
Desarrollar
Análisis Incremental
Tests de Cliente
TDD
Refactorización
Diseño Simple
Desarrollo Incremental
Spikes
Optimización
Tests Exploratorios
Prácticas XP
Pensar
Programación Pares
Trabajo con Energía
Controles Visuales
Análisis Causa – Efecto
Retrospectivas
Colaborar
Confianza
Sentarse Juntos
Cliente Involucrado
Daily Meetings
Estándares de Código
Demos Continuas
Informar y Comunicar
Planificar
Visión
Planificar Entregas
Juegos de Planificación
Gestión de Riesgos
Historias
Backlogs
Entregar
Definición de Hecho
No Bugs
Control de Versiones
Build en 10 Minutos
Autoría Compartida
Documentación
Análisis Causa - Efecto
5 Whys
Para llegar al fondo de algo continuar
preguntando por qué hasta que
llegamos a un motivo de peso
Diagrama de Raspa de Pez
1) Dibujar el problema a resolver
2) Categorizar las causas
3) Detallar las causas
4) Analizar causas principales
5) Buscar correlaciones entre ellas
Ejemplo Cucumber
Característica: Proceso de login de mi tienda online
Como cliente de la tienda online
Quiero poder autenticarme en la tienda
De forma que pueda acceder al contenido de la aplicación y mi
autenticación quede registrada a lo largo de toda la sesión
Antecedentes:
Dado que me encuentro en la vista de autenticacion de la Web
Y que no estoy autenticado dentro de la aplicación
Escenario: proceso de autenticación
Esquema del escenario: autenticación
Cuando relleno el campo de identificador de usuario con el valor
<username>
Y relleno el campo de password con el valor <password>
Entonces al pulsar en el botón de acción debería estar en la
pagina <page>
Ejemplos:
| username | password | page |
| user01 | claveerronea | LoginPage |
| inexistente| user01pass | LoginPage |
| super | user01pass | RootPage |
TDD y BDD
TDD: Ciclo rápido de:
Prueba
Desarrollo
Refactorización
Reduce el efecto de errores y mejora
el diseño del código
Behaviour Driven Development
Lleva TDD un paso más allá, al diseño
guiado por dominio, involucrando a los
BSE en los procesos de test /
aceptación
Refactorización
Refactorizar es cambiar el código
fuente sin alterar su funcionalidad.
Beneficios
Mejora el diseño del software
Contribuye a detectar errores
Facilita la comprensión del SW
Ayuda a programar más rápido
Imagen obtenida de
www.flickr.com/photos/danisarda
Ejemplo Refactorización
public class CalcSal {
private static final int meses = 12;
private static final double ss = 6.3;
private static final double imp = 14;
public static double calcSalNet(double s) {
if (s < 0) throw new IllegalArgumentException();
double sMens = s/meses;
return sMens - (s/meses * (ss/100)) - (sMens * (imp/100));
}
}
Ejemplo Refactorización
public class Salario {
private static final int CUOTAS_ANUALES_DE_SEGURIDAD_SOCIAL = 12;
private static final int NUMERO_DE_PAGAS_ANUALES = 12;
private static final double PORCENTAJE_RETENCION_SEGURIDAD_SOCIAL = 6.3;
private static final double PORCENTAJE_RETENCION_IRPF = 14;
public static double calcularSalarioMensualNeto(double salarioAnualBruto) {
validarCifraDeSalario(salarioAnualBruto);
double salarioMensualBruto = salarioAnualBruto / NUMERO_DE_PAGAS_ANUALES;
return salarioMensualBruto
- getRetencionesMensualesSeguridadSocial(salarioAnualBruto)
- getRetencionesMensualesIrpf(salarioMensualBruto);
}
private static void validarCifraDeSalario(double salarioParaValidar) {
if (salarioParaValidar < 0) throw new IllegalArgumentException(
"El valor de un salario no puede ser menor que 0"
);
}
private static double getRetencionesMensualesSeguridadSocial(double salarioAnualBruto) {
double decimalRetencionSeguridadSocial = PORCENTAJE_RETENCION_SEGURIDAD_SOCIAL / 100;
return (salarioAnualBruto / CUOTAS_ANUALES_DE_SEGURIDAD_SOCIAL) * decimalRetencionSeguridadSocial;
}
private static double getRetencionesMensualesIrpf(double salarioMensualBruto) {
double decimalRetencionIrpf = PORCENTAJE_RETENCION_IRPF / 100;
return (salarioMensualBruto * decimalRetencionIrpf);
}
}
Entornos de Desarrollo
Ejemplo Entorno de Desarrollo
Gestión de las Issues
Servidor CI
Métricas de Calidad (Sonar)

Contenu connexe

Tendances

Principios Ágiles para la Gestión de Proyectos TIC
Principios Ágiles para la Gestión de Proyectos TICPrincipios Ágiles para la Gestión de Proyectos TIC
Principios Ágiles para la Gestión de Proyectos TICDavid de Francisco Marcos
 
Shift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareShift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareMarco Avendaño
 
¿Cómo evito que mi proyecto se inunde de cambios?
¿Cómo evito que mi proyecto se inunde de cambios?¿Cómo evito que mi proyecto se inunde de cambios?
¿Cómo evito que mi proyecto se inunde de cambios?Software Guru
 
Kleer - Cómo llevamos Scrum al próximo nivel - Webinar 2011-11-03
Kleer - Cómo llevamos Scrum al próximo nivel - Webinar 2011-11-03Kleer - Cómo llevamos Scrum al próximo nivel - Webinar 2011-11-03
Kleer - Cómo llevamos Scrum al próximo nivel - Webinar 2011-11-03Kleer Agile Coaching & Training
 
Soy el Scrum Master, ¿y ahora qué hago?
Soy el Scrum Master, ¿y ahora qué hago?Soy el Scrum Master, ¿y ahora qué hago?
Soy el Scrum Master, ¿y ahora qué hago?Gustavo Quiroz
 
Primera Certificación Scrum Master en Chile
Primera Certificación Scrum Master en ChilePrimera Certificación Scrum Master en Chile
Primera Certificación Scrum Master en Chiledcadiz
 
Design QA: las grandes experiencias no ocurren por accidente
Design QA: las grandes experiencias no ocurren por accidente Design QA: las grandes experiencias no ocurren por accidente
Design QA: las grandes experiencias no ocurren por accidente Lucía Bustamante
 
Php sevilla 014: Presentación de SymfonyZero
Php sevilla 014: Presentación de SymfonyZeroPhp sevilla 014: Presentación de SymfonyZero
Php sevilla 014: Presentación de SymfonyZeroJose Antonio Dorado
 
Metodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme ProgrammingMetodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme ProgrammingEmergya
 

Tendances (20)

Principios Ágiles, Lean y Scrum
Principios Ágiles, Lean y ScrumPrincipios Ágiles, Lean y Scrum
Principios Ágiles, Lean y Scrum
 
Principios Ágiles para la Gestión de Proyectos TIC
Principios Ágiles para la Gestión de Proyectos TICPrincipios Ágiles para la Gestión de Proyectos TIC
Principios Ágiles para la Gestión de Proyectos TIC
 
Gestión de proyectos TIC en Cascada
Gestión de proyectos TIC en CascadaGestión de proyectos TIC en Cascada
Gestión de proyectos TIC en Cascada
 
Principios Ágiles y Lean-Kanban
Principios Ágiles y Lean-KanbanPrincipios Ágiles y Lean-Kanban
Principios Ágiles y Lean-Kanban
 
Framework Scrum
Framework ScrumFramework Scrum
Framework Scrum
 
Shift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareShift Left: En busca del éxito del software
Shift Left: En busca del éxito del software
 
¿Cómo evito que mi proyecto se inunde de cambios?
¿Cómo evito que mi proyecto se inunde de cambios?¿Cómo evito que mi proyecto se inunde de cambios?
¿Cómo evito que mi proyecto se inunde de cambios?
 
Metodologías Agiles
Metodologías AgilesMetodologías Agiles
Metodologías Agiles
 
Kleer - Cómo llevamos Scrum al próximo nivel - Webinar 2011-11-03
Kleer - Cómo llevamos Scrum al próximo nivel - Webinar 2011-11-03Kleer - Cómo llevamos Scrum al próximo nivel - Webinar 2011-11-03
Kleer - Cómo llevamos Scrum al próximo nivel - Webinar 2011-11-03
 
Gestión ágil de proyectos disruptivos
Gestión ágil de proyectos disruptivos Gestión ágil de proyectos disruptivos
Gestión ágil de proyectos disruptivos
 
METODOS TRADICIONALES VS AGILES
METODOS TRADICIONALES VS AGILES METODOS TRADICIONALES VS AGILES
METODOS TRADICIONALES VS AGILES
 
Metodos agiles 3
Metodos agiles 3Metodos agiles 3
Metodos agiles 3
 
Soy el Scrum Master, ¿y ahora qué hago?
Soy el Scrum Master, ¿y ahora qué hago?Soy el Scrum Master, ¿y ahora qué hago?
Soy el Scrum Master, ¿y ahora qué hago?
 
El Dogma del Scrum MASTER
El Dogma del Scrum MASTEREl Dogma del Scrum MASTER
El Dogma del Scrum MASTER
 
Primera Certificación Scrum Master en Chile
Primera Certificación Scrum Master en ChilePrimera Certificación Scrum Master en Chile
Primera Certificación Scrum Master en Chile
 
3.desarrollo ágil
3.desarrollo ágil3.desarrollo ágil
3.desarrollo ágil
 
Design QA: las grandes experiencias no ocurren por accidente
Design QA: las grandes experiencias no ocurren por accidente Design QA: las grandes experiencias no ocurren por accidente
Design QA: las grandes experiencias no ocurren por accidente
 
Metodos agiles
Metodos agilesMetodos agiles
Metodos agiles
 
Php sevilla 014: Presentación de SymfonyZero
Php sevilla 014: Presentación de SymfonyZeroPhp sevilla 014: Presentación de SymfonyZero
Php sevilla 014: Presentación de SymfonyZero
 
Metodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme ProgrammingMetodologías ágiles, Scrum, Kanban y eXtreme Programming
Metodologías ágiles, Scrum, Kanban y eXtreme Programming
 

Similaire à XP y Entorno de Desarrollo Ágil

Bedomax - Campus Party 2013
Bedomax - Campus Party 2013Bedomax - Campus Party 2013
Bedomax - Campus Party 2013bedomax
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasRodrigo Corral
 
Desafíos en las organizaciones que desarrollan software
Desafíos en las organizaciones que desarrollan softwareDesafíos en las organizaciones que desarrollan software
Desafíos en las organizaciones que desarrollan softwareAlvaro Ruiz de Mendarozqueta
 
Proceso Unificado de Desarrollo
Proceso Unificado de DesarrolloProceso Unificado de Desarrollo
Proceso Unificado de DesarrolloFausto J Loja Mora
 
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...Software Guru
 
Presentacion Microsoft
Presentacion MicrosoftPresentacion Microsoft
Presentacion Microsoftfcolauravel
 
Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010Rodrigo Corral
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL ServerJohn Bulla
 
Conferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TIConferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TIhanzcg
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Softwareeeencalada
 
Visual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaVisual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaJavier Suárez Ruiz
 
Metogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS AgilesMetogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS Agilesfmmeson
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusGeneXus
 
Programación extrema
Programación extremaProgramación extrema
Programación extremaBrandon Betto
 
Metodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBAMetodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBAGustavo Andres Brey
 
TechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team SystemsTechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team Systemsfmmeson
 
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...SpanishPASSVC
 

Similaire à XP y Entorno de Desarrollo Ágil (20)

Bedomax - Campus Party 2013
Bedomax - Campus Party 2013Bedomax - Campus Party 2013
Bedomax - Campus Party 2013
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas Prácticas
 
Desafíos en las organizaciones que desarrollan software
Desafíos en las organizaciones que desarrollan softwareDesafíos en las organizaciones que desarrollan software
Desafíos en las organizaciones que desarrollan software
 
Proceso Unificado de Desarrollo
Proceso Unificado de DesarrolloProceso Unificado de Desarrollo
Proceso Unificado de Desarrollo
 
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...
 
Presentacion Microsoft
Presentacion MicrosoftPresentacion Microsoft
Presentacion Microsoft
 
Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
 
SQM Lifecycle models
SQM Lifecycle modelsSQM Lifecycle models
SQM Lifecycle models
 
Conferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TIConferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TI
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Software
 
Herramientas Grauitas Microsoft
Herramientas Grauitas MicrosoftHerramientas Grauitas Microsoft
Herramientas Grauitas Microsoft
 
Visual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaVisual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event Sevilla
 
Metogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS AgilesMetogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS Agiles
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
 
Programación extrema
Programación extremaProgramación extrema
Programación extrema
 
Provision
ProvisionProvision
Provision
 
Metodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBAMetodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBA
 
TechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team SystemsTechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team Systems
 
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
 

Plus de David de Francisco Marcos

Plus de David de Francisco Marcos (9)

Introducción a Earned Value Management
Introducción a Earned Value ManagementIntroducción a Earned Value Management
Introducción a Earned Value Management
 
AddHunters: Proyecto MBA Executive
AddHunters: Proyecto MBA ExecutiveAddHunters: Proyecto MBA Executive
AddHunters: Proyecto MBA Executive
 
Notas Sobre la Gestión de Proyectos
Notas Sobre la Gestión de ProyectosNotas Sobre la Gestión de Proyectos
Notas Sobre la Gestión de Proyectos
 
Introducción a Earned Value Magement
Introducción a Earned Value MagementIntroducción a Earned Value Magement
Introducción a Earned Value Magement
 
Introduccion a Earned Valuema Magement
Introduccion a Earned Valuema MagementIntroduccion a Earned Valuema Magement
Introduccion a Earned Valuema Magement
 
Introducción a la Gestión de Riesgos
Introducción a la Gestión de RiesgosIntroducción a la Gestión de Riesgos
Introducción a la Gestión de Riesgos
 
Un Poco de Historia sobre Proyectos
Un Poco de Historia sobre ProyectosUn Poco de Historia sobre Proyectos
Un Poco de Historia sobre Proyectos
 
Introducción a la gestión de riesgos
Introducción a la gestión de riesgosIntroducción a la gestión de riesgos
Introducción a la gestión de riesgos
 
Principios de Metodologías Ágiles
Principios de Metodologías ÁgilesPrincipios de Metodologías Ágiles
Principios de Metodologías Ágiles
 

Dernier

2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendidaLuis Francisco Reyes Aceves
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfYanitza28
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxgustavovasquezv56
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8antoniopalmieriluna
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionEmanuelMuoz11
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfaxelv9257
 
herramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el temaherramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el temaJadeVilcscordova
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptxdulcemonterroza
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...axelv9257
 
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptxTarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptxVICTORMANUELBEASAGUI
 
microsoft word manuales para todos tipos de estudiamte
microsoft word manuales para todos tipos de estudiamtemicrosoft word manuales para todos tipos de estudiamte
microsoft word manuales para todos tipos de estudiamte2024020140
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfYanitza28
 
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdfRedes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdfJosAndrRosarioVzquez
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORASMarc Liust
 

Dernier (16)

2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdf
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
herramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el temaherramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el tema
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptxTarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
 
microsoft word manuales para todos tipos de estudiamte
microsoft word manuales para todos tipos de estudiamtemicrosoft word manuales para todos tipos de estudiamte
microsoft word manuales para todos tipos de estudiamte
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
 
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdfRedes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORAS
 

XP y Entorno de Desarrollo Ágil

  • 1. David de Francisco Marcos Msc, MBA, PMP y CSM XP y Entornos de Desarrollo Ágil Máster en Informática Universidad de Valladolid 2015-2016 david.de.fco@gmail.com www.linkedin.com/in/daviddefco http://es.slideshare.net/daviddefco
  • 3. Desarrollar Análisis Incremental Tests de Cliente TDD Refactorización Diseño Simple Desarrollo Incremental Spikes Optimización Tests Exploratorios Prácticas XP Pensar Programación Pares Trabajo con Energía Controles Visuales Análisis Causa – Efecto Retrospectivas Colaborar Confianza Sentarse Juntos Cliente Involucrado Daily Meetings Estándares de Código Demos Continuas Informar y Comunicar Planificar Visión Planificar Entregas Juegos de Planificación Gestión de Riesgos Historias Backlogs Entregar Definición de Hecho No Bugs Control de Versiones Build en 10 Minutos Autoría Compartida Documentación
  • 4. Desarrollar Análisis Incremental Tests de Cliente TDD Refactorización Diseño Simple Desarrollo Incremental Spikes Optimización Tests Exploratorios Prácticas XP Pensar Programación Pares Trabajo con Energía Controles Visuales Análisis Causa – Efecto Retrospectivas Colaborar Confianza Sentarse Juntos Cliente Involucrado Daily Meetings Estándares de Código Demos Continuas Informar y Comunicar Planificar Visión Planificar Entregas Juegos de Planificación Gestión de Riesgos Historias Backlogs Entregar Definición de Hecho No Bugs Control de Versiones Build en 10 Minutos Autoría Compartida Documentación
  • 5. Análisis Causa - Efecto 5 Whys Para llegar al fondo de algo continuar preguntando por qué hasta que llegamos a un motivo de peso Diagrama de Raspa de Pez 1) Dibujar el problema a resolver 2) Categorizar las causas 3) Detallar las causas 4) Analizar causas principales 5) Buscar correlaciones entre ellas
  • 6. Ejemplo Cucumber Característica: Proceso de login de mi tienda online Como cliente de la tienda online Quiero poder autenticarme en la tienda De forma que pueda acceder al contenido de la aplicación y mi autenticación quede registrada a lo largo de toda la sesión Antecedentes: Dado que me encuentro en la vista de autenticacion de la Web Y que no estoy autenticado dentro de la aplicación Escenario: proceso de autenticación Esquema del escenario: autenticación Cuando relleno el campo de identificador de usuario con el valor <username> Y relleno el campo de password con el valor <password> Entonces al pulsar en el botón de acción debería estar en la pagina <page> Ejemplos: | username | password | page | | user01 | claveerronea | LoginPage | | inexistente| user01pass | LoginPage | | super | user01pass | RootPage | TDD y BDD TDD: Ciclo rápido de: Prueba Desarrollo Refactorización Reduce el efecto de errores y mejora el diseño del código Behaviour Driven Development Lleva TDD un paso más allá, al diseño guiado por dominio, involucrando a los BSE en los procesos de test / aceptación
  • 7. Refactorización Refactorizar es cambiar el código fuente sin alterar su funcionalidad. Beneficios Mejora el diseño del software Contribuye a detectar errores Facilita la comprensión del SW Ayuda a programar más rápido Imagen obtenida de www.flickr.com/photos/danisarda
  • 8. Ejemplo Refactorización public class CalcSal { private static final int meses = 12; private static final double ss = 6.3; private static final double imp = 14; public static double calcSalNet(double s) { if (s < 0) throw new IllegalArgumentException(); double sMens = s/meses; return sMens - (s/meses * (ss/100)) - (sMens * (imp/100)); } }
  • 9. Ejemplo Refactorización public class Salario { private static final int CUOTAS_ANUALES_DE_SEGURIDAD_SOCIAL = 12; private static final int NUMERO_DE_PAGAS_ANUALES = 12; private static final double PORCENTAJE_RETENCION_SEGURIDAD_SOCIAL = 6.3; private static final double PORCENTAJE_RETENCION_IRPF = 14; public static double calcularSalarioMensualNeto(double salarioAnualBruto) { validarCifraDeSalario(salarioAnualBruto); double salarioMensualBruto = salarioAnualBruto / NUMERO_DE_PAGAS_ANUALES; return salarioMensualBruto - getRetencionesMensualesSeguridadSocial(salarioAnualBruto) - getRetencionesMensualesIrpf(salarioMensualBruto); } private static void validarCifraDeSalario(double salarioParaValidar) { if (salarioParaValidar < 0) throw new IllegalArgumentException( "El valor de un salario no puede ser menor que 0" ); } private static double getRetencionesMensualesSeguridadSocial(double salarioAnualBruto) { double decimalRetencionSeguridadSocial = PORCENTAJE_RETENCION_SEGURIDAD_SOCIAL / 100; return (salarioAnualBruto / CUOTAS_ANUALES_DE_SEGURIDAD_SOCIAL) * decimalRetencionSeguridadSocial; } private static double getRetencionesMensualesIrpf(double salarioMensualBruto) { double decimalRetencionIrpf = PORCENTAJE_RETENCION_IRPF / 100; return (salarioMensualBruto * decimalRetencionIrpf); } }
  • 11. Ejemplo Entorno de Desarrollo
  • 12. Gestión de las Issues