Вы находитесь на странице: 1из 13

Programación Extrema (XP) 10

Investigación sobre Programación Extrema (XP) y Equipos Scrum

Universidad Tecnológica Centro Americana

Asignatura: Ingeniería de Software I

Alumno: Daryn Sammir Galeas 41711190

Catedratico: Belkis G. Alonzo Ortiz

La Ceiba, Atlantida, Honduras.

27 de julio del 2019


1

Tabla de contenido

Tabla de contenido ..................................................................................................................... 1


Introducción .............................................................................................................................. 2
Programación Extrema (XP) ...................................................................................................3-5
Equipos Scrum ...................................................................................................................... 6-10
Conclusiones ............................................................................................................................ 11
Bibliografía .............................................................................................................................. 12
2

Introducción

El presente informe da a conocer sobre La Programación Extrema (XP), sus puntos básicos,

las metodologías ágiles tienen como punto fuerte la adaptación a cualquier cambio en un

proyecto para aumentar sus posibilidades de éxito, la programación extrema es una

metodología de desarrollo ágil que tiene como principal objetivo aumentar la productividad a

la hora de desarrollar un proyecto software, nos brinda información sobre que es Equipo

Scrum. El término “Equipo Scrum” se refiere a todos los miembros del equipo del proyecto: a

cada uno los miembros internos del proyecto.


3

Programación Extrema (XP)

La programación extrema es una metodología de desarrollo ágil que tiene como principal

objetivo aumentar la productividad a la hora de desarrollar un proyecto software. Da

prioridad a los trabajos que dan un resultado directo y en los cuales se reduce la burocracia

que pueda existir en el entorno de trabajo.

¿Qué es una metodología ágil?

Las metodologías ágiles tienen como punto fuerte la adaptación a cualquier cambio en un

proyecto para aumentar sus posibilidades de éxito.

Una metodología ágil tiene varios principios:

 Los individuos y sus interacciones son más importantes que los procesos y las

herramientas.

 El software que funciona es más importante que la documentación exhaustiva.

 Colaboración con el cliente en lugar de negociación de contratos.

 No hay que seguir un plan cerrado, sino adaptarse al cambio.

Tenemos 12 principios básicos que se agrupan en 4 categorías distintas:

 Retroalimentación.

 Proceso continuo en lugar de por bloques.

 Propiedad intelectual compartida.

 Entendimiento compartido.

RETROALIMENTACIÓN

 Principio de pruebas: lo primero que se debe hacer es establecer un período de

pruebas de aceptación del programa, en el cual se definirán las entradas y salidas del

sistema. Básicamente se define lo que debe hacer el software desarrollado. Como si

fuese una caja negra.


4

 Planificación: el cliente (o su representante) escribirá sus necesidades para definir

concretamente las actividades que el sistema debe realizar. En esta fase se creará un

documento que contendrá historias de usuario que forman el plan de liberación, el

cual define los tiempos de entrega de la aplicación para poder recibir feedback por

parte del cliente.

 Cliente in-situ: el cliente (o su representante) deberá formar parte del equipo de

desarrollo. Se le dará poder para determinar los requisitos de la aplicación, definir la

funcionalidad y dar prioridad a determinadas cosas. Gracias a esto, habrá una fuerte

interacción con los programadores, disminuyendo así el tiempo de comunicación y la

cantidad de documentación a redactar. El cliente estará con el equipo durante todo el

proceso de desarrollo del proyecto.

 Pair-programming: este punto junto con el anterior son los más radicales de esta

metodología. Consiste en escribir código en parejas compartiendo una sola máquina.

Según los experimentos ya realizados sobre este método, se producen mejores y más

consistentes aplicaciones a igual o menor coste.

ENTENDIMIENTO COMPARTIDO

 Diseño simple: el mejor programa será aquel que cumpla con los requisitos y sea más

simple. Es importante proporcionar un software que cubra las necesidades de un

cliente. Ni más ni menos.

 Metáfora: expresa la visión evolutiva del proyecto y define los objetivos del sistema

mediante una historia.

 Propiedad colectiva del código: el código tiene propiedad compartida. Nadie es

propietario de nada, ni siquiera de lo que ha desarrollado. Todos los programadores

son "dueños" de todo el código. Según esta metodología, cuantos más programadores

