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

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Dernier (13)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

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