Вы находитесь на странице: 1из 16

Ventajas y Desventajas

de las Metodologías de
Desarrollo de Software
Índice
Ventajas y Desventajas de las
Metodologías de Desarrollo de Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

¿Por qué las metodologías de desarrollo de


software son básicas para la industria? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

La metodología ágil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Ciclo de vida de la metodología ágil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Pros y contras de la metodología ágil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Metodología de cascada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Pros y contras de la metodología de cascada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0

Metodología DevOps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1

Etapas involucradas en la metodología de DevOps . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2

Ventajas y desventajas de la metodología DevOps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3

¿Cuál metodología es la mejor para tu proyecto? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4

Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5
Ventajas y Desventajas de las
Metodologías de Desarrollo
de Software
El mundo de los negocios apuesta por lo digital. Las tecnologías de la
información definen nuestra manera de producir, consumir e
interrelacionarnos. Desde las transacciones comerciales hasta las
expresiones de afecto han encontrado un camino más directo y expansivo a
través de los dispositivos, las aplicaciones y el software.

Por ello no es una sorpresa que la industria del desarrollo de software sea
una de las más pujantes, generadora de beneficios para los usuarios, ingresos
para empresas y particulares y puestos de trabajo. Esa generación de empleo
abarca, sobre todo, a los desarrolladores de software.

El desarrollo de software tiene un papel determinante en la economía


argentina actual. En un contexto de inflación y destrucción de empleo, las
empresas relacionadas con las tecnologías de la información generan
empleo y mantienen un crecimiento sostenido de sus ingresos.

Según cifras de la Cámara de Empresas de Software y Servicios


informáticos (CESSI), que engloba a más de 600 empresas tecnológicas,
desde 2014 el sector del desarrollo de software ha crecido al punto de
generar más del 50% de los ingresos de las empresas de las TI, y llegando
a la apertura de más de 5,800 puestos de trabajo.

3
En 2019, las ventas en el sector aumentaron en un 32,4% en el mercado
interior, y se espera que las importaciones se eleven hasta en un 17%.

En este panorama de expansión, adquieren una particular relevancia las


metodologías de desarrollo de software.

Si bien las ventas del sector llegaron a un total de 50 millones de dólares en


el ejercicio 2018, según este mismo informe del CESSI, también es necesario
señalar que el desarrollo del software se enfrenta problemáticas y retos que
debe enfrentar con un nuevo sentido de la competitividad.

El desarrollo de software comercializa bienes intangibles que resuelven


problemas y necesidades productivas, pero que también enfrenta retos
como las reproducciones ilimitadas, la escalabilidad y las violaciones al
derecho de autor, sin olvidar la gran competitividad del sector.

Por ello es necesario que los desarrolladores de software que se integren a


la industria del sector tecnológico sigan metodologías que aumenten su
productividad y reduzcan sus conflictos entre los equipos internos y con los
clientes y redunden en productos más satisfactorios para todos.

Estás prácticas son las llamadas metodologías de desarrollo de software.

¿En qué consisten? ¿Cómo pueden beneficiar al desarrollo de tus proyectos y


al trabajo en tu empresa y con tus equipos?

Aquí te presentamos una completa guía sobre las metodologías de


desarrollo de software.

4
¿Por qué las metodologías de
desarrollo de software son
básicas para la industria?
Las metodologías de desarrollo de desarrollo de software son
metodologías de trabajo que consideran todos los aspectos del proceso de
creación de un programa, desde la comunicación entre equipos y clientes
hasta la manipulación de modelos, considerando el intercambio de
información y datos entre todos los involucrados. Se trata de estructuras
dinámicas de trabajo, que permiten diferentes grados de flexibilidad o de
rigor, utilizadas para planificar y controlar el procedimiento de creación de
un sistema de información especializado.

Su importancia está fuera de duda, pues son indispensables para conseguir


la construcción de un sistema informático eficiente. Son estrategias para
que el producto final cumpla con los requerimientos planteados, y para
que sea predecible y eficiente.

