Está en la página 1de 6

Ensayo Crítico: Metodologías ágiles vs

tradicionales en el desarrollo de software


Un proceso de desarrollo de software es una labor compleja que requiere una articulación y

coordinación apropiada entre la metodología, las herramientas y tecnologías escogidas para

dar alcance a las necesidades de los clientes, manteniendo la calidad requerida, el cumpliendo

del cronograma y ajustándose al presupuesto planificado.

Para llevar a cabo lo anteriormente mencionado se hace necesario contar con una

metodología adecuada que garantice la entrega de un producto con las especificaciones

requeridas por los clientes y usuarios finales. La escogencia de dicha metodología resultará

clave en el proceso de desarrollo del software, ya que influirá en cada una de las etapas del

mismo, impactando en el resultado final a entregar.

Entre las opciones con las que se cuenta están las metodologías tradicionales, que son

completamente rígidas, centrándose en una planificación previa de todo el proyecto, la

documentación de cada fase y por ende un alto coste de implantación a los cambios. Por otro

lado, se encuentran las metodologías ágiles que resultan más flexibles, adaptables y

mantienen una comunicación más constante con los clientes.

Dadas las condiciones actuales de la industria informática en el mundo, la cual resulta

completamente cambiante en intervalos de tiempo cada vez más cortos, es necesario

determinar qué tan necesario resulta la documentación exhaustiva y la planificación

detallada, requerimientos indispensables en las metodologías tradicionales, a la hora de hacer

un proceso de desarrollo de software. Las metodologías tradicionales (formales) se focalizan


en documentación, planificación y procesos. (Plantillas, técnicas de administración,

revisiones, etc.) “(Figueroa R, Solís C, Cabrera A, p.2)”

Por ello resultan atractivas las metodologías agiles en esta industria, dado que priorizan las

actividades a realizar y establecen iteraciones cortas que permitan alcanzar objetivos

específicos en un plazo corto, de modo que se pueda hacer una evaluación constante de los

avances del proyecto y se hagan las modificaciones necesarias ante cambios en el entorno o

especificaciones del cliente. Además, esta priorización de tareas permite identificar

fácilmente las actividades secundarias, o simplemente innecesarias, haciendo de todo el

proceso más eficiente a la hora de alcanzar el objetivo.

También se hace necesario recordar que uno de los pilares de estas metodologías es mantener

un dialogo constante con el cliente para lograr un producto completamente adaptado a sus

necesidades, por ello la priorización de actividades permite hacer experimentos y prototipos

que el cliente pueda testar antes de tener una versión final del mismo.

De esta forma las metodologías ágiles permiten tener un aprendizaje constante y rápido del

desarrollo del proyecto que se está realizando, lo cual resulta muy oportuno para la

identificación de riesgo de manera asertiva y minimiza la posibilidad de incurrir en costos

adicionales.

En general, las metodologías ágiles generalizan ideas asertivas para el desarrollo de software

como tal, y se hace importante que el desarrollo ágil, con metodologías ágiles como Scrum,

Xp, expresan que hay que darles mayor valor a los individuos y las interacciones entre ellos

son más importantes que las herramientas y los procesos empleados. “(Figueroa R, Solís C,

Cabrera A, p.5), lo cual compromete con el proyecto a cada miembro del equipo desarrollador
y promueve el trabajo colaborativo entre ellos. Con esto básicamente varias personas estarán

pendientes de pocas tareas que, con una alta probabilidad, culminarán con un excelente

resultado.

Debido a todas estas ventajas y la flexibilidad que ofrecen este tipo de metodologías, se ha

generado un incremento en la utilización de estas en el desarrollo de software. Sin embargo,

es necesario reconocer que las metodologías tradicionales también cuentan con ventajas

importantes que pueden aportar mucho valor a estos proyectos, sobre todo en aquellos que

requieren desarrollos a gran escala. Para ello, se hace un especial hincapié en la planificación

total de todo el trabajo a realizar y una vez que esta todo detallado, comienza el ciclo de

desarrollo del producto software. Las metodologías tradicionales imponen una disciplina de

trabajo sobre el proceso de desarrollo del software, con el objetivo de conseguir un software

más eficiente y predecible. “(Càceres, P. Marcos, E. 2001, p.2)”

En ese contexto las metodologías tradicionales entran a jugar un papel importante, ya que

cuentan con estándares de desarrollo que definen un lenguaje común, permitiendo establecer

pasos intuitivos que faciliten la comunicación entre el equipo. De igual forma, al manejar

