Está en la página 1de 41

Carrera Profesional de Ingeniería de Computación y Sistemas

Ingeniería de Software II
José H. Vásquez Pereyra,
Ing., MBA, MSE, DBA (C)

jvasquezp@upao.edu.pe
jhvasper@gmail.com

Trujillo, Setiembre 2018


Contenido Sesión 3
 Algo más de XP.
 Fases de XP.
 Prácticas de XP.
 Roles de XP.

José Vásquez Pereyra @jhvasper


Contenido Sesión 3

01
Algo más de XP

José Vásquez Pereyra @jhvasper


Objetivos de XP

 La satisfacción del cliente.

 Potenciar el trabajo engrupo.

 Minimizar el riesgo actuando sobre


las variables del proyecto:
- Coste
- Tiempo
- Calidad
- Alcance

José Vásquez Pereyra @jhvasper


Valores que inspiran XP

 Comunicación

 Sencillez

 Retroalimentación

 Valentía

José Vásquez Pereyra @jhvasper


Contenido Sesión 3

02
Introducción a la
Metodología XP
José Vásquez Pereyra @jhvasper
El coste del cambio

Evolución de los largos ciclos de desarrollo en cascada (a) a ciclos iterativos más
cortos (b) y a la mezcla que hace XP
.
José Vásquez Pereyra @jhvasper
Ciclo de Entrega en XP

José Vásquez Pereyra @jhvasper


Ciclo de vida del proceso XP

José Vásquez Pereyra @jhvasper


Contenido Sesión 3

03
Prácticas de XP

José Vásquez Pereyra @jhvasper


Prácticas de codificación

• Simplicidad de código y de diseño para producir software


fácil de modificar.
• Reingeniería continua para lograr que el código tenga un
diseño óptimo.
• Desarrollar estándares de codificación, para comunicar ideas
con claridad a través del código.
• Desarrollar un vocabulario común, para comunicar las ideas
sobre el código con claridad.

José Vásquez Pereyra @jhvasper


Prácticas de Desarrollo

• Adoptar un método de desarrollo basado en las pruebas


para asegurar que el código se comporta según lo esperado.
• Programación por parejas, para incrementar el
conocimiento, la experiencia y lasideas.
• Asumir la propiedad colectiva del código, para que todo el
equipo sea responsable de él.
• Integración continua, para reducir el impacto de la
incorporación de nuevas funcionalidades.

José Vásquez Pereyra @jhvasper


Prácticas de Negocios
• Integración de un representante del cliente en el equipo,
para encauzar las cuestiones de negocio del sistema de
forma directa, sin retrasos o pérdidas porintermediación.
• Adoptar el juego de la planificación para centrar en la
agenda el trabajo másimportante.
• Entregas regulares y frecuentes para satisfacer la inversión
del cliente.
• Ritmo de trabajo sostenible, para terminar la jornada
cansado pero no agotado.

José Vásquez Pereyra @jhvasper


Fases de la metodología XP

José Vásquez Pereyra @jhvasper


Contenido Sesión 3

04
Fases de XP

José Vásquez Pereyra @jhvasper


Contenido Sesión 3

4.1
Fases de XP
Planificación del Proyecto
José Vásquez Pereyra @jhvasper
Planificación
A) HISTORIAS DEL USUARIO

• Las historias de usuario tienen el mismo propósito que los casos de uso.

• Las escriben los propios clientes, tal y como en ellos las necesidades del
sistema.

• Las historias de usuario son similares al empleo de escenarios, con la


excepción de que no se limitan a la descripción de la interfaz de usuario.
También conducirán el proceso de creación de los test de
aceptación(empleados para verificar que las historias de usuario han sido
implementadas correctamente).

• Existen diferencias entre estas y la tradicional especificación de requisitos.


La principal diferencia es el nivel de detalle. Las historias de usuario
solamente proporcionaran los detalles sobre la estimación del riesgo y
cuánto tiempo conllevará la implementación de dicha historia de usuario.

José Vásquez Pereyra @jhvasper


Planificación
A) HISTORIAS DEL USUARIO

José Vásquez Pereyra @jhvasper


Planificación
A) HISTORIAS DEL USUARIO

José Vásquez Pereyra @jhvasper


Planificación
A) HISTORIAS DEL USUARIO

José Vásquez Pereyra @jhvasper


Planificación
A) HISTORIAS DEL USUARIO

José Vásquez Pereyra @jhvasper


Planificación
PLAN DE ENTREGAS

es una planificación donde los desarrolladores y clientes establecen los tiempos de


implementación ideales de las historias de usuario, la prioridad con la que serán
implementadas y las historias que serán implementadas en cada versión del
programa.
José Vásquez Pereyra @jhvasper
Planificación
C) PLAN DE ITERACIÓN
Así puede verse un plan de iteración:
Iteración y planes de iteración_

José Vásquez Pereyra @jhvasper


Planificación

• La rotaciones evitarán que las personas se conviertan en si mismas en un cuello de


botella. Las rotaciones permitirán que todo el mundo conozca cómo funciona el
sistema.

