Está en la página 1de 32

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

LICENCIATURA EN INGENIERÍA DE SOFTWARE

UNIDAD DE APRENDIZAJE: MÉTODOS Y MODELOS DE


DESARROLLO DE SOFTWARE

Créditos institucionales de la UA: 8


Material Visual: Diapositivas

TEMA:
METODOLOGÍAS ÁGILES.

Elaboró M. en C. Selene Palacios Astudillo. Ciclo 2017B.

1
¿Cómo emplear este material?

El presente material tiene como cometido facilitar la exposición


gráfica del tema “Metodologías Ágiles”, que se aborda en la unidad
de aprendizaje “Métodos y Modelos de Desarrollo de Software”
que corresponde al quinto semestre de la Licenciatura en Ingeniería
de Software.

La presentación deberá ir acompañada de una explicación oral del


docente, ya que la aportación que pueda hacer mediante ejemplos
y situaciones cotidianas brindará la oportunidad de que los
estudiantes comprendan la importancia de construir argumentos
sólidos, creíbles y bien soportados.

2
ÍNDICE
Tema Diapositiva

Agilidad 5

Principios de la agilidad 7

Proceso ágil 10

Etapas del proceso de desarrollo del modelo ágil 12

Algunas metodologías agiles 19

Bibliografía 32

3
Objetivo de la Unidad Temática
Al término de la unidad temática, los estudiantes serán capaces de:
 Conocimientos, método, habilidad, actitud
• Conocer los diferentes métodos de desarrollo de software y aplicar el más adecuado
para una implementación particular, fundamentando en los modelos existentes
derivados de la ingeniería de software
 Al término de la unidad temática los estudiantes serán capaces de:
– Cognitivo
• Diferenciar las características propias así como los procedimientos y distintos contextos
donde se puede aplicar cada metodología.
– Procedimental
• Reconocer y evaluar las ventajas y desventajas de cada método de desarrollo.
– Psicomotriz
• Analizar y recomendar el método más conveniente para diferentes casos en función de
las necesidades de desarrollo, identificando los ámbitos de aplicación
– Actitudinal
• Desarrollar el proceso de forma honesta y precisa en la selección y recomendación de
métodos para mejorar la efectividad de los procesos de desarrollo de software

4
Agilidad

5
Agilidad
• Equipo rápido que responde de manera apropiada a los
cambios:
– En el software que se va a construir.
– Entre los miembros del equipo.
– A nuevas tecnologías.
– Cualquier tipo que incida en producto o proyecto que se
construye.
– Incluye filosofía del manifiesto ágil.

“La agilidad es dinámica, con contenido específico, ajustable


al cambio de manera dinámica y orientada al crecimiento”.

6
Principios de la agilidad
1. La Prioridad más alta, es satisfacer al cliente mediante la entrega
temprana y continua de software valioso.

2. Bienvenidos los requisitos cambiantes, incluso en fases tardías


del desarrollo

3. Entrega frecuente de software funcional (2 semanas – 2 meses).


O lo más pronto que se pueda.

4. Cliente y desarrolladores, deben trabajar en conjunto diariamente


a lo largo del proyecto.

7
Principios de la agilidad
5. Construcción de proyectos alrededor de individuos motivados;
(ambiente, soporte, confianza).

6. El método más eficiente y eficaz para transmitir información a los


integrantes de un equipo de desarrollo y entre éstos, es la
conversación cara a cara.

7. Medida primaria de progreso es el software funcional.

8. Los procesos ágiles promueven el desarrollo sostenido. Los


patrocinadores, desarrolladores y usuarios deben mantener un
ritmo constante de forma indefinida
8
Principios de la agilidad
9. La atención continua a la excelencia técnica y al buen diseño
mejora la agilidad.

10. La simplicidad (el arte de maximizar la cantidad de trabajo no


realizado) es esencial.

11. Las mejores arquitecturas, los mejores requisitos y los mejores


diseños emergen de equipos auto organizados.

12. A intervalos regulares el equipo refleja la forma en que se puede


volver más efectivo; entonces su comportamiento se ajusta y adecua
en concordancia.
9
Proceso ágil

1. Resulta difícil 2. El diseño y la 3. El análisis,