haya trabajado en una parte de código, menos errores tendrá.


5

 Estándar de programación: define las reglas para escribir y documentar código,

además de cómo se comunican las diferentes piezas de código desarrolladas por

diferentes equipos. El objetivo de esto es que parezca que el código ha sido escrito por

una única persona.

Esta metodología existe desde el año 2001, es decir, que tiene relativamente poco tiempo.

Aunque lleve tan sólo unos años ha revolucionado el mundo de la industria de desarrollo

software generando diversas opiniones, tanto buenas como no tan buenas. Entre los puntos

negativos, podemos encontrar varios:

 Los programadores suelen querer ser propietarios del código que desarrollan: como se

ha mencionado anteriormente, nadie es propietario de nada. Se tiene como objetivo el

desarrollo de un código homogéneo, del cual no podamos saber quién lo ha escrito.

Además, se establecerá un estándar de programación que ayudará a cumplir esto.

 ¿40 horas semanales de trabajo? A veces son más: si los programadores tienen que

estar haciendo horas extra, quiere decir que el problema está mal planteado. Es

posible que haya que trabajar más horas, pero no como se debe tomar como norma.

Programadores cansados = peor código.

Esquema
6

Equipos Scrum

El término “Equipo Scrum” se refiere a todos los miembros del equipo del proyecto: a cada

uno los miembros internos del proyecto. Por lo general los Miembros del Scrum llevan a cabo

solo uno de los roles: Dueño del Producto, Scrum Máster o Miembro del Equipo de

desarrollo es posible asignar a una persona más de un rol, pero no es recomendable.

El Equipo Scrum es parte de la organización “realizadora”, la organización que ejecuta el

proyecto para sí o como contratista para un cliente externo.

Existen otras personas que pueden estar implicadas en el proyecto, pero no se consideran

“internas” al proyecto y SCRUM no dice mucho respecto a ellos. Sin embargo, es necesario

que estas personas mantengan cierto comportamiento para que un proyecto Scrum tenga éxito

(por ejemplo, deben respetar el funcionamiento de un proyecto Scrum).

El cliente (sea interno o externo) también deberá entender y adoptar el marco Scrum, dado

que tanto la manera de relacionarse con el equipo, como la manera en que el proyecto se

entrega varían en Scrum.

El Equipo Scrum tiene dos características esenciales:

 Auto-gestionados: el Equipo Scrum gestiona sus propios esfuerzos en vez de estar

gestionados o dirigidos por otros. En los métodos tradicionales, las actividades de

gestión y dirección se separan y centralizan; un subconjunto del equipo de proyecto es

responsable de la gestión de proyectos y otro de las actividades de especialista

(ejecución). Sin embargo, en Scrum, las tareas de gestión y las actividades de

especialista no se separan.

 Multifuncional: el Equipo Scrum tiene los conocimientos y capacidades necesarias

para completar el trabajo sin ayudas de fuera del equipo.


7

Estas dos características son necesarias para optimizar la flexibilidad, la creatividad y la

productividad, necesarias en un ambiente Ágil de Scrum.

El proceso

En Scrum un proyecto se ejecuta en ciclos temporales cortos y de duración fija (iteraciones

que normalmente son de 2 semanas, aunque en algunos equipos son de 3 y hasta 4 semanas,

límite máximo de feedback de producto real y reflexión). Cada iteración tiene que

proporcionar un resultado completo, un incremento de producto final que sea susceptible de

ser entregado con el mínimo esfuerzo al cliente cuando lo solicite.

El proceso parte de la lista de objetivos/requisitos priorizada del producto, que actúa como

plan del proyecto. En esta lista el cliente (Product Owner) prioriza los objetivos balanceando

el valor que le aportan respecto a su coste (que el equipo estima considerando la Definición

de Hecho) y quedan repartidos en iteraciones y entregas.


8

Las actividades que se llevan a cabo en Scrum son las siguientes (los tiempos indicados

son para iteraciones de 2 semanas):

Planificación de la iteración

El primer día de la iteración se realiza la reunión de planificación de la iteración tiene dos

partes:

 Selección de requisitos (2 horas). El cliente presenta al equipo la lista de requisitos

priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que surgen

y selecciona los requisitos más prioritarios que prevé que podrá completar en la