• Reuniones de seguimiento diarias

• Deberemos corregir el proceso cuando éste falle.


• Todo el mundo debe estar al corriente de los cambios.
• Para que esto funcione correctamente hay que crear unidades de prueba de cada
módulo que se desarrolle.

José Vásquez Pereyra @jhvasper


Contenido Sesión 3

4.2
Fases de XP
Diseño
José Vásquez Pereyra @jhvasper
Diseño
X.P sugiere que hay que conseguir diseños simples ysencillos

Usar glosarios de
términos y un correcta especificación de los nombres de métodos y clases ayudará a
comprender el diseño y facilitará sus posteriores ampliaciones y la reutilización del
código.

Si surgen problemas potenciales durante el diseño, X.P sugiere utilizar


una pareja de desarrolladores para que investiguen y reduzcan al máximo el riesgo que
supone ese problema. SPIKE(programa simple que explora una posible solución a un
problema)
Nunca se debe añadir funcionalidad extra al
programa aunque se piense que en un futuro será utilizada. Sólo el 10% de la misma es
utilizada, lo que implica que el desarrollo de funcionalidad extra es un desperdicio de
tiempo y recursos.

José Vásquez Pereyra @jhvasper


Diseño

• Refactorizar es mejorar y modificar la estructura y codificación de códigosya


creados sin alterar su funcionalidad. Refactorizar supone revisar de nuevo
estos códigos para procurar optimizar sufuncionamiento.

• representan objetos; la clase a la que pertenece el objeto se puede escribir en la


parte de arriba de la tarjeta, en una columna a la izquierda se pueden escribir las
responsabilidades u objetivos que debe cumplir el objeto y a la derecha, las clases
que colaboran con cada responsabilidad.

José Vásquez Pereyra @jhvasper


Tarjetas CRC

José Vásquez Pereyra @jhvasper


Contenido Sesión 3

4.3
Fases de XP
Desarrollo
José Vásquez Pereyra @jhvasper
Desarrollo

• Disponibilidad del CLIENTE


• Unidades de prueba o test
• Programación pareja
• Integración del código
• Frecuencia en la integración del código
• El código es propiedad de todos:
• Dejar la optimizaciones para el final
• No a las horas extras: 40 horas semanales

José Vásquez Pereyra @jhvasper


Contenido Sesión 3

4.4
Fases de XP
Pruebas
José Vásquez Pereyra @jhvasper
Pruebas
Unidades de test o pruebas: Pilar básico
Implantación: El código será implantado cuando supere sus correspondientes
unidades de test.

Protección contra fallos: Solución, un test

Pruebas de aceptación: Evaluación del cliente

José Vásquez Pereyra @jhvasper


Contenido Sesión 3

05
Roles de XP

José Vásquez Pereyra @jhvasper


1. Programador
 Pieza básica en desarrollos XP

 Más responsabilidad que en otros modos dedesarrollo

 Responsable sobre el código

 Responsable sobre el diseño (refactorización, simplicidad)

 Responsable sobre la integridad del sistema (pruebas)

 Capacidad de comunicación

 Acepta críticas (código colectivo)

José Vásquez Pereyra @jhvasper


2. Cliente

 Pieza básica en desarrollos XP

 Define especificaciones

 Influye sin controlar

 Confía en el grupo de desarrollo

 Define pruebas funcionales

José Vásquez Pereyra @jhvasper


3. Encargado de pruebas (Tester)

 Apoya al cliente en la preparación/realización de las pruebas


funcionales

 Ejecuta las pruebas funcionales y publica los resultados

José Vásquez Pereyra @jhvasper


4. Encargado de seguimiento (Tracker)

 Recoge, analiza y publica información sobre la marcha del proyecto sin


afectar demasiado el proceso

 Supervisa el cumplimiento de la estimaciones en cadaiteración

 Informa sobre la marcha de la iteración encurso

 Controla la marcha de las pruebas funcionales, de los errores reportados,


de las responsabilidades aceptadas y de las prueba añadidas por los
errores encontrados

José Vásquez Pereyra @jhvasper


5. Entrenador (Coach)
 Experto en XP
 Responsable del proceso en suconjunto
 Identifica las desviaciones y reclama atención sobre
las mismas
 Guía al grupo de forma indirecta (sin dañar su seguridad ni confianza)
 Interviene directamente si esnecesario
 Atajar rápidamente el problema

José Vásquez Pereyra @jhvasper


6. Gestor (Big Boss)

 Favorece la relación entre usuarios y desarrolladores

 Confía en el equipo XP

 Cubre las necesidades del equipo XP

 Asegura que alcanza sus objetivos

José Vásquez Pereyra @jhvasper


¿Preguntas?

José Vásquez Pereyra @jhvasper


Carrera Profesional de Ingeniería de Computación y Sistemas
Ingeniería de Software II
José H. Vásquez Pereyra,
Ing., MBA, MSE, DBA (C)

jvasquezp@upao.edu.pe
jhvasper@gmail.com

Trujillo, Setiembre 2018

También podría gustarte