1
DESARROLLO DE SOFTWARE
INTRODUCCIÓN AL DESARROLLO DE SOFTWARE
ANÁLISIS DE LAS METOLOGIAS DE DESARROLLO DE SOFTWARE
DOCENTE: DIEGO YANEZ
ALEXIS DANIEL VÉLEZ QUINCHE
1 ERO D VESPERTINO
AÑO LECTIVO 2023-2024
2
DEBER Nº3
Metodología en Cascada: En la metodología en cascada, cada fase debe completarse
antes de pasar a la siguiente, además es un enfoque lineal y secuencial para el desarrollo
de software
- Etapas. – las etapas de la metodología en casa cada son:
Requisitos. - Esta etapa implica comprender las necesidades del cliente y
definir claramente qué debe lograr el software.
Diseño. - Implica la creación de una arquitectura de software, diseño de base
de datos, diseño de interfaces de usuario y cualquier otro aspecto necesario
para implementar el sistema.
Desarrollo. - En esta fase, se traduce el diseño del sistema en código real. Los
programadores escriben el código fuente según las especificaciones del
diseño.
Pruebas. - Incluye pruebas unitarias para partes individuales del código y
pruebas de integración para asegurar que los diferentes componentes del
sistema funcionen bien juntos.
Despliegue. - Una vez que el software ha pasado las pruebas y se ha corregido
cualquier error, se despliega para su uso en el entorno de producción.
Mantenimiento. - En esta última etapa, se realizan correcciones de errores y
mejoras en el software según sea necesario.
3
- Ventajas. – estas son las siguientes ventajas de utilizar la metodología en cascada
Estructura clara. –la metodología en cascada sigue una estructura clara y
lineal, lo que facilita la comprensión y el seguimiento del proceso de
desarrollo.
Documentación completa. –Cada etapa produce documentación detallada,
incluyendo requisitos, diseño y pruebas.
Enfoque en la calidad. –Debido a su naturaleza secuencial, la metodología en
cascada facilita la planificación y el control del proyecto.
- Desventajas:
Inflexibilidad ante Cambios. –Si los clientes o las partes interesadas
solicitan modificaciones significativas después de que el desarrollo haya
comenzado, puede ser costoso y complicado retroceder y realizar ajustes.
Poca Adaptabilidad. - No se adapta bien a proyectos donde los requisitos no
están bien definidos desde el principio
Riesgo de Entregas Finales No Conformes. - Dado que la revisión y
validación del software generalmente ocurre al final del ciclo de desarrollo,
existe el riesgo de que los resultados finales no cumplan con las expectativas
del cliente.
- Requisitos. –
Proyectos de tamaño mediano. – no es adecuado para grandes proyectos.
Planificación rigurosa. – se requiere una planificación muy detallada.
Proyecto bien definido desde el principio. – se debe tener claro el objetivo.
4
Metodología en espiral:
- Etapas. –
Determinación de Objetivos. - Se identifican los objetivos específicos del
proyecto y se establecen las posibles restricciones.
Análisis de Riesgos. - Se lleva a cabo un análisis de riesgos para identificar
posibles problemas y planificar estrategias para abordarlos.
Desarrollo e Implementación. - Se realiza la implementación del software
en pequeñas secciones, comenzando con las áreas de mayor riesgo. para luego
continuar con la implementación del sistema en general.
Evaluación y Planificación. - Se evalúan los resultados obtenidos hasta el
momento, se revisan los riesgos y se planifica la siguiente iteración.
- Ventajas. –
Adaptabilidad a Cambios. -La metodología en espiral es altamente adaptable
a cambios en los requisitos del cliente o en el entorno del proyecto.
Identificación Temprana de Riesgos. -El enfoque en la identificación y
gestión de riesgos desde el principio ayuda a abordar problemas potenciales
antes de que se conviertan en obstáculos importantes.
Entregas Incrementales. -Permite entregas incrementales de productos o
prototipos funcionales, lo que proporciona al cliente resultados tangibles más
temprano en el proceso.
Flexibilidad. -Permite ajustes y mejoras continuas a medida que el proyecto
avanza, lo que puede resultar en un producto final más alineado con las
necesidades del cliente.
5
- Desventajas. – estas son algunas de las desventajas de esta metodología:
Complejidad de Gestión. - La gestión de proyectos en espiral puede ser más
compleja debido a la necesidad de gestionar iteraciones, riesgos y cambios
constantes.
Requiere Experiencia. - Para implementar con éxito la metodología en
espiral, el equipo de desarrollo y el equipo de gestión deben tener experiencia
en la identificación y gestión de riesgos.
Más Costoso. - Puede resultar más costoso de implementar en comparación
con enfoques más lineales debido a la necesidad de realizar análisis de riesgos
y múltiples iteraciones.
- Requisitos. –
Compromiso con la Evaluación de Riesgos. - Es necesario un compromiso
para identificar, evaluar y gestionar activamente los riesgos en cada fase del
proyecto.
Flexibilidad del Equipo. - El equipo debe ser lo suficientemente flexible para
adaptarse a cambios en los requisitos y para abordar problemas identificados
durante las iteraciones.
Comunicación Efectiva. - La comunicación efectiva entre los miembros del
equipo y con los stakeholders es crucial para garantizar que los cambios y
ajustes se realicen de manera coherente.
Aprendizaje Continuo. - Una mentalidad de aprendizaje continuo.
La metodología en espiral fomenta la mejora continua a través de la
retroalimentación y la adaptación, por lo que el equipo debe estar dispuesto a
aprender de cada iteración.
6
Metodología scrum:
- Etapas. –
Product Backlog y Sprint Planning. -El Product Backlog es una lista priorizada
de todas las características, funcionalidades y mejoras que se desean en el
producto. En el Sprint Planning el equipo de desarrollo revisa el Product Backlog
y selecciona las tareas que se comprometen a completar durante el próximo
Sprint.
Sprint y Daily Scrum. - El Sprint es el corazón de Scrum y representa un período
de tiempo fijo durante el cual se realiza el trabajo. Los Sprints típicamente duran
de 1 a 4 semanas. El Daily Scrum es una reunión diaria que tiene como objetivo
sincronizar al equipo, discutir el progreso y coordinar actividades futuras.
Sprint review y retrospective. – al final de cada Sprint, se presenta el trabajo a
los demás miembros y a los stakeholders. Y al final del sprint review se discuten
los puntos positivos y de mejora para el próximo sprint.
Incremento del producto. - Cada Sprint entrega un incremento potencialmente
entregable del producto. Esto significa que, al final de cada Sprint, el producto
debe estar en un estado mejorado y funcional.
Actualización del Product Backlog. - Después de cada Sprint, el Product Owner
actualiza el Product Backlog en función de los cambios en las prioridades, nuevos
conocimientos y retroalimentación recibida durante el Sprint.
-
7
- Ventajas. –
Entrega Rápida y Regular de Valor: Scrum facilita la entrega de incrementos
funcionales del producto en intervalos regulares (Sprints), lo que permite a los
clientes y stakeholders recibir valor rápidamente.
Flexibilidad y Adaptabilidad: Scrum es altamente adaptable a los cambios en
los requisitos y prioridades. Los equipos pueden ajustarse fácilmente a nuevas
circunstancias y requisitos emergentes.
Colaboración Activa: Fomenta la colaboración activa entre los miembros del
equipo y con los stakeholders. La transparencia y la comunicación efectiva son
fundamentales en el marco Scrum.
- Desventajas. –
Falta de Prescripción Detallada: Algunas organizaciones pueden encontrar que
la falta de prescripción detallada en Scrum puede llevar a interpretaciones
incorrectas o a la implementación inconsistente.
Enfoque en Equipos Pequeños: Scrum se adapta mejor a equipos pequeños y
medianos. En proyectos grandes, puede haber desafíos en la coordinación y la
gestión de múltiples equipos Scrum.
- Requisitos. –
Roles Bien Definidos: La identificación clara de roles como Product Owner,
Scrum Master y Equipo de Desarrollo es esencial para el éxito de Scrum.
Product Backlog Priorizado: Un Product Backlog bien definido y priorizado,
gestionado por un Product Owner, es esencial para guiar el trabajo del equipo.
Sprints Bien Definidos: La definición clara de la duración de los Sprints, los
objetivos del Sprint y el trabajo comprometido durante el Sprint es esencial.
8
Metodología incremental:
- Etapas. –
Planificación inicial. –En esta etapa, se realiza una planificación inicial del
proyecto para establecer los objetivos generales, identificar las funcionalidades
clave y definir las prioridades iniciales.
Desarrollo prueba y entrega de la primera incremental. –Primero se
selecciona un conjunto de características o funcionalidades cruciales para el
producto luego se lleva a cabo pruebas exhaustivas para corregir algún error, y
finalmente se entregan los resultados a los stakeholders para su revisión.
Evaluación y retroalimentación. – Los usuarios finales y los stakeholders
evalúan la primera incrementación y proporcionan retroalimentación. Esta
retroalimentación es valiosa para ajustar las prioridades, corregir posibles
problemas y realizar mejoras en las siguientes incrementaciones.
Planificación, desarrollo, prueba y entrega de la siguiente incremental:
Basándose en la retroalimentación recibida se realiza una planificación para la
siguiente incremental, luego se procede a desarrollarla con las nuevas
características dadas, para después pasar a las pruebas y detectar errores, y
finalmente se entrega esta incrementación a los usuarios finales y stakeholders
para su revisión.
Iteración y mejora continua. – Las etapas de desarrollo, prueba, entrega y
retroalimentación se repiten en ciclos sucesivos. Con cada iteración, el producto
se expande y mejora. Se incorporan lecciones aprendidas y se ajustan las
estrategias según sea necesario.
9
- Ventajas. –
Entrega Rápida de Valor: Permite la entrega temprana de incrementos
funcionales, lo que brinda valor rápidamente a los usuarios finales o stakeholders.
Retroalimentación Continua: Facilita la obtención de retroalimentación
constante de los usuarios finales, lo que ayuda a ajustar y mejorar el producto a lo
largo del tiempo.
Adaptabilidad a Cambios: Es flexible y se adapta bien a cambios en los
requisitos o a nuevas prioridades, ya que cada incremento se planifica y desarrolla
por separado.
- Desventajas. –
Complejidad de Gestión: La gestión de múltiples incrementos y la necesidad de
coordinar el desarrollo, prueba y entrega de cada uno pueden aumentar la
complejidad del proyecto.
Posibles Problemas de Integración: Puede haber desafíos en la integración de
diferentes incrementos, especialmente si no se planifica cuidadosamente.
- Requisitos. –
Participación Activa de los Stakeholders: La participación continua y activa de
los usuarios finales y stakeholders es crucial para proporcionar retroalimentación
y ajustar las prioridades.
Capacidad de Planificación Iterativa: Se requiere la capacidad de planificar y
ejecutar de manera iterativa, desarrollando y entregando incrementos sucesivos de
manera continua.
10
Metodología de prototipaje:
- Etapas. –
Recolección de Requisitos: En esta etapa inicial, se recopilan los requisitos del
sistema a través de reuniones con los stakeholders, entrevistas y otras técnicas de
recolección de información.
Desarrollo del Prototipo: Con base en los requisitos recopilados, se crea un
prototipo inicial del sistema. Este prototipo puede ser de baja fidelidad (por
ejemplo, bocetos en papel o maquetas)
Revisión y Evaluación del Prototipo: El prototipo se revisa y evalúa con los
stakeholders, incluidos los usuarios finales.
Retroalimentación y Mejoras:Se recopila la retroalimentación de los
stakeholders y se utilizan para realizar mejoras en el prototipo.
Iteración del Proceso: Se repiten las etapas de desarrollo, revisión y
retroalimentación varias veces hasta que el prototipo satisface las necesidades y
expectativas del usuario
Desarrollo del Prototipo Final: Una vez que se han realizado todas las
iteraciones necesarias y se ha obtenido la aprobación de los stakeholders, se
desarrolla el prototipo final.
Validación de Requisitos: El prototipo final se utiliza para validar y verificar los
requisitos del sistema. Al obtener la confirmación de que el sistema cumple con
los requisitos, se reduce el riesgo de malinterpretación y se mejora la alineación
entre los desarrolladores y los usuarios finales.
Desarrollo del Producto Final: Con la validación de requisitos a través del
prototipo, se procede al desarrollo del producto final utilizando las lecciones
aprendidas durante el proceso de prototipaje.
11
- Ventajas. –
Retroalimentación Temprana: Permite obtener retroalimentación temprana
de los usuarios finales, lo que ayuda a identificar y corregir posibles
problemas y malentendidos desde las etapas iniciales del proyecto.
Mejora de la Comunicación: Facilita la comunicación entre los
desarrolladores y los usuarios finales al proporcionar una representación
visual del sistema. Esto reduce la posibilidad de malentendidos en los
requisitos.
Ajuste Continuo: La naturaleza iterativa de la metodología permite ajustes
continuos y mejoras en función de la retroalimentación recibida, lo que
conduce a un producto final más alineado con las expectativas del cliente.
- Desventajas. –
Esfuerzo Adicional en el Desarrollo de Prototipos: El desarrollo de
prototipos puede requerir esfuerzos adicionales en términos de tiempo y
recursos, especialmente si se realizan múltiples iteraciones.
Posibles Desviaciones del Producto Final: Existe el riesgo de que los
usuarios finales se centren demasiado en el prototipo y no comprendan
completamente que no es el producto final.
- Requisitos. –
Claridad en los Objetivos del Prototipo: Es crucial tener una comprensión
clara de los objetivos que se esperan lograr con el prototipo. Esto ayuda a
enfocar el desarrollo y las revisiones.
Participación Activa de los Usuarios Finales: La colaboración y la
participación activa de los usuarios finales son esenciales para garantizar que
el prototipo refleje con precisión sus necesidades y expectativas.