grandes magnitudes de trabajo se hace necesario realizar un exhaustivo registro documental,

que proporcione una trazabilidad de cada uno de los procesos que se han ido ejecutando en

cada una de las fases del desarrollo del software. Esto último conduce a un seguimiento

detallado en cada momento, lo cual es determinante al manejar magnitudes tan grandes.

De esta forma se puede observar que cada tipo de metodología puede proporcionar ciertas

ventajas al desarrollo de software, dependiendo del tipo de necesidades que requiera el

usuario final. Esto muestra la importancia que tiene la elección del tipo de metodología que

se utilizará al momento de comenzar a ejecutar el determinado proyecto de desarrollo.


Debido al gran impacto que tiene esta elección con el resultado final para entregar al cliente,

considero que estos proyectos se pueden ejecutar realizando una combinación entre las

metodologías tradicionales y las ágiles a la hora de desarrollar un proyecto de este tipo,

integrando principios y prácticas de cada una de ellas que favorezcan el desarrollo del

software solicitado por el usuario final.

Con el fin de llevar a cabo dicha combinación de metodologías tradicionales con las ágiles,

se puede esbozar una propuesta que rescate aquellas características de cada técnica que

pueden impactar positivamente cualquier tipo de desarrollo de software. A continuación, se

pueden observar algunos postulados que llevan a cabo dicha propuesta de utilizar un poco de

cada una de las metodologías disponibles:

- Empatizar con el cliente, manteniendo una comunicación constante que permita

entregarle un software adecuado para satisfacer todas las necesidades que este tenga.

- Mantener una flexibilidad en cada proceso de manera que se reduzca el costo al cambio

y que se adapte fácilmente a los imprevistos que surjan

- Contar con un equipo humano completamente comprometido y capacitado para

desempeñarse apropiadamente en cada una de las fases del desarrollo del proyecto.

- Realizar una planeación y diseño del desarrollo del software que contemple la utilización

de iteraciones en espacios no muy largos en el tiempo, de modo que se haga una

evaluación y ajustes constantemente.

- Establecimiento de un mínimo de documentación básica, que deje el resto de los

documentos como opcionales, de modo que se aliviane la carga en esta gestión y se

registre únicamente la información necesaria para el cliente y que aporte valor al

software.
- Minimizar la generación de especificaciones y de modelos de diseño detallados que

desgaste al equipo en tareas secundarias o innecesarias, tan solo se detallarían las

especificaciones requeridas por el cliente.

- Aprovechamiento de las normas y estándares establecidos para tener una guía en cada

una de las fases del proyecto.

- Prototipar los diferentes avances obtenidos en las diferentes fases del proceso para que el

usuario pueda testar constantemente su producto y pueda dar una retroalimentación

oportuna y así implementar ajustes que agreguen valor al software.

Todo esto con la finalidad de incorporar características que puedan facilitar el desarrollo de

software, manteniendo la calidad y eficiencia en cada uno de los procesos, de modo que se

obtenga una excelencia en los modelos de negocio existentes en esta industria. Las

metodologías tradicionales buscan que los requisitos sean determinados y establecidos al

comienzo del proyecto. “(Castillo, A. 2010, p. 148)”


Lista de referencia

Figueroa, R. Solís, C. Cabrera, A. METODOLOGÍAS TRADICIONALES VS.


METODOLOGÍAS ÁGILES. Universidad Técnica Particular de Loja, Escuela de Ciencias
en Computación. Recuperado de
https://www.researchgate.net/publication/299506242_METODOLOGIAS_TRADICIONALES_VS_ME
TODOLOGIAS_AGILES

Càceres, P. Marcos, E. (2001). Procesos Ágiles para el desarrollo de Aplicaciones Web.


Madrid España. Grupo Kybele. Universidad Rey Juan Carlos. Recuperado de
https://www.dlsi.ua.es//~jaime/webe/articulos/s112.pdf

Castillo, A. (Ed.). (2010). Conceptualización del proceso de implementación de software:

Perspectivas ágil y disciplinada. Revista ciencia e ingeniería. Vol. 31, no. 3, 2010.

Recuperado de https://ebookcentral-proquest-

com.bdigital.sena.edu.co/lib/senavirtualsp/detail.action?docID=3207731

Díaz, Polo, Daynel. Definición de un proceso de desarrollo de software en un entorno


universitario, D - Instituto Superior Politécnico José Antonio Echeverría. CUJAE, 2011.
Recuperado de https://ebookcentral-proquest-
com.bdigital.sena.edu.co/lib/senavirtualsp/detail.action?docID=3202346