Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Investigacion 2 Desarrollo Agil
Investigacion 2 Desarrollo Agil
Docente:
Ing. Balcázar Veizaga Evans
Materia:
Tecnología Web – INF513 SC
Alumno:
Univ. Melendez Martínez Sergio Driss 215049187
Contenido
1. Introducción.- .............................................................................................................................2
2. Problema.- ..................................................................................................................................2
3. Objetivos.- ..................................................................................................................................2
3.1. Objetivo general.- ...............................................................................................................2
3.2. Objetivos específicos.- .......................................................................................................2
4. Metodologia.- .............................................................................................................................3
5. Marco teorico.- ...........................................................................................................................3
Extreme Programming (XP) ...........................................................................................................3
Qué es? .......................................................................................................................................4
Objetivos ....................................................................................................................................4
Características principales ..........................................................................................................4
SCRUM .........................................................................................................................................4
Qué es? .......................................................................................................................................4
Componentes del SCRUM .........................................................................................................5
6. Desarrollo.- ................................................................................................................................6
Extreme Programming (XP) ...........................................................................................................6
SCRUM .........................................................................................................................................8
7. Resultados.- ................................................................................................................................9
8. Conclusiones y recomendaciones .-..........................................................................................10
9. Bibliografia.- ............................................................................................................................10
Página 1
Tecnología Web – INF513
1. Introducción.-
El método tradicional no resulta ser el más adecuado para muchos de los proyectos actuales en donde
el entorno del sistema es muy cambiante y los tiempos de desarrollo tienden a ser cada vez más cortos,
pero exigiendo un mantenimiento en la alta calidad.
Las metodologías agiles emergen como una buena opción para las exigencias de los desarrollos
actuales. En las cuales se valora más las interacciones del equipo de desarrollo y una colaboración e
interacción constante con el cliente, responder a los cambios que vayan surgiendo en el proceso del
desarrollo más que seguir estrictamente un único plan.
En esta investigación veremos dos de las metodologías agiles: Scrum y extreme programming,
tratando de resaltar sus diferencias, los principales objetivos de cada uno, que beneficios o
contrapartes de las dos metodologías.
2. Problema.-
3. Objetivos.-
3.1. Objetivo general.-
• Investigar metodologías agiles de Extreme Programming y Scrum demostrando ser una
mejor opción ante las metodologías tradicionales.
Página 2
Tecnología Web – INF513
4. Metodologia.-
Se aplicará la metodología de la investigación para este caso. Esta metodología consta de los
siguientes pasos:
5. Marco teorico.-
Extreme Programming (XP)
Nace de la mano de Kent Beck en el verano de 1996, cuando trabajaba para Chrysler Corporation.
Él tenía varias ideas de metodologías para la realización de programas que eran cruciales para el
buen desarrollo de cualquier sistema. Las ideas primordiales de sus sistemas las comunico en las
revistas C++ Magazine en una entrevista que esta le hizo el año 1999.
Página 3
Tecnología Web – INF513
Qué es?
Es una Metodología ágil ligera de desarrollo de aplicaciones que se basa en la simplicidad, la
comunicación y la realimentación del código desarrollado.
Objetivos
• La Satisfacción del cliente.
• Potenciar el trabajo en grupo.
• Minimizar el riesgo actuando sobre las variables del proyecto: costo, tiempo, calidad,
alcance
Características principales
• Metodología basada en prueba y error para obtener un software que funcione realmente.
• Fundamentada en principios.
• Está orientada hacia quien produce y usa software (el cliente participa muy activamente).
• Reduce el coste del cambio en todas las etapas del ciclo de vida del sistema.
• Combina las que han demostrado ser las mejores prácticas para desarrollar software, y las
lleva al extremo.
• Cliente bien definido.
• Los requisitos pueden cambiar.
• Grupo pequeño y muy integrado (2-12 personas).
• Equipo con formación elevada y capacidad de aprender.
Herramientas de la metodología
• Historias de usuario: representan una breve descripción del comportamiento del sistema, se
realizan por cada característica principal del sistema y son utilizadas para cumplir
estimaciones de tiempo y el plan de lanzamientos
• Tareas de ingenierías (Task Cards): Una Historias de Usuario se descompone en varias
tareas de ingeniería, las cuales describen las actividades que se realizarán en cada historia de
usuario, las tareas de ingeniería se vinculan más al desarrollador.
• Pruebas de aceptación: son de vital importancia para el éxito de una iteración y el comienzo
de la siguiente, con lo cual el cliente puede conocer el avance en el desarrollo del sistema y
a los programadores lo que les resta por hacer.
• Tarjetas CRC (clase, responsabilidades, colaboraciones): permiten conocer que clases
componen el sistema y cuales interactúan entre sí. Se dividen en tres secciones: Nombre de
la Clase, Responsabilidades y Colaboradores.
SCRUM
Qué es?
Scrum es un proceso en el que se aplican de manera regular un conjunto de procesos para trabajar en
equipo, y obtener el mejor resultado posible de un proyecto.
Página 4
Tecnología Web – INF513
Scrum es el nombre con el que se denomina a los marcos de desarrollo ágiles caracterizados por:
• Adoptar una idea total de la realización del producto, en lugar de la planificación y ejecución
completa del producto.
• Enfocarse más en las zonas de solapamiento, en lugar de realizar una tras otra en un ciclo de
cascada.
Scrum es adecuado para aquellas empresas en las que el desarrollo de los productos se realiza en
entornos que se caracterizan por tener:
1.Incertidumbre: Sobre esta variable se plantea el objetivo que se quiere alcanzar sin proporcionar
un plan detallado del producto. Esto genera un reto y da una autonomía que sirve para generar una
“tensión” adecuada para la motivación de los equipos.
2.Auto-organización: Los equipos son capaces de organizarse por sí solos, no necesitan roles para
la gestión, pero tienen que reunir las siguientes características: Autonomía: Son los encargados de
encontrar la solución usando la estrategia que encuentren adecuada. Autosuperación: Las soluciones
iniciales sufrirán mejoras.♣Auto-enriquecimiento: Al ser equipos multidisciplinares se ven
enriquecidos de forma mutua,aportando soluciones que puedan complementarse.
3.Control moderado: Se establecerá un control suficiente para evitar descontroles. Se basa en crear
un escenario de “autocontrol entre iguales” para no impedir la creatividad y espontaneidad de los
miembros del equipo.
4.Transmisión del conocimiento: Todo el mundo aprende de todo el mundo. Las personas pasan de
unos proyectos a otros y así comparten sus conocimientos a lo largo de la organización.
Reuniones
1.Planificación del Backlog Se definirá un documento en el que se reflejarán los requisitos del sistema
por prioridades. En esta fase se definirá también la planificación del Sprint 0,en la que se decidirá
cuálesvan a ser los objetivos y el trabajo que hay que realizar para esa iteración.Se obtendrá además
en esta reunión un Sprint Backlog,que es la lista de tareas y que es el objetivo más importante del
Sprint.
2.Seguimiento del Sprint En esta fase se hacen reuniones diarias en lasque las 3 preguntas principales
para evaluar el avance de las tareas serán:
- Inconvenientes que han surgido y qué hay que solucionar para poder continuar
Página 5
Tecnología Web – INF513
3.Revisión del Sprint Cuando se finaliza el Sprint se realizará una revisión del incremento que se ha
generado. Se presentarán los resultados finales y una demo o versión, esto ayudará a mejorar el
feedback con el cliente.
6. Desarrollo.-
Extreme Programming (XP)
La Programación Extrema consta de 4 fases, las cuales son:
-PLANEACIÓN:
La Metodología XP plantea la planificación como un diálogo continuo entre las partes involucradas
en el proyecto, incluyendo al cliente, a los programadores y a los coordinadores. El proyecto comienza
recopilando las historias de usuarios, las que constituyen a los tradicionales casos de uso. Una vez
obtenidas estas historias de usuarios, los programadores evalúan rápidamente el tiempo de desarrollo
de cada una. Los Conceptos básicos de la planificación son:
Las Historias de Usuarios, las cuales son descritas por el cliente, en su propio lenguaje,
como descripciones cortas de lo que el sistema debe realizar.
El Plan de Entregas (ReleasePlan), establece que las historias de usuarios serán agrupadas
para conformar una entrega y el orden de las mismas. Este cronograma será el resultado de
una reunión entre todos los actores del proyecto.
Plan de Iteraciones (Iteration Plan), las historias de usuarios seleccionadas para cada
entrega son desarrolladas y probadas en un ciclo de iteración, de acuerdo al orden
preestablecido.
-DISEÑO:
La Metodología XP hace especial énfasis en los diseños simples y claros. Los conceptos más
importantes de diseño en esta metodología son los siguientes:
Simplicidad, Un diseño simple se implementa más rápidamente que uno complejo. Por ello
XP propone implementar el diseño más simple posible que funcione.
Página 6
Tecnología Web – INF513
Metáforas, XP sugiere utilizar este concepto como una manera sencilla de explicar el
propósito del proyecto, así como guiar la estructura del mismo. Una buena metáfora debe ser
fácil de comprender para el cliente y a su vez debe tener suficiente contenido como para
quesirva de guía a la arquitectura del proyecto.
-CODIFICACIÓN:
Página 7
Tecnología Web – INF513
Propiedad Colectiva del Código, En un proyecto XP, todo el equipo puede contribuir con
nuevas ideas que apliquen a cualquier parte del proyecto. Asimismo, una pareja de
programadores puede cambiar el código que sea necesario para corregir problemas, agregar
funciones o re codificar.
Ritmo Sostenido, La Metodología XP indica que debe llevarse un ritmo sostenido de trabajo.
El concepto que se desea establecer con esta práctica es planificar el trabajo de forma a
mantener un ritmo constante y razonable, sin sobrecargar al equipo.
-PRUEBAS :
Pruebas Unitarias, Todos los módulos deben de pasar las pruebas unitarias antes de ser
liberados o publicados. Por otra parte, como se mencionó anteriormente, las pruebas deben
ser definidas antes de realizar el código (“Test-Driven Programmming”). Que todo código
liberado pase correctamente las pruebas unitarias, es lo que habilita que funcione la
propiedad colectiva del código.
Detección y Corrección de Errores, Cuando se encuentra un error (“Bug”), éste debe ser
corregido inmediatamente, y se deben tener precauciones para que errores similares no
vuelvan a ocurrir. Asimismo, se generan nuevas pruebas para verificar que el error haya sido
resuelto.
Pruebas de Aceptación, Son creadas en base a las historias de usuarios, en cada ciclo de la
iteración del desarrollo. El Cliente debe especificar uno o diversos escenarios para comprobar
que una historia de usuario ha sido correctamente implementada. Asimismo, en caso de que
fallen varias pruebas, deben indicar el orden de prioridad de resolución. Una historia de
usuario no se puede considerar terminada hasta que pase correctamente todas las pruebas de
aceptación. (Joskowicz, 2008)
SCRUM
Scrum al ser una metodología de desarrollo ágil tiene como base la idea de creación de ciclos breves
para el desarrollo, que comúnmente se llaman iteraciones y que en Scrum se llamarán “Sprints”. Para
entender el ciclo de desarrollo de Scrum es necesario conocer las 5 fases que definen el ciclo de
desarrollo ágil:
1.Concepto:
Se define de forma general las características del producto y se asigna el equipo que se encargará de
su desarrollo.
2.Especulación:
en esta fase se hacen disposiciones con la información obtenida y se establecen los límites que
marcarán el desarrollo del producto, tales como costes y agendas. Se construirá el producto a partir
Página 8
Tecnología Web – INF513
de las ideas principales y se comprueban las partes realizadas y su impacto en el entorno. Esta fase se
repite en cada iteración y consiste, en rasgos generales, en:
-Plan de entrega. Se establecen las fechas de las versiones, hitos e iteraciones. Medirá el
esfuerzo realizado en el proyecto.
3.Exploración:
4.Revisión:
5.Cierre:
Se entregará en la fecha acordada una versión del producto deseado. Al tratarse de una versión, el
cierre no indica que se ha finalizado el proyecto, sino que seguirá habiendo cambios, denominados
“mantenimiento”, que hará que el producto final se acerque al producto final deseado.
7. Resultados.-
Como resultado de esta investigación se a demostrado que las metodologías agiles están basadas
en el desarrollo de proyectos que necesitan rapidez y flexibilidad para adaptarse a las necesidades
del cliente y mayormente están enfocadas en resultados.
Averiguando además que Scrum es una de las metodologías agiles de gestión de proyectos más
demandadas, debido a su rápida difusión y la filosofía de trabajo detrás de la metodología.
Página 9
Tecnología Web – INF513
8. Conclusiones y recomendaciones .-
Las metodologías agiles, tanto para Extreme Programming XP como para SCRUM, no solo dan
más valor a la entrega de tiempos estrechos o a la entrega pronta de resultados, siendo una
filosofía de trabajo, se le da más valor al cliente aumentando considerablemente la comunicación
entre el equipo de desarrollo y este.
9. Bibliografia.-
https://gravitar.biz/bi/metodologias-agiles-intro/
https://dosideas.com/noticias/metodologias/822-una-introduccion-a-extreme-programming
https://aalbertovargasc.files.wordpress.com/2011/07/presentacion-xp.pdf
https://agileroad.com/es/blog/introduccion-scrum.html
https://metodologiascrum.readthedocs.io/en/latest/Scrum.html
http://openaccess.uoc.edu/webapps/o2/bitstream/10609/17885/1/mtrigasTFC0612memoria.pdf
https://eigp.es/blog/la-importancia-de-las-metodologias-agiles/
Página 10