predecir cuáles construcción están diseño y
requisitos del intercalados, de modo construcción no
software persistirán que los modelos de son predecibles.
y cuáles cambiarán. diseño sean probados
conforme se crean.
Es difícil presagiar
cómo cambiarán las Resulta difícil predecir
cuánto diseño se
prioridades del
necesita antes de que
cliente mientras se la construcción se
ejecuta un proyecto. utilice para probar el
diseño.

Proceso ágil debe ser adaptable, en forma incremental. Contando con


retroalimentación del cliente – Prototipo Operacional -.
10
Proceso ágil
 Basado- valores, principios y
prácticas básicas-.
 Valores son comunicación,
simpleza, retroalimentación y
valentía.
 Interactivo e incremental,
caracterizan a proyecto
(realizado con metodología
ágil).
11
Etapas del proceso de desarrollo de modelado ágil.

Los m
étodo
involu s ágiles
cliente cran al
e
iterac n muchas
iones
de libe a
rar la ntes
versió primer
n…

ntan
e in creme
… o de
el ritm na
t er ac i ones u
i e se
vez qu l
e
libera .
cto
produ 12
Etapas del proceso de desarrollo de modelado ágil.

E x p l o r a c i ó n . Del entorno para evaluar:


convicción de que puede y debe lidiar con
el problema mediante el desarrollo ágil.
Ensamblar el equipo.
Evaluar habilidades de sus miembros.
Se requiere desde unas cuantas semanas (si
conoce a los miembros del equipo y la
tecnología a usar) hasta unos cuantos
meses. (todo nuevo).
Examinar tecnologías potenciales para
crear el sistema.
Clientes escriben historias de usuarios.

13
Etapas del proceso de desarrollo de modelado ágil.
PLANEACIÓN.
Sólo requiera de unos cuantos días.
El equipo de desarrollo y sus clientes se
ponen de acuerdo en una fecha, que
puede ser cualquier día a partir de dos
meses hasta medio año después de la
fecha en curso, para entregar soluciones
a sus problemas empresariales más
estresantes .
Las tarjetas de historias se convierten en
las piezas del juego de planeación que
describen con brevedad la tarea, proveen
anotaciones y un área para rastrear las
tareas.
Hay dos jugadores principales en el juego
de planeación: el equipo de desarrollo y
el cliente empresarial.
14
Etapas del proceso de desarrollo de modelado ágil.
I T E R A C I O N E S PA R A L A L I B E R A C I Ó N D E
LA PRIMERA VERSIÓN.
Ciclos de prueba, retroalimentación y modificación de
aproximadamente tres semanas de duración.
• El equipo de desarrollo se esforzará en bosquejar
toda la arquitectura del sistema, aun y cuando sólo
esté en forma de bosquejo.
• Uno de los objetivos es realizar pruebas funcionales
escritas por el cliente al final de cada iteración.
• Cabe preguntarse si hay que alterar el itinerario de
trabajo o si está lidiando con demasiadas historias.
• Celebrar siempre el progreso, aunque éste sea
pequeño, debido a que esto forma parte de la
cultura de motivar a todos a que trabajen lo más
duro que puedan en el proyecto.

15
Etapas del proceso de desarrollo de modelado ágil.
I T E R A C I O N E S PA R A L A L I B E R A C I Ó N D E L A P R I M E R A
VERSIÓN.

16
Etapas del proceso de desarrollo de modelado ágil.
P U E S TA E N P R O D U C C I Ó N
El ciclo de retroalimentación se agiliza de manera que en vez de recibir
retroalimentación por una iteración cada tres semanas, las revisiones de
software se entregan en una semana.
El producto se
libera durante
esta fase, pero
Puede instituir
se puede
sesiones
mejorar si se le
informativas
agregan otras
diarias para que
características.
todos sepan lo que
los demás están
haciendo.
Uno de los lemas de la metodología ágil con el que todos estamos
sinceramente de acuerdo es que ¡desarrollar sistemas debe ser divertido!

17
Etapas del proceso de desarrollo de modelado ágil.
MANTENIMIENTO

 Una vez liberado el sistema, debe


seguir funcionando sin
problemas.
 Es posible agregar características,
considerar las sugerencias más
riesgosas de los clientes y a rotar
los miembros del equipo.

18
Algunas metodologías agiles.

19
Metodología ágil Kanban