Estas metodologías imponen la disciplina y la calidad en cada una de las


etapas del desarrollo de software, y por ello se amoldan a cada tipo de
equipo, software a desarrollar y recursos disponibles.

Las metodologías de desarrollo se pueden dividir en tres de acuerdo con


sus características y los objetivos que persiguen: ágil, de cascada y DevOps.

Vamos a contarte en qué consiste cada una de ellas, y cuál es la que debes
adoptar según el proyecto de desarrollo de software que estés realizando.

5
La metodología ágil
La metodología ágil es un diseño de producción efectivo cuando se trata de
producir un software eficiente sin la necesidad de una gran
documentación. Evita un repasar de más las etapas de trabajo y la excesiva
burocracia. Se opone, por ello, a las estrategias de desarrollo más
tradicionales y rigurosas.

Ciclo de vida de la
metodología ágil
Se trata de una estrategia de trabajo que reduce al mínimo las etapas de
desarrollo y su documentación, pero que potencia, en cambio, la
comunicación entre las partes involucradas para que el trabajo sea más
rápido y a la vez consistente.

Una metodología puede considerarse ágil si

Valora a los individuos y sus interacciones por encima de los procesos y las
herramientas

Prefiere que el software se valide en funcionamiento en lugar de con la


recopilación de una documentación exhaustiva.

Recurre a la colaboración con el usuario final antes que al respeto de un


contrato

Se adapta al cambio antes que se apega a un plan rígido

6
Etapas de la metodología ágil

Concepto

En la primera etapa el equipo elige un proyecto que tiene mayor prioridad


(pues la idea es que esta metodología permita trabajar en más de uno). Se
plantean las necesidades del proyecto y sus particularidades

Concepción

Los miembros del equipo y los usuarios que han solicitado el software
trabajan juntos para determinar y discutir las características, objetivos y
requisitos del programa a desarrollar. En esta etapa es recomendable
integrar diagramas de flujo para comprender el funcionamiento del software
y la manera en que se integrará en el sistema del cliente
.
Iteración

El inicio del trabajo en forma. En este momento, considerando todas las


directrices obtenidas dentro del equipo y fuera de él, los desarrolladores
comienzan a trabajar en el software, incluyendo a diseñadores y
desarrolladores. El resultado es la primera iteración del proyecto.

Lanzamiento

Es una etapa previa antes del lanzamiento al mercado (o de su uso interno)


del producto. Se compone de dos fases. Una de intensas pruebas de calidad
del software, y otra de capacitación, tanto interna como externa, para su uso
final. En esta parte del proceso, además, se documenta e informa sobre el
proceso de desarrollo.

Producción

Se trata de una etapa de soporte continuo para perfeccionar la versión del


software. Se trata de un seguimiento que permite asegurarse de que el
software se encuentra optimizado y listo, libre de cualquier cambio
repentino o fallo.

7
Retiro

En esta etapa se implementa la versión del software en el sistema de la


producción, y se da por terminado el proyecto.

Entre las metodologías ágiles encontramos algunas que ya son clásicas en el


desarrollo de software como Extreme programming (XP) y Scrum, entre otras.

Pros y contras de la
metodología ágil
Ventajas Desventajas

Ideal para proyectos pequeños Se genera poca documentación


sobre el proyecto
Los hace más fácil de controlar
Falta de control de calidad
Resulta sencillo transmitir el
conocimiento sobre los Soluciones equivocadas pueden
proyectos obligar a reiniciar el proceso

Crea un diseño de tareas Se focalizan las decisiones en los


estable líderes del proyecto

Un resultado más acorde


con las necesidades del cliente

Metodología de cascada
Se trata de un método de desarrollo lineal, en el que cada etapa funciona
como una cascada que, una vez concluida, deriva en otras. Se trata de
amalgamar esfuerzos individuales en cada parte del proceso sin que se
dupliquen o solapen.

8
Estados de la metodología en casada
Requerimientos

En esta primera fase, el cliente proporciona los requisitos detallados del


