Metodología Se Desarrollo de Software

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

Metodologías de desarrollo

de software: ¿qué son?


¿Para que se usan?

Las metodologías de desarrollo de software se utilizan


en el ámbito de la programación, entre otros, con el objetivo
de trabajar en equipo de manera organizada. Estas
metodologías han ido evolucionando a lo largo del tiempo,
pasando de ser un mero trámite de organización a ser una
base importantísima a la hora de desarrollar software de
una manera productiva y eficaz.
¿Quién las usa?

En las últimas décadas, las metodologías ágiles


de desarrollo de software se han impuesto sobre
las demás, tal como indica el último estudio de
Project Manager Institute (PMI), que señala que el
71 % de las empresas de ingeniería de software
utiliza estas metodologías
¿Qué es una metodología de desarrollo de software?

Las metodologías de desarrollo de software son un


conjunto de técnicas y métodos organizativos que se
aplican para diseñar soluciones de software informático.
El objetivo de las distintas metodologías es el de intentar
organizar los equipos de trabajo para que estos
desarrollen las funciones de un programa de la mejor
manera posible.
¿Porqué usarlas?

Ponerse a desarrollar un producto sin una metodología clara


desembocará en un proceso aún más complejo, que conducirá a
problemas, retrasos, errores y, en definitiva, un mal resultado final.

El trabajo con una metodología de desarrollo de software permite


reducir el nivel de dificultad, organizar las tareas, agilizar el
proceso y mejorar el resultado final de las aplicaciones a
desarrollar
¿Qué tipos de metodologías de
desarrollo de software existen?
Metodologías de desarrollo de software tradicionales

Las metodologías de desarrollo de software


tradicionales se caracterizan por definir total y
rígidamente los requisitos al inicio de los proyectos
de ingeniería de software. Los ciclos de desarrollo son
poco flexibles y no permiten realizar cambios, al
contrario que las metodologías ágiles; lo que ha
propiciado el incremento en el uso de las segundas.
Metodologías de desarrollo de software tradicionales

La organización del trabajo de las metodologías


tradicionales es lineal, es decir, las etapas se suceden
una tras otra y no se puede empezar la siguiente sin
terminar la anterior. Tampoco se puede volver hacia
atrás una vez se ha cambiado de etapa. Estas
metodologías, no se adaptan nada bien a los
cambios, y el mundo actual cambia constantemente.
Las principales metodologías tradicionales o clásicas son

● CASCADA
● PROTOTIPO
● ESPIRAL
● INCREMENTAL
TRADICIONALES: Waterfall (cascada):
es una metodología en la que las etapas
se organizan de arriba a abajo, de ahí el
nombre. Se desarrollan las diferentes
funciones en etapas diferenciadas y
obedeciendo un riguroso orden. Antes de
cada etapa se debe revisar el producto
para ver si está listo para pasar a la
siguiente fase. Los requisitos y
especificaciones iniciales no están
predispuestos para cambiarse, por lo que
no se pueden ver los resultados hasta que
el proyecto ya esté bastante avanzado.
TRADICIONALES: Prototipado:

se basa en la construcción de un
prototipo de software que se construye
rápidamente para que los usuarios
puedan probarlo y aportar feedback.
Así, se puede arreglar lo que está mal e
incluir otros requerimientos que puedan
surgir. Es un modelo iterativo que se
basa en el método de prueba y error
para comprender las especificidades del
producto.
TRADICIONALES: Espiral:
es una combinación de los dos modelos
anteriores, que añade el concepto de análisis
de riesgo. Se divide en cuatro etapas:
planificación,
análisis de riesgo,
desarrollo de prototipo
y evaluación del cliente.
El nombre de esta metodología da nombre a
su funcionamiento, ya que se van procesando
las etapas en forma de espiral. Cuanto más
cerca del centro se está, más avanzado está
el proyecto
TRADICIONALES: Incremental:
en esta metodología de desarrollo de software
se va construyendo el producto final de manera
progresiva. En cada etapa incremental se
agrega una nueva funcionalidad, lo que permite
ver resultados de una forma más rápida en
comparación con el modelo en cascada. El
software se puede empezar a utilizar incluso
antes de que se complete totalmente y, en
general, es mucho más flexible que las demás
metodologías.
Metodologías de desarrollo de software ágiles
Las metodologías ágiles de desarrollo de software son las más
utilizadas hoy en día debido a su alta flexibilidad y agilidad.
Los equipos de trabajo que las utilizan son mucho más
productivos y eficientes, ya que saben lo que tienen que
hacer en cada momento.
Además, la metodología permite adaptar el software a las
necesidades que van surgiendo por el camino, lo que facilita
construir aplicaciones más funcionales.
Metodologías de desarrollo de software ágiles

Las metodologías ágiles se basan en la


metodología incremental, en la que en cada ciclo
de desarrollo se van agregando nuevas
funcionalidades a la aplicación final.
Sin embargo, los ciclos son mucho más cortos y
rápidos, por lo que se van agregando pequeñas
funcionalidades en lugar de grandes cambios.
Metodologías de desarrollo de software ágiles

permiten construir equipos de trabajo autosuficientes


e independientes que se reúnen cada poco tiempo para
poner en común las novedades.
Poco a poco, se va construyendo y puliendo el producto
final, a la vez que el cliente puede ir aportando nuevos
requerimientos o correcciones, ya que puede
comprobar cómo avanza el proyecto en tiempo real.
Las principales metodologías ágiles son:
Las principales metodologías ágiles son:
ÁGILES : Scrum:

Se itera sobre bloques de tiempos cortos y fijos (entre dos y


cuatro semanas) para conseguir un resultado completo en cada
iteración.
Las etapas son: planificación de la iteración (planning sprint),
ejecución (sprint), reunión diaria (daily meeting) y demostración
de resultados (sprint review). Cada iteración por estas etapas
se denomina también sprint.
ÁGILES: Programación extrema (XP):
es una metodología de desarrollo de software basada en las
relaciones interpersonales, que se consideran la clave del éxito.
Su principal objetivo es crear un buen ambiente de trabajo en
equipo y que haya un feedback constante del cliente.
El trabajo se basa en 12 conceptos: diseño sencillo, testing,
refactorización y codificación con estándares, propiedad colectiva
del código, programación en parejas, integración continua,
entregas semanales e integridad con el cliente, cliente in situ,
entregas frecuentes y planificación.
ÁGILES: Programación extrema (XP):
ÁGILES: Kanban:
metodología de trabajo inventada por la
empresa de automóviles Toyota.
Consiste en dividir las tareas en
porciones mínimas y organizarlas en un
tablero de trabajo dividido en tareas
pendientes, en curso y finalizadas. De
esta forma, se crea un flujo de trabajo
muy visual basado en tareas prioritarias
e incrementando el valor del producto.
ÁGILES: Lean:

está configurado para que pequeños


equipos de desarrollo muy capacitados
elaboren cualquier tarea en poco
tiempo. Los activos más importantes
son las personas y su compromiso,
relegando así a un segundo plano el
tiempo y los costes. El aprendizaje, las
reacciones rápidas y potenciar el
equipo son fundamentales.

También podría gustarte