iteración, de manera que puedan ser entregados si el cliente lo solicita.

 Planificación de la iteración (2 horas). El equipo elabora la lista de tareas de la

iteración necesarias para desarrollar los requisitos seleccionados. La estimación de

esfuerzo se hace de manera conjunta y los miembros del equipo se autoasignan las

tareas, se autoorganizan para trabajar incluso en parejas (o grupos mayores) con el fin

de compartir conocimiento (creando un equipo más resiliente) o para resolver juntos

objetivos especialmente complejos.

Ejecución de la iteración

Cada día el equipo realiza una reunión de sincronización (15 minutos), normalmente delante

de un tablero físico o pizarra (Scrum Taskboard). El equipo inspecciona el trabajo que el

resto está realizando (dependencias entre tareas, progreso hacia el objetivo de la iteración,

obstáculos que pueden impedir este objetivo) para poder hacer las adaptaciones necesarias

que permitan cumplir con la previsión de objetivos a mostrar al final de la iteración. En la

reunión cada miembro del equipo responde a tres preguntas:

 ¿Qué he hecho desde la última reunión de sincronización para ayudar al equipo a

cumplir su objetivo?
9

 ¿Qué voy a hacer a partir de este momento para ayudar al equipo a cumplir su

objetivo?

 ¿Qué impedimentos tengo o voy a tener que nos impidan conseguir nuestro objetivo?

Durante la iteración el Facilitador (Scrum Máster) se encarga de que el equipo pueda

mantener el foco para cumplir con sus objetivos.

 Elimina los obstáculos que el equipo no puede resolver por sí mismo.

 Protege al equipo de interrupciones externas que puedan afectar el objetivo de la

iteración o su productividad.

Durante la iteración, el cliente junto con el equipo refina la lista de requisitos (para

prepararlos para las siguientes iteraciones) y, si es necesario, cambian o replanifican los

objetivos del proyecto (10%-15% del tiempo de la iteración) con el objetivo de maximizar la

utilidad de lo que se desarrolla y el retorno de inversión.

Inspección y adaptación

El último día de la iteración se realiza la reunión de revisión de la iteración tiene dos partes:

 Revisión (demostración) (1,5 horas). El equipo presenta al cliente los requisitos

completados en la iteración, en forma de incremento de producto preparado para ser

entregado con el mínimo esfuerzo. En función de los resultados mostrados y de los

cambios que haya habido en el contexto del proyecto, el cliente realiza las

adaptaciones necesarias de manera objetiva, ya desde la primera iteración,

replanificando el proyecto.

 Retrospectiva (1,5 horas). El equipo analiza cómo ha sido su manera de trabajar y

cuáles son los problemas que podrían impedirle progresar adecuadamente, mejorando

de manera continua su productividad. El Facilitador se encargará de eliminar o escalar

los obstáculos identificados que estén más allá del ámbito de acción del equipo.
10

Hay tres roles en un proyecto SCRUM, ni más ni menos. No podemos establecer ningún otro

rol ya que pondría en peligro la unidad del equipo, lo que es incompatible con la filosofía de

SCRUM.

Un equipo Scrum consiste en las tres funciones siguientes:


11

Conclusiones

Como resultado de la investigación, es posible concluir que la Programación Extrema XP es

de uso común desde hace varios años de manera que adquirir información acerca de ella

resulto sencillo, ya que la mayoría de los textos técnicos y de proyectos realizados por otras

personas hablan de esta metodología. La principal ventaja de la metodología XP está en su

alto grado de adaptabilidad, y su principal desventaja es su elevado costo en caso de no

cumplir las metas. Scrum por sus características no es válido para cualquier proyecto ni para

cualquier persona o equipo de personas. Es más, Scrum según muchos especialistas de esta

metodología, es óptima para equipos de trabajo de hasta 8 personas, aunque hay empresas

que han utilizado Scrum con éxito con equipos más grandes.
12

Bibliografía

https://geekytheory.com/programacion-extrema-que-es-y-principios-basicos

http://www.diegocalvo.es/metodologia-xp-programacion-extrema-metodologia-agil/

https://proyectosagiles.org/que-es-scrum/

https://managementplaza.es/blog/el-equipo-de-scrum/

Вам также может понравиться