lunes, 7 de septiembre de 2020

Importancia de las metodologías Ágiles


Las empresas, organizaciones modernas y la producción creativa en las ultimas décadas han ido tomando poco a poco su presencia en al entorno digital mediante aplicaciones, servicios y proyectos de software de todos los tamaños y para todos los usos que se pueda imaginar. Para los proponentes de los proyectos de software ya sean de uso comercial, académico, productivo existe siempre la necesidad de asegurar que sus planes se lleven a su completa realización en tiempos aceptables que permitan que los costos estén dentro de los  presupuestos, el problema radica entre varias de las siguientes causas: a veces los requerimientos del software cambian incluso antes de terminar el proyecto, el cliente no otorga la información suficiente o en la fase de planeación se cometen errores y las metodologías ágiles permiten los temores de fallar sean nulas.

Durante la evolución del desarrollo de software las aplicaciones de los computadores se ha diversificado hasta abarcar todos los aspectos humanos y los métodos como se manejan los proyectos de desarrollo de software también se han multiplicado calzando a la medida de los diferentes equipos de trabajo y proyectos. 

No seria lo mismo desarrollar el software de interface para el manejo de un sistema de armas o el software de manejo de vuelo del modulo lunar de la misión Apollo 11, donde los proyectos están basados en un estricto plan donde la iteración se basa en una gran cantidad de documentación formal usada para comunicarse en las etapas de proceso. A fin de cuentas los requerimientos del proyecto a cierta etapa cambiarán pero esto enfrenta a los presupuestos de los proyectos y las metas de tiempo a la cuestión de que el costo se incrementa de forma no lineal a medida que el proyecto avanza. Los costos aumentan con rapidez, y no son pocos el tiempo y el dinero requeridos para asegurar que se haga el cambio sin efectos colaterales no intencionados.

El escenario se vuelve entonces más exigente ya que el paradigma de la computación cambia al democratizar internet y los servicios de los computadores. Cuando estos métodos basados en un plan se aplican a sistemas de negocios pequeños y medianos, los costos que se incluyen son tan grandes que dominan el proceso de desarrollo del software.(Sommervile, 2011)

Otro fenómeno se tiene que tener en cuenta es que no son maquinas las que realizan y pagan el software, son personas y estos deben ser tenidos en cuenta debido a la variabilidad de las cuestiones humanas que afectan el trabajo en el desarrollo de algún proyecto. Es por esto que los modelos de proceso prescriptivo o basados en un plan tienen una falla grande: olvidan las flaquezas de las personas cuando construyen software. Los ingenieros de software no son robots. Sus estilos de trabajo varían mucho; tienen diferencias significativas en habilidad, creatividad, orden, consistencia y espontaneidad. Algunos se comunican bien por escrito, pero otros no.(Cockburn, 2002)

A medida que el desarrollo de software avanza y se populariza la necesidad de solucionar los problemas antes mencionados se comienza a sugerir la necesidad de desarrollos y procesos de sistemas rápidos y eficientes que lidiaran con los cambios frecuentes de requerimientos, el manejo de los equipos de programadores o los recursos humanos y el proyecto. En 1980 IBM introdujo el desarrollo incremental, el ingreso de los lenguajes de cuarta generación y la popularización del las aplicaciones de software, hace que la noción de desarrollo ágil toma fuerza en la década de 1990, con el desarrollo de la noción de enfoques ágiles como el DSDM(Dynamic System Development Method), Scrum que es una metodología que proviene de la industria de producción de productos adaptada al desarrollo de software y la programación extrema(XP).

Si el gerente del proyecto se preocupa entonces de los costos para saber con qué metodología llevar a buen puerto su proyecto podría tomar varias preguntas que le ayuden a decidir si tomar una metodología ágil o una tradicional. Ya que a lo largo del tiempo el Standish Group reveló 50.000 proyectos fallidos y en 1994 se obtuvieron los siguientes resultados: Porcentaje de proyectos que son cancelados: 31 % Porcentaje de proyectos problemáticos: 53 % Porcentaje de proyectos exitosos: 16 % (pero estos sólo cumplieron, en promedio, con el 61 % de la funcionalidad prometida) Según el informe de Standish, las diez causas principales de los fracasos, por orden de importancia, son: Escasa participación de los usuarios, requerimientos y especificaciones incompletas, cambios frecuentes en los requerimientos y especificaciones. falta de soporte ejecutivo, incompetencia tecnológica, falta de recursos, expectativas no realistas, objetivos poco claros, cronogramas irreales, nuevas tecnologías (Jurado, 2010). Es por esto que habrá que evaluar muchas variables antes de desarrollar un proyecto de software saber que tan grande es el proyecto a desarrollar y con que herramientas se cuentan.

La continua revisión en las maneras de cómo se desarrolla el software de una manera mas eficiente y confiable, hace que tanto los contratistas de los proyectos, los equipos y los usuarios finales se beneficien de software de calidad y confiable. La introducción de las metodologías ágiles crean en los equipos de trabajo gran conciencia de las labores que se llevaran a cabo y empoderan a los equipos sin llevarlos a la rutina y promueve la entrega frecuente de software que funciona satisfaga las necesidades del usuario final o la empresa. En conclusión los métodos ágiles son métodos de desarrollo incremental que se enfocan en el diseño rápido, lanzamientos continuos del software, reducción de gastos en el proceso y producción de software de buena calidad en donde se tiene una alta intervención del cliente directamente en el proceso de desarrollo.






Referencias: 

Jurado Carlos. Diseño ágil con TDD, iExpertos. 2010.
Pressman Roger. S, Ingeniería de Software, McGraw Hill, 2010.
Sommerville, Ian. Ingeniería de Software, Pearson Education, 2011.
Cockburn, A., Agile Software Development, Addison-Wesley, 2002.


No hay comentarios.:

Publicar un comentario