Está en la página 1de 6

SENA

ANALSIS Y DESARROLLO DE SOFTWARE


CENTRO DE LA INDUSTRIA, LA EMPRESA Y LOS SERVICIOS
REGIONAL HUILA
FICHA 2455275

GA1-220501093-AA1-EV01
Metodologías de desarrollo de software

PRESENTADO POR

JHON ERICK SANTOS GONZALEZ

Febrero 11 de 2022
DESARROLLO DE SOFTWARE

El proceso de desarrollo de software también se conoce como ciclo de vida de


desarrollo de software (software development life cycle-SDLC).
Este proceso es más que simplemente codificar, También incluye recopilar
requisitos, crear una prueba de concepto, probar y corregir errores.
Para entrar a esta fase de desarrollo de software usamos diferentes metodologías
de desarrollo, así podemos tener un excelente proceso de planificación y gestión
durante todas las etapas y actividades que involucran transformar una idea o
requerimiento en un producto o servicio que será usado por un cliente particular.

Figura 1: tomado de Robert Pressman (Ingeniería del Software).


Metodologías de Desarrollo de Software

Una metodología de desarrollo de software también se conoce como modelo de


ciclo de vida de desarrollo de software. Estas metodologías no son más que un
conjunto de reglas, pasos, roles y principios. Existen muchas metodologías
diferentes donde se encuentran catalogadas en las de marcos de trabajo
tradicionales y metodologías agiles.
Cada metodología tiene sus pros y contras. Decidir qué usar depende de muchos
factores, como el tipo de proyecto, la duración del proyecto y el tamaño del equipo
de desarrollo.

1. Marcos de trabajo tradicionales

1.1 Modelo en cascada (waterfall):


Este modelo se caracteriza por ser secuencial, en donde las etapas de producción
de software se realizan una a continuación de la otra, entregándose los resultados
a la siguiente etapa. Este modelo es útil cuando todos los requerimientos son
conocidos desde el inicio del proyecto de software, y son perfectamente definidos,
y no se estiman cambios importantes en los mismos.

Figura 2: tomado de curso Cisco DevNetAssociate


1.2 Proceso Racional Unificado – RUP
RUP es una sigla en inglés equivalentes a Proceso Racional Unificado, el cual es
un proceso de desarrollo de software tradicional basado en el modelo cascada.
RUP divide el proceso de desarrollo en cuatro grandes fases, dentro de las que se
realizan algunas iteraciones donde se desglosan, en mayor o menor intensidad, un
conjunto de disciplinas según la fase que se está abordando. A continuación, se
observan las fases y disciplinas propuestas por RUP.

1.3 Modelo Incremental

Figura 3: Tomado de Robert Pressman (Ingeniería del Software).

En este modelo, el producto de software se construye a partir de unos requerimientos


básicos, sin muchas características detalladas, los cuales no están necesariamente completos
para producir todo el software, pero son lo suficientemente claros para realizar un primer
producto (se denomina incremento de producto o incremento # 1).
2. Marco de trabajo Ágil

El método Ágil es flexible y se centra en el cliente. Aunque ya se estaban


practicando metodologías similares a Agile, este modelo no fue oficial hasta 2001,
cuando diecisiete desarrolladores de software se unieron para encontrar una
solución a sus frustraciones con las opciones del momento y elaboraron el
Manifiesto para el Desarrollo de Software bajo la premisa de Agile, también
conocido como el Manifiesto Agile.

 Según el Manifiesto Agile, sus valores de Agile son:


 Individuos e interacciones sobre procesos y herramientas
 Software funcional sobre documentación completa
 Colaboración con clientes sobre negociación de contrato
 Respuesta al cambio sobre el seguimiento de un plan

2.1 Agile Scrum

En el rugby, el término "scrum" describe un punto en el juego donde los jugadores


se juntan y tratan de ganar la posesión de la pelota. Scrum se enfoca en equipos
pequeños y autoorganizados que se reúnen diariamente durante períodos cortos y
trabajan en sprints iterativos, adaptando constantemente los entregables para
cumplir con los requisitos cambiantes.

2.1.1 Sprints
En el modelo Agile, el ciclo de vida del desarrollo de software aún se aplica. A
diferencia del método Cascada (Waterfall), donde hay una iteración larga del
SDLC, Agile es muchas iteraciones rápidas del SDLC.

2.1.2 Equipos de Scrum


Los equipos de Scrum son multifuncionales, colaborativos, autogestionados y
auto empoderados. Idealmente, estos equipos de scrum no deberían tener más
de 10 individuos, pero deberían ser lo suficientemente grandes como para
terminar una historia de usuario dentro de un sprint.

2.1.3 Backlog (Lista de entregables)


Es la función del propietario del producto crear la lista priorizada de
entregables (backlog) Este backlog se compone de todas las características
del software, en una lista de prioridades. Las características del backlog son el
resultado de la fase Requisitos y análisis, e incluyen características que no
necesariamente estarán en la versión inmediata. Se pueden agregar nuevas
funciones a la cartera de pedidos (Backlog) en cualquier momento, y el
propietario del producto puede volver a priorizar la lista de trabajos pendientes
en función de los comentarios de los clientes.
2.2 Metodología Lean
El desarrollo de software Lean (Lean Software Development) se basa en los
principios de Lean Manufacturing, que se centran en minimizar los desperdicios y
maximizar el valor para el cliente.
En su forma más simple, esta modalidad de desarrollo (Lean Software) ofrece solo
lo que los clientes desean. En el libro Lean Software Development: Un kit de
herramientas Agile, hay siete principios para lean:

Figura 4: Tomado de https://www.cursosaula21.com

2.3 Feature-Driven Development (FDD)

FDD prescribe que el desarrollo de software debe proceder en términos de un


modelo general, desglosado, planificado, diseñado y construido característica por
característica. Especifica un proceso de modelado utilizado para estimar y
planificar la entrega de funciones y un conjunto detallado de roles tanto para el
equipo de desarrollo principal como para el personal de soporte.

2.4 Extreme Programming (XP)

En comparación con Scrum, XP es más prescriptivo acerca de las mejores


prácticas de ingeniería de software y aborda de manera más deliberada los tipos
específicos de problemas de calidad de vida que enfrentan los equipos de
desarrollo de software.

También podría gustarte