20
Metodología ágil Kanban
• Visualiza el flujo de trabajo
– Divide el trabajo en bloques, escribe cada elemento en una tarjeta y
ponlo en el muro.
– Utiliza columnas con nombre para ilustrar dónde está cada elemento en
el flujo de trabajo.

• Limita el WIP (Work in Progress, trabajo en curso)


– Asigna límites concretos a cuántos elementos pueden estar en progreso
en cada estado del flujo de trabajo.

• Mide el lead time (tiempo medio para completar un elemento, a


veces llamado "tiempo de ciclo").
– Optimiza el proceso para que el lead time sea tan pequeño y
predeciblecomo sea posible.
21
Metodología ágil Kanban

22
Metodología ágil Scrum
24 horas

Sprint
2-4 semanas
Objetivo del Sprint

Sprint
Incremento del producto
Return Backlog
potencialmente entregable
Gift wrap
Cancel
Product
Backlog 23
Metodología ágil Scrum
 Principios congruentes con manifiesto ágil.
 Utilizado para guiar actividades de desarrollo, dentro de un
proceso de análisis que incorpora las actividades:
Requerimientos
Análisis
Diseño
Evolución y entrega.
 En cada actividad, tareas de trabajo ocurren con un patrón sprint.
 El trabajo realizado dentro de un sprint variará en función de la
complejidad y tamaño del producto, se adapta al problema en
cuestión y se define; con frecuencia se modifica en tiempo real por
parte del equipo Scrum.

24
Metodología ágil Scrum

25
Metodología ágil Scrum
 Scrum es un proceso ágil que permite centrarse en ofrecer el
más alto valor de negocio en el menor tiempo.
 Permite rápidamente y en repetidas ocasiones inspeccionar
software real de trabajo (cada dos semanas o un mes).
 El negocio fija las prioridades. Los equipos se auto-organizan a
fin de determinar la mejor manera de entregar las
funcionalidades de más alta prioridad.
 Cada dos semanas o un mes, cualquiera puede ver el software
real funcionando y decidir si liberarlo o seguir mejorándolo en
otro sprint.

26
Características Scrum
Equipos auto-organizados
El producto avanza en una serie de “Sprints" de
dos semanas a un mes de duración
Los requisitos son capturados como elementos
de una lista de “Product Backlog"
No hay prácticas de ingeniería prescritas
Utiliza normas generativas para crear un
entorno ágil para la entrega de proyectos
Procesos agiles
27
Metodología ágil Scrum
Roles

•Product owner
•ScrumMaster Reuniones
•Team •Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum meeting
Artefactos

•Product backlog
•Sprint backlog
•Burndown charts
28
Metodología ágil XP

29
Metodología ágil XP
Valores
Comunicación Simplicidad Retroalimentación Valentía Respeto
Eficaz entre los XP restringe a Se obtiene de Término Entre sus
ingenieros de los tres fuentes: más miembros,
software y otros desarrollador El software adecuado otros
participantes. XP es para que implementado, es participantes
pone el enfasis en diseñen sólo el cliente y otros disciplina y los
la colaboración para las miembros del integrantes
estrecha pero necesidades equipo de del equipo e
informal entre los inmediatas en software. indirectamen
clientes y los lugar de te para el
desarrolladores considerar las software en
del futuro. sí mismo

30
Tradicional vs Agilidad
Requisitos Diseño Código Test

En lugar de hacer todo de


una cosa a la vez ...
...los equipos agiles hacen
un poco de todo todo el
tiempo

31
Bibliografía
 Ian Sommerville. Ingeniería del software. Addison Wesley.
 Salvador Sánchez Alonso, Miguel Ángel Sicilia Urbán,
Daniel Rodríguez García. Ingeniería del Software Un
enfoque desde la guía SWEBOK. Alfa Omega.
 Henrik Kniberg. Prólogos de Jeff Sutherland y Mike Cohn.
Scrum y XP desde las trincheras. Versión online gratuita.
C4Media Inc.
 Eliécer Herrera Uribe, Luz Estela Valencia Ayala. Del
manifiesto ágil sus valores y principios. Scientia et
Technica Año XIII, No 34, Mayo de 2007. Universidad
Tecnológica de Pereira. ISSN 0122-1701.

32

También podría gustarte