programa que desea. El equipo de trabajo analiza junto con él las
expectativas que se tienen sobre el software, los objetivos del proyecto en el
que se inserta y, si existen, los riesgos que implica. Una vez definidos, el
equipo de trabajo debe enlistar aquellos aspectos que no se consideraron.
Por ejemplo, el perfil del usuario final, los idiomas en que debe operar la
aplicación, el número de usuarios simultáneos del sistema…

Diseño

En esta etapa se realiza el plano del software, para que los programadores
cumplan con los requisitos necesarios. La arquitectura del programa es
esencial para establecer sus capacidades, y con ello diseñar sus documentos
y diagrama.

Producción

Es la parte del proceso que se conoce también como desarrollo, codificación


o implementación. Y consiste precisamente en ellos: el equipo de desarrollo
escribe el código del software con apego a la documentación y la
arquitectura establecidas.

Testeo y depuración

En esta parte del desarrollo el software se somete a una serie de pruebas de


resistencia con el fin de encontrar errores y fallo en su funcionamiento o
programación a fin de garantizar que el producto final cumpla con lo
previsto en su arquitectura. Una vez realizadas las correcciones necesarias, se
realizan las llamadas “pruebas de regresión” para ver si, en el proceso, se
introdujeron nuevos defectos.

9
Lanzamiento

Una vez que se han realizado las pruebas y la depuración del software, el
código se implementa en el entorno de producción (en los servidores y
equipos de la empresa, por ejemplo), y por regla general requiere de más
pruebas y verificación. También puede ser necesario realizar adecuaciones
como instalar parches de seguridad, optimizar los servidores e instalar la
base de datos, entre otros trabajos.

Al final del proceso, el equipo comprueba que el programa corra de manera


fluida en servidores y equipos.

Pros y contras de la
metodología de cascada
Debido a su gran documentación precedente, este método de desarrollo de
software permite

Un desarrollo más sólido del proyecto

Presupuestos y cronogramas más ajustados y precisos

Debido a su acotada diagrama, esta metodología:

Hace que modificar el diseño del proyecto en cualquier parte del


desarrollo sea complicado

Requiere que se cumplan todos los requisitos iniciales pedidos por la


arquitectura

Dificulta resolver los problemas que surjan durante el desarrollo o


responder a la retroalimentación del cliente

10
Metodología DevOps
Uno de los problemas más recurrentes en el desarrollo de software es que
implica el trabajo de más de un equipo, y que los involucrados provienen de
diferentes disciplinas, y a menudo llegan al proyecto con objetivos
separados. Por ejemplo, desarrolladores que avizoran nuevas soluciones
sobre la marcha enfrentados a un equipo de supervisión que quiere
mantenerse apegado a una arquitectura determinada y a un presupuesto
acotado.

La llamada Metodología DevOps (un acrónimo que proviene de las palabras


de Desarrollo y Operación) es un estilo de trabajo que se centra en la
comunicación, colaboración e integración entre los diferentes equipos de
desarrolladores de software y los profesionales de sistemas para producir
un software de mejor calidad y a un coste menor. Se trata, en esencia, de
conciliar el trabajo del área de desarrollo con las funciones operativas de un
proyecto.

Para aplicar la metodología Devops es necesario considerar la presencia de


los 3 actores que intervienen en todo desarrollo de software, y que pueden
padecer entre sí problemas de comunicación, puntos de controversia o
desencuentro en sus fases de trabajo.

11
1) Desarrolladores: que crean e implementan sistemas informáticos
mediante lenguajes de programación.

2) Personal de operaciones: que se encargan de los procesos de producción


(instalación de servidores)

3) Personal de control de calidad: que prueban los productos y los depuran

La idea de la metodología Devops es conciliar el trabajo de estos tres


departamentos, para convertir sus esfuerzos en objetivos comunes. Se puede
ver como un paso más allá de la metodología ágil, en el que establece un
puente ideal entre las fases de desarrollo y operativas de una empresa.

