Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

1-Metodologias Tradicionales y Scrum

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 53

Metodologías de

desarrollo de software
Unidad 4
2
Metodologías de
desarrollo de software
tradicionales
3
Metodologías de desarrollo de software
Generalmente o de forma clásica se definen como un conjunto
de técnicas y métodos organizativos, los cuales se utilizan para
diseñar soluciones de software informático.
Metdología
de desarrollo Todas las metodologías de desarrollo de software tienen como
de software objetivo organizar a los equipos de trabajo para que estos
desarrollen y amplíen las funcionalidades de un programa o
sistema de manera óptima y eficiente y así cumplir con la
calidad deseada.

Estas metodologías han venido sufriendo cambios a lo largo del


tiempo, pasando de ser un mero trámite de organización, a ser
la base primordial para desarrollar software de una manera
productiva y eficaz.
4
Metodologías de desarrollo de software
Las metodologías de desarrollo de software se dividen en dos
grandes grupos, las tradicionales (Waterfall o Cascada,
Incremental, Evolutivo Espiral, V, Prototipos y desarrollo Rápido
Metdología de aplicaciones) y las ágiles (Kanban, Scrum, Lean y la
de desarrollo Programación extrema (XP).
de software
5
Metodologías tradicionales de desarrollo de software.

Las metodologías tradicionales o rígidas en el desarrollo del


software, son aquellas que establecen una disciplina de trabajo
Metdología sobre el proceso de desarrollo del software, con el propósito de
de desarrollo alcanzar un software más eficiente.
de software
Se caracterizan por definir y establecer total y rígidamente
todos y cada uno de los requisitos al inicio de los proyectos de
ingeniería de software. Estas metodologías son poco flexibles y
no permiten realizar cambios tan seguidos o comúnmente.
6
Metodologías tradicionales de desarrollo de software
El método tradicional funciona aplicando un enfoque lineal
donde las etapas del transcurso de desarrollo del software
deben complementarse secuencialmente.
Metdología Es decir, una etapa debe completarse antes de que comience la
de desarrollo siguiente, dichas etapas reúnen la recopilación de requisitos y
de software documentación.
¿Cuáles son las etapas o fases del desarrollo de software?
7
Cascada.

Su nombre se deriva de cómo se organizan las etapas (de


arriba a abajo), desarrollando las funciones en etapas
Cascada diferenciadas y en estricto orden. En esta metodología se
debe revisar el producto antes de cada etapa para ver si está
listo para pasar a la siguiente fase.

En el modelo en cascada las actividades el desarrollo


fundamental de este modelo se derivan en las siguientes
etapas: Análisis y definición de requerimientos, Diseño
del sistema hardware, Codificación, Implementación y
prueba de unidades, Integración y prueba del sistema,
Funcionamiento y mantenimiento.
8
Cascada.

Las ventajas del modelo en cascada son que la documentación


se produce en cada fase y este cuadra con otros modelos del
proceso de ingeniería. La principal desventaja es su
Cascada inflexibilidad en dividir el proyecto en distintas etapas.
9
Espiral.
El nombre de esta metodología se debe a su funcionamiento,
ya que las etapas se procesan en forma de espiral. Cuanto más
cerca del centro se está, más avanzado se encuentra el
proyecto.
Espiral
Esta metodología se caracteriza por combinar dos modelos,
el incremental y el prototipo, donde se añade la idea de análisis
de riesgo. La misma se divide en cuatro etapas: planificación,
análisis de riesgo, desarrollo de prototipo y evaluación del
cliente. De esta manera es una característica del desarrollo en
espiral, la minimización de los riesgos en el desarrollo de
software. Estos riesgos se enfrentan al enfoque incremental,
realizando primero prototipos, que luego pasan por las fases
de desarrollo de software.
10
Espiral.
El desarrollo o modelo en espiral es un enfoque de desarrollo
de software que puede ser considerado como una respuesta a
los inconvenientes del desarrollo en cascada. El modelo en
espiral explica las etapas de vida de un software por medio de
Espiral espirales, que se repiten hasta entregar el producto
terminado.

El desarrollo en espiral es universal y se combina con otros


métodos de desarrollo clásicos y ágiles, es por ello que
también se le llama modelo o desarrollo de segundo orden.
11
Espiral.
Esquema de representación

Espiral
12
Modelo V.
El ciclo en V, también llamado método en V o modelo en V, se
define como un modelo de gestión de proyectos de desarrollo
de sistemas.
Este modelo se inspira en el modelo en cascada, representa
Modelo V todo el ciclo de vida de un proyecto y se basa en el mismo
principio de gestión secuencial y lineal.

Algunas características de este modelo son: Una fase


descendente donde se señalan las necesidades del proyecto;
una fase ascendente donde se especifican las verificaciones de
las necesidades.
13
Modelo V.
Pasos necesarios para la realización completa de un proyecto,
desde la formulación de la necesidad hasta la verificación final
de su conformidad.

Modelo V
14
Desventajas para el cliente

Tradicionales
15
Actividad
Actividad:

Desarrollará en formato electrónico un cuadro


comparativo que identifique las características
individual. ,ventajas y desventajas de los modelos de
desarrollo: Cascada, Espiral y Modelo en V.

▸ Portada
▸ Desarrollo del tema
▸ Conclusión
▸ Fuente de información
Subir archivo PDF con su nombre en el archivo
16
Proceso Unificado de
Desarrollo de Software
17
Proceso
Proceso Unificado de Desarrollo de Software.

Es una más de las metodologías de desarrollo de software, está


basado en componentes e interfaces bien definidas y que se
aplica junto con el Lenguaje Unificado de Modelado, lo que hace
Unificado de que sea y se constituya como la metodología más utilizada,
Desarrollo de principalmente cuando se utilice o trabaje con un lenguaje de
Software programación orientado a objetos.
18
Proceso
Proceso Unificado de Desarrollo de Software.

Es el resultado de varios años de desarrollo y uso práctico en el


que se han unificado técnicas de desarrollo, a través del UML, y
trabajo de muchas metodologías utilizadas por los clientes. La
Unificado de versión que se ha estandarizado vio la luz en 1998 y se conoció
Desarrollo de en sus inicios como Proceso Unificado de Rational 5.0; de ahí
Software las siglas con las que se identifica a este proceso de desarrollo.

RUP no es un sistema con pasos firmemente establecidos, sino


un conjunto de metodologías adaptables al contexto y
necesidades de cada organización.
19
Proceso
Elementos principales del modelo:

Como RUP es un proceso, en su modelación define como sus


principales elementos:
Unificado de
Desarrollo de Trabajadores (“quién”): Define el comportamiento y
Software responsabilidades (rol) de un individuo, grupo de individuos,
sistema automatizado o máquina, que trabajan en conjunto
como un equipo. Ellos realizan las actividades y son
propietarios de elementos.
20
Proceso
Elementos principales del modelo:

Actividades (“cómo”): Es una tarea que tiene un propósito


claro, es realizada por un trabajador y manipula elementos.
Unificado de
Desarrollo de Artefactos (“qué”): Productos tangibles del proyecto que son
Software producidos, modificados y usados por las actividades. Pueden
ser modelos, elementos dentro del modelo, código fuente y
ejecutables.

Flujo de actividades (“cuándo”): Secuencia de actividades


realizadas por trabajadores y que produce un resultado de
valor observable.
21
Proceso
Características principales del modelo:

▸ Unifica los mejores elementos de metodologías anteriores.


▸ Preparado para desarrollar grandes y complejos
Unificado de proyectos.
Desarrollo de ▸ Orientado a Objetos.
Software ▸ Utiliza el UML como lenguaje de representación visual.
22
Proceso
Ciclo de vida de RUP
▸ Dirigido por casos de uso.
▸ Centrado en la arquitectura.
▸ Iterativo e Incremental.
Por ejemplo, una iteración de elaboración centra su atención en el
Unificado de
análisis y diseño, aunque refina los requerimientos y obtiene un
Desarrollo de producto con un determinado nivel, pero que irá creciendo
Software incrementalmente en cada iteración.

Es práctico dividir el trabajo en partes más pequeñas o


miniproyectos. Cada miniproyecto es una iteración que resulta en un
incremento. Las iteraciones hacen referencia a pasos en los flujos de
trabajo, y los incrementos, al crecimiento del producto. Cada iteración
se realiza de forma planificada es por eso que se dice que son
miniproyectos.
23
Flujo de trabajo de RUP
En RUP se han agrupado las actividades en grupos lógicos definiéndose
9 flujos de trabajo principales, los 6 primeros son conocidos como
flujos de ingeniería y los tres últimos como flujos de apoyo.
▸ Modelo del Negocio
Proceso ▸ Requerimiento
Unificado de ▸ Análisis y Diseño
Desarrollo de
▸ Implementación
Software
▸ Prueba (Testeo)
▸ Instalación o despliegue
▸ Administración del proyecto
▸ Administración de configuración y cambios
▸ Ambiente
24
Fases de RUP

Cada fase representa un ciclo de desarrollo en la vida de un producto de


software.
▸ Concepción o inicio.
Proceso
▸ Elaboración
Unificado de
Desarrollo de ▸ Construcción
Software ▸ Transición
25
Diferencias de RUP con otras metodologías
▸ Algunos aspectos que diferencian a RUP de las demás
metodologías y lo que lo hace único es que en RUP, los casos de
uso no son sólo una herramienta para especificar los requisitos del
sistema, sino que también guían su diseño, implementación y
prueba. Los casos de uso constituyen un elemento integrador y
Proceso
una guía del trabajo.
Unificado de
Desarrollo de ▸ Además de utilizar los casos de uso para guiar el proceso; se
presta especial atención al establecimiento temprano de una
Software buena arquitectura que no se vea fuertemente impactada ante
cambios posteriores durante la construcción y el mantenimiento.
También este propone que cada fase se desarrolle en iteraciones.

Hitos
26
Actividad
▸ Estudiantes: En equipo desarrollar un
análisis donde describan porque han
Proceso elegido una de las metodologías
Unificado de siguientes:
Desarrollo de
Software
▸ Cascada, V, espiral y RUP
27
Metodologías de
desarrollo de software
ágiles (Scrum y XP).
28
Metodologías ágiles de desarrollo de software

Metodologías
de desarrollo
ágil
29
Metodologías ágiles de desarrollo de software

El desarrollo ágil de software es un término general para


un conjunto de marcos y prácticas basadas en los valores y
Metodologías principios expresados en el Manifiesto para el desarrollo de
de desarrollo software ágil y los 12 principios detrás de él.
ágil
30
Metodologías ágiles de desarrollo de software

Las metodologías ágiles son enfoques para el desarrollo de


productos que se ajustan a los valores y principios descritos
Metodologías en el Manifiesto Ágil, estas pretenden ofrecer el producto
de desarrollo adecuado, con una entrega incremental y frecuente de
ágil pequeños trozos de funcionalidad, a través de pequeños
equipos multifuncionales autoorganizados, lo que permite la
retroalimentación frecuente del cliente y la corrección del
curso según sea necesario.
Con ello, Agile pretende corregir los problemas que plantean
los enfoques tradicionales en «cascada», que consisten en la
entrega de grandes productos en largos periodos de tiempo,
durante los cuales los requisitos de los clientes cambian con
frecuencia, lo que hace que se entreguen productos
equivocados.
31
¿Qué es el Manifiesto Ágil?

El Manifiesto Ágil es una declaración de valores y principios


fundamentales para el desarrollo de software. El Manifiesto
Metodologías Ágil para el desarrollo de software se creó en 2001 y es una
de desarrollo declaración de 4 reglas vitales y 12principios que sirven de
ágil guía para las personas en el desarrollo ágil de software.

Fue creado por 17 profesionales que ya practicaban métodos


ágiles como XP, DSDM, SCRUM, FDD, etc, reunidos en las
montañas nevadas del estado norteamericano de Utah,
convocados por Kent Beck.
32
Metodología Scrum

La metodología Scrum es un marco sencillo para trabajar con


proyectos complejos, y fue creada por Ken Schwaber y Jeff
Sutherland.
Metodologías
de desarrollo Las metodologías ágiles de desarrollo de software son iterativas, lo
que significa que el trabajo se divide en iteraciones, que se denominan
ágil
Sprints en el caso de Scrum. Scrum es ejecutado por pequeños
equipos de entre 7 y 9 personas, incluyendo un Scrum Master y un
Propietario de Producto.
En Scrum, los proyectos se dividen en ciclos (normalmente de 2 o 3
semanas) llamados Sprints. El Sprint representa una caja de tiempo
dentro de la cual se debe desarrollar un conjunto de
características. Múltiples sprints pueden ser combinados para formar
una versión – donde el software formal / entrega del producto se hace
al cliente / mercado.
33
Metodología Scrum

Metodologías
de desarrollo
ágil
34
Programación extrema (XP)

Programación Extrema (XP) – o Programación por parejas – es


una metodología desarrollada por Kent Beck a principios de los
Metodologías años 90. Esta metodología ágil se centra en potenciar las
de desarrollo relaciones interpersonales como clave del éxito en el desarrollo
ágil de software. XP también se centra en promover el trabajo en
equipo, cuidar el aprendizaje de los desarrolladores y fomentar
un buen ambiente de trabajo.
Se caracteriza porque los desarrolladores trabajan por parejas,
en las que uno de ellos programa mientras el otro observa; y
cambian estos papeles de forma regular a lo largo del Sprint. De
este modo, permiten la revisión continua del código y la
retroalimentación que mejora la calidad del código y la
capacidad del desarrollador.
35
Programación extrema (XP)
La Programación Extrema (XP) promueve la retroalimentación continua
entre el cliente y los equipos de desarrollo, la comunicación fluida entre
todos los participantes, la simplicidad en las soluciones implementadas
y la disposición a afrontar cambios. XP es especialmente adecuado para
Metodologías proyectos con requisitos indistintos y muy cambiantes, y en los que
de desarrollo existe un alto riesgo técnico.
ágil
36
Actividad:
Estudiante: Investigara e identificará las
características, ventajas y desventajas de
Metodologías las metodologías ágiles Scrum y XP.
de desarrollo
ágil
Individual.
Subir en PDF con su nombre

Portada
Desarrollo
Conclusión
Fuente de información
37
Principios y fundamentos
de SCRUM
38
Ágiles vs
El énfasis está en

Dominio
Ágiles(Scrum)

Personas

Impredecible/Exploratorio
Tradicional

Procesos

Predecible

Tradicionales Documentación Sólo mínima según se Exhaustivo


requiera

Estilo de Procesos Iterativo Lineal

Planificación por adelantada Baja Alta

Priorización de requisitos Según el valor del negocio y Fijo en el plan de proyectos.


regularmente actualizada
39
Ágiles vs
Aseguramiento de calidad

Organización
Ágiles(Scrum)

Centrada en el cliente

Auto Organizada
Tradicional

Centrada en el proceso

Gestionada

Tradicionales Estilo de gestión Descentralizado Centralizado

Cambio Actualizaciones a la lista Sistema formal de Gestión de


priorizada Cambio

Liderazgo Colaborativo, Liderazgo de Mando y Control


servicio

Medición de Rendimiento El valor del negocio Plan de la conformidad

Retorno de inversión Al comienzo y a lo largo del Al final del proyecto.


proyecto
40
Manifiesto ágil, declaración de valores

Individuos e Procesos y
sobre
interacciones herramientas

SCRUM
Documentación
Software que funciona sobre
exhaustiva

Colaboración con el Negociación de


sobre
cliente contratos

Responder ante el
sobre Seguimiento de un plan
cambio
Manifiesto Ágil

41
Principios y fundamentos
Nuestra máxima prioridad es Realizar con frecuencia
Bienvenidos requisitos
satisfacer al cliente a través de la entregables que funcionen, con
cambiantes, incluso en etapas
entrega temprana y continua de una preferencia de plazos más
avanzadas del proyecto.
entregables valiosos. cortos de tiempo.

Principios
Construir proyectos alrededor de
La gente de negocios y el equipo El método más eficiente y eficaz
individuos motivados; darles el
Scrum deben trabajar juntos de transmitir información con y
medio ambiente y el apoyo que
todos los días durante todo el dentro de un equipo Scrum es
necesitan, y confiar en ellos para
proyecto. conversación cara a cara.
hacer el trabajo

Procesos ágiles promueven el


La atención continua a la
Productos/servicios trabajando es trabajo sostenible. Todos deben
excelencia técnica y el buen
la principal medida de progreso. ser capaces de mantener el ritmo
diseño mejora la agilidad.
constante de forma indefinida.

A intervalos regulares, el equipo


Simplicidad - el arte de maximizar Las mejores arquitecturas,
reflexiona sobre cómo ser más
la cantidad de trabajo no requisitos y diseños emergen de
efectivo, y con base a eso ajusta
realizado -, es esencial. equipos auto-organizados
su comportamiento.
42
Principios Scrum

Principios
Scrum
43
Inicio Planeación y Implementación Revisión y Liberación
estimación retrospectiva

Crear visión del Crear Historias Crear Concocar Scrum Liberación de


proyecto de usuario Entregables de Scrums entregables

Identificar Aprobar, estimar Realizar Demostrar y Retrospectiva


Scrum master y y comprometer Reunion Diaria Validar Sprint del proyecto
Procesos Stakeholder(s) historias de
Scrum usuarios

Formar Scrum Crear Tareas Refinar Product Retrospectiva


Team Backlog del Sprint
Priorizado

Desarrollar Estimar Tareas


Épicas

Crar Produc Crear Sprint


Backlog Backlog
Priorizado

Llevar a cabo el
plan de
liberaciones
44
Scrum
45
Roles Clave Roles no Clave
Se requiere obligatoriamente para producir No son obligatorios para el proyecto
el producto o servicio del proyecto. Scrum

Están plenamente comprometidas con el Pueden interactuar con el equipo pero


Roles proyecto. no son responsables del éxito del
proyecto

Responsables de cumplir los objetivos del


proyecto.

● Product Owner ● Stakeholder(s): Clientes,


● Scrum Team Scrum core team Usuarios, Patrocinadores.
● Scrum Master ● Chief Product Owner
● Chief Scrum Master
● Proveedores
46
Cliente Product Scrum
Owner Master

El cliente le proporciona sus Comunica los requerimientos del


requisitos negocio priorizados al Scrum
Team crea el Product Backlog

Roles La voz del Cliente --------> priorizado y define los criterios


de aceptación

Demuestra el
incremento del
producto
durante el Scrum
Sprint Review
Team

Le ofrece valor al negocio del


cliente a través de la liberación
del incremento del producto
47
Propietario del producto

▸ Representa a los interesados y es el responsable de asegurar la


entrega de valor por parte del equipo SCRUM.
Product ▸ Escribe los requerimientos del negocio en forma de historias de
Owner usuario.
▸ Gestion el product backlog priorizado.
▸ Responsable de asegurar una clara comunicación de las
funcionalidades al SCRUM Team.
▸ Es la voz del cliente.
▹ Se refiere a las necesidades declaradas y a las no
especificadas.
▹ Puede ser interno o externo a la organización.
48
Product
Owner
49
Equipo Scrum
▸ Grupo de personas responsables de entender los requerimientos
del negocio especificados por el Product Owner.
▸ Estimar las historias de usuario.
Scrum Team ▸ Calcula el esfuerzo de las tareas identificadas.
▸ Crea los entregables del producto.
▸ Disfruta autonomía completa durante un sprint.
▸ No hay más subdivisiones de equipos.

Caracteristicas:
- Auto-organizados
- Multifuncional
- Co-ubicación y comunicación cara a cara
- Entrega iterativa del producto.
50
Equipo Scrum
● Los miembros del Scrum team son especialistas-generalistas
○ Tienen conocimiento general de varios campos y expertos
en al menos uno.
Scrum Team
51
Scrum master

▸ Asegura que el proceso de SCRUM se lleve a cabo correctamente


por el Scrum Team y el Product Owner
Scrum ▸ Es Responsable de:
Master ▹ Asegurar que la gestión del proyectos esté avanzando sin
problemas.
▹ Que los miembros del Scrum Team tienen todas las
herramientas necesarias para realizar el trabajo
▸ El rol está basado en liderazgo de servicio.
52
Scrum master
Habilidades
Motivación ¡Lider Servicial!

Coaching de equipos
Scrum
Gestión de conflictos
Master
Comunicación
53
● Adaptabilidad ● Transparencia ● Retroalimentación
● Mejora Continua ● Entrega continua de continua
● Entrega valor ● Ritmo sostenido
anticipada de ● Proceso de ● Motivación
valor desarrollo eficiente ● Centrado en el
Ventajas de
● Resolución de ● Entregables cliente
SCRUM
problemas más efectivos ● Alta velocidad
rápido ● Responsabilidad
● Entorno de alta colectiva
confianza ● Medio ambiente
innovador

También podría gustarte