Está en la página 1de 7

UNIVERSIDAD DE GUADALAJARA

SISTEMA DE UNIVERSIDAD VIRTUAL

 Alumna: Maribel Cruz Bonavia

 Código: 208767254.

 Curso: Ingeniería Software

 Asesor: Hassem Ruben Macias Brambilia

 Unidad 2: Métodos del desarrollo software

 Actividad 2: Modelos agiles


Definición de desarrollo ágil software
A grandes rasgos, así se le llama a los procesos software modernos (creando
diferentes tipos de metodologías), los cuales se caracterizan por su adaptabilidad
a los cambios de requerimientos tomando ventaja de las habilidades de cada
integrante del equipo de trabajo. Cada metodología está basada en los principios
de manifiesto ágil, así las metodologías agiles se adaptan a los requerimientos del
proyecto y como finalidad crear un software aceptable.

Características del desarrollo ágil


 El desarrollo ágil está basado en los 12 principios del manifiesto ágil.
 Son adaptables al cambio
 Se puede aplicar en pequeños a grandes proyectos software.
 Es menor el costo al cambio que los procesos convencionales.
 Debido a sus etapas e iteraciones se pueden reducir riesgos.
 Son iterativas.
 Se involucra mas el cliente en el proceso de desarrollo del software.
 Los equipos deben de estar comunicados, coordinarse y sacar provecho
de sus habilidades.

Principios de desarrollo ágil


1. La prioridad es satisfacer al cliente, ya que son ellos los que solicitan los
servicios y pagan para contar con una solución adecuada de la manera más
rápida posible.
2. Son bienvenidos los requerimientos cambiantes, esto quiere decir que si el
cliente necesita nuevas especificaciones o cambiar algo las metodologías
pueden ser “amigables” a su modificación.
3. Entregar con frecuencia software que funcione, pues al cliente tanto como
al equipo de desarrollo le da una idea más clara hacia donde va el proyecto,
y conocer de manera parcial su funcionalidad.
4. Las personas de negocios deben de trabajar durante todo el proyecto, la
buena comunicación entre estas dos partes es beneficiosa para todos pues
así no habrá ninguna discrepancia que haga que el proyecto se desvíe del
su propósito o que se entregue un software no aceptable.
5. Hay que desarrollar el proyecto con un equipo motivado, esto ayuda a que
el equipo se sienta con la confianza y seguridad que lograrán los objetivos.
6. Difundir información cara a cara, para esto son las reuniones que no tomen
mucho tiempo para compartir lo más relevante del proyecto.
7. La medida principal del avance es el software que funciona, esto quiere
decir si se entrega parcialmente un software para revisión es porque si hay
algún avance sobre el proyecto y así poder dar una evaluación.
8. Los procesos agiles promueven el desarrollo sostenible.
9. La atención continua a la excelencia técnica y el buen diseño mejora la
agilidad.
10. Simplicidad, un desarrollo sencillo pero funcional es mejor que un diseño
extravagante y poco o nada funcional.
11. Los mejores desarrollos de proyecto surgen de los equipos con
organización propia.
12. Reflexionar de cómo poder ser más eficaz, el equipo hace una
autoevaluación para encontrar cualquier aspecto por adoptar o desechar
para optimizar el tiempo y calidad del producto.

Métodos de desarrollo ágil

Extreme programming / programación extrema (XP)


Su aparición fue a finales de los 80’s y predecesora fue la programación extrema
industrial (IXP). Usa un enfoque orientada a objetos.

Se aplican cinco valores: comunicación, simplicidad, retroalimentación, valentía y


respeto, cada uno de estos valores se aplica en toda la duración del proyecto

Actividades estructurales:

Planeación se recaban las historias de usuario en estas de describen


requerimientos escritas por los clientes, después el cliente prioriza todas las
historias. El equipo asigna costo y tiempos sobre cada historia, se pueden
descomponer hasta lograr un acuerdo entre las dos partes. Vuelven a trabajar
para agrupar historias para el siguiente incremento

Diseño: diseño simple de tarjetas CRC y desarrollo de prototipos.

Codificación: se desarrollan un conjunto de prueba unitarias y después se


desarrolla programación por parejas que crean un código por historia.

Pruebas: se hacen pruebas unitarias por cada historia, pasando las pruebas
unitarias pasa a pruebas por parte del cliente.

 Ventajas:
1. Se puede aplicar en grandes organizaciones.
2. Es iterativo:
3. Se puede agregar cambios de manera más sencilla que otros modelos.
4. El código se escribe en pareja.
5. Hay pruebas por parte del cliente.

× Desventajas:
1. Como se trabaja de la mano con el cliente puede haber solicitud de
cambios de manera informal.
2. Cuando hay un gran número de clientes sin estar de acuerdo con los
requerimientos.
3. Los requerimientos se recaban de una manera informal.
4. El modelo XP desalienta la necesidad de un modelo de arquitectura.

Desarrollo adaptativo de software (DAS)


Fue propuesto por Jim Highsmith para sistemas complejos se basa principalmente
en dos puntos del manifiesto ágil: en la colaboración y la organización del equipo.

Está basado en las siguientes tres fases:

Especulación: se inicia la planeación adaptativa del ciclo, se plantean los


requerimientos del proyecto y las restricciones, por último se crea un plan de
entrega.

Colaboración: recabar requerimientos Joint Application Design (JAD) y


especificaciones más pequeñas.

Aprendizaje: componentes implementados listos para recibir retroalimentación y


revisiones técnicas formales.

 Ventajas
1. Se colabora con el cliente.
2. Sus fases son versátiles.
× Desventajas
1. Si no hay colaboración, organización y comunicación, es posible que
fracase el proyecto.
2. Puede existir individualismo que no permita trabajar de manera
fluida.

Scrum
Fue concebido por Jeff Sutherland en 1990, posterior Swchaber y Beedle han
desarrollado más métodos scrum.
Es una metodología ágil basada en el manifiesto ágil, son cantidad n de
actividades regidas por un patrón de proceso llamado sprint. Los sprints están
dentro de las actividades estructurales: requerimientos, análisis, diseño, evolución
y entrega, también se cuenta con un equipo de trabajo roles específicos: el
product owner, scrum master y el equipo de desarrollo.

Estos sprints son iterativos y pasan por ese proceso:

Retraso: se pueden agregar requerimientos al igual que si no se agregan el scrum


master se encarga en dividir los sprints y asignarles un periodo te tiempo, sin
introducir cambios cuando cada sprint este en proceso.

Sprints / sprint planning: son tareas asignadas, priorizadas para cubrir cada uno de
los requerimientos.

Reuniones scrum / daily meeting: son breves reuniones con duración de 15 min,
se realizan todos los días, en cada reunión se cuestionan: ¿Qué hice desde la
última reunión del equipo? ¿Qué obstáculos estas encontrando? ¿Qué planeas
hacer mientras llega la siguiente reunión del equipo?

Demostraciones preliminares: en estas reuniones el product owner presenta lo que


se ha creado de funcionalidad en el sistema y así los clientes proporcionan una
retroalimentación.

 Ventajas
1. En la mayoría de los de los casos es aplicable para proyectos con
fecha de entrega muy corta y requerimientos cambiantes.
2. Se puede aplicar desde pequeños proyectos hasta grandes
proyectos.
3. Existen herramientas de trabajo que ayudan a la organización.
4. Minimiza riesgos ya que en las reuniones el cliente evalúa el
proceso.
× Desventajas
1. Es difícil encontrar personal que multitarea
2. Es complicado aplicarlo cuando las personas no tienen experiencia
en la metodología
Método de desarrollo de sistemas dinámicos (MDSD)
Es un proceso iterativo de software donde cada iteración no se carga de trabajo
sino se ajusta lo suficiente aplicando la regla de Pareto. Se puede combinar con la
metodología extreme programing.

Su ciclo de vida es la siguiente:

Estudio de factibilidad: un estudio breve sobre si es factible aplicar MDSD

Estudio de negocio: se define la arquitectura y requerimientos

Iteración del modelo funcional: ser crean prototipos funcionales, serán evaluadas
por el cliente para incluir nuevos requerimientos

Diseño e iteración de la construcción: es una revisión de los prototipos realizados


para saber si se están cubriendo los requerimientos.

Implementación: se demuestra que tan operacional es el producto en caso de no


ser entregable se regresa a la etapa anterior.

 Ventajas
Por sus iteraciones constantes se pueden encontrar riesgos.
Se pueden incorporar nuevos requerimientos en las siguientes iteraciones.
× Desventajas
Es necesario un equipo bien coordinado.
Según mi punto de vista hay mejores metodologías para aplicarse en
granes proyectos.
Es complicado aplicar MDSD si no se conoce el modelo.

Desarrollo impulsado por características (DIC.)


Metodología ágil que se basa en estas principales filosofías: colaboración,
descomposición por características seguida de incrementos software y comunicar
los detalles técnicos.

Las características se estudian para encontrar errores u omisiones.

Las características se ordenan por jerarquía.

El equipo debe entregar características operativas cada dos semanas.

La representación en código de las características es fácil de revisar porque son


pequeñas.
El desarrollo del proyecto trabaja dependiendo de la jerarquía de las
características

 Ventajas
Se trabaja con pequeños bloques (características)
Las características son estudiadas para encontrar errores u omisiones.
Se entregan características funcionales en periodos pequeños.

× Desventajas
A medida que vaya aumentando las características puede existir una
inadecuada administración

 Conclusión
las empresas implementan nuevos proyectos, desean que el desarrollo sean de
una manera rápida y donde se involucren en el proceso para asegurarse que el
equipo de desarrolladores comprendió todas las especificaciones, es necesario
conocer las diferentes metodologías agiles y tradicionales para elegir la mejor
opción y adaptarla en el proyecto, minimizando riesgos y costos, entregando un
software aceptable.

Sobre las metodologías agiles considero que se debe contar con alguna
experiencia para poder dirigir un equipo, pues se deben organizar tareas para
terminar las iteraciones hasta lograr el software deseado.

Todas estas metodologías son agiles porque se centran en el manifiesto ágil, el


cual considero que es realista ya que es lo que las empresas demandan.

También podría gustarte