Taller Metodologías de Desarrollo de Software

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

Taller Metodologías de desarrollo de software: ¿qué son?

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.
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. Por lo tanto, si quieres dedicar tu carrera profesional al desarrollo de
software, deberás aprender cómo funcionan las metodologías ágiles.
Algunas empresas siguen usando metodologías tradicionales de desarrollo de software,
que pueden seguir siendo válidas en función del proyecto y de la empresa. Sea como sea,
emplear metodologías de desarrollo de software es imprescindibles en el ámbito de la
programación y similares para generar software de alta calidad.
¿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.
Cuando se trata de desarrollar productos o soluciones para un cliente o mercado
concreto, es necesario tener en cuenta factores como los costes, la planificación, la
dificultad, el equipo de trabajo disponible, los lenguajes utilizados, etc. Todos ellos se
engloban en una metodología de desarrollo que permite organizar el trabajo de la forma
más ordenada posible.
El desarrollo de software puede ser un sector especialmente complejo, sobre todo cuando
se trata de grandes aplicativos y equipos de trabajo. 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?
En la actualidad se pueden diferenciar dos grandes grupos de metodologías de desarrollo
de software: las ágiles y las tradicionales. A continuación, se explican las características de
cada una de ellas.
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.
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 clasicas son:
 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.
 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.
 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.
 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.
 Diseño rápido de aplicaciones (RAD): esta metodología permite desarrollar
software de alta calidad en un corto periodo de tiempo. Los costes son mucho más
altos y el desarrollo más flexible, aunque requiere una mayor intervención de los
usuarios. Por otro lado, el código puede contener más errores, y sus funciones son
limitadas debido al poco tiempo del que se dispone para desarrollarlas. El objetivo
es iterar el menor número posible de veces para conseguir una aplicación
completa de forma rápida.
Metodologías de desarrollo de software ágiles
Como hemos dicho al principio del artículo, 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.
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.
Este tipo de metodologías permite 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:


 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.
 Scrum: es también una metodología incremental que divide los requisitos y tareas
de forma similar a Kanban. 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. 
 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.
 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.
El desarrollo de software de alta calidad: presente y futuro de todo lo que conocemos
El desarrollo de software se ha convertido en una de las actividades más importantes de la
sociedad moderna. En un mundo donde la inteligencia artificial y la tecnología en general
constituyen una parte fundamental de nuestras vidas, desarrollar software seguro de alta
calidad será cada vez más importante. 
Fuente: https://www.becas-santander.com/es/blog/metodologias-desarrollo-
software.html

También podría gustarte