Etapas involucradas en la
metodología de DevOps
Desarrollo continuo

A diferencia de otras metodologías, en esta fase, el trabajo con entregables


de software (incluyendo su diseño, codificación y escritura) se divide en varios
ciclos de desarrollo cortos, que después pasan a operaciones también con la
idea de ser resueltos en un plazo muy corto. Esto produce un ciclo continúo
de desarrollo y operación (Devs y Ops, justamente).

Pruebas continuas

Respondiendo a los desarrollos continuos, se hace necesario que los equipos


de control de calidad implementen ciclos de prueba continúa para cada uno
de los proyectos, en un monitoreo constante que encuentre las deficiencias
de un código conforme se crea.

12
Integración continua

En esta etapa, el código obtenido es depurado y recibe nuevas


funcionalidades. Es una etapa muy similar a la anterior, ya que el código es
sometido igualmente a una serie de pruebas, pero de una manera más
integral, ya que se llega a una fase de despliegue en producción a través de
una simulación.

Implementación continua

El programa en desarrollo se entrega al ecosistema de producción para


garantizar que el código se implemente correctamente en todos los
servidores y funcione de manera óptima en todas las terminales.

Monitoreo continuo

La parte más dinámica de la metodología DevOps, que somete al software


desarrollado a una supervisión continua y permanente, para que no sólo se
compruebe su desempeño bajo diferentes condiciones. Además, sirve para
integrar mejoras en desarrollo futuros.

Ventajas y desventajas de la
metodología DevOps
Ventajas Desventajas

Rapidez con calidad en la Problemas de integración entre los


creación de software equipos

Optimización de la Puede obligar a que el personal


productividad deba asumir responsabilidades
excesivas
Resolución inmediata de bugs
y fallas La seguridad de los desarrollos pasa
a segundo plano
Lanzamientos confiables

13
¿Cuál metodología es la mejor
para tu proyecto?
Desarrollo ágil

Ideal para empresas con varios clientes, pero que son pequeñas, con equipos
acotados, o que son startups en crecimiento que requieren del prestigio que
da una gama de productos en el mercado. Es ideal para seguir el desarrollo
del mercado de las aplicaciones sin verse sorprendido por la innovación o la
obsolescencia.

Desarrollo en cascada

Si tenés en manos un proyecto que cuenta con una larga maduración, una
documentación copiosa y que, por ello, requiere de una gran inversión de
recursos, el desarrollo de software en cascada es el método a implementar.
También resulta ideal si tenés un cliente exigente que pide rigor en el
presupuesto y los plazos, y que no va a ser empático de existir fallas.

Desarrollo DevOps

Si necesitás optimizar la producción, el sistema de desarrollo y operación es


la metodología que necesitás, en particular si tu empresa ha tenido
desencuentros entre sus equipos multidisciplinarios (entre desarrolladores,
diseñadores y operadores), y necesitás crear un entorno de producción,
testeo e implementación continuos y motivantes, que garantice un flujo de
desarrollo continúo.

14
Conclusión
El desarrollo de software es un campo en expansión, que genera puestos de
trabajo e ingresos en Argentina, y te permite un desarrollo profesional en su
mercado interno y externo.

Este escenario obliga a los profesionales de las tecnologías de la información


la implementación de nuevas competencias, que potencien el trabajo
eficiente entre equipo de trabajo multidisciplinario y un mejor flujo de las
etapas del proceso de desarrollo de software, desde la codificación hasta la
implementación, valorando el diseño con el cliente y la documentación
según cada caso.

Existen tres modelos de desarrollo de software mayoritarios, que permiten


diferentes estilos de trabajo, desde los más libres y dinámicos, como la
metodología ágil, hasta los más apegados a la planificación y el diseño,
como la metodología en cascada, sin olvidar a aquellas que potencian una
producción en serie, como la metodología DevOps.

Tres metodologías para que elijás aquella que favorece a tu empresa y


proyecto en turno, y que te hará más competitivo en el escenario de las
Tecnologías de la Información.

15

Вам также может понравиться