Batalla de titanes: Estrategias clave para el desarrollo en metodologías pesadas vs. ligeras

En el desarrollo de software, las metodologías "ligeras" están ganando terreno frente a las metodologías más tradicionales y "pesadas". Ambas tienen sus ventajas y desventajas, y la elección depende en gran medida de tus necesidades. Examinaré algunas diferencias clave entre las metodologías de desarrollo ligeras y pesadas desde la perspectiva del director de proyecto.

Índice de Contenido
  1. Traer orden al caos
  2. Seleccionando tu metodología
  3. Evaluando las metodologías pesadas
  4. Desmitificando las metodologías ligeras
  5. Requisitos del usuario
  6. Entonces, ¿cuál es la mejor opción?

Traer orden al caos

El trabajo en proyectos a menudo es una actividad caótica que puede ser caracterizada por el axioma "apagar incendios". Los proyectos a menudo comienzan sin mucho plan subyacente, y los diseños cambian con frecuencia debido a problemas de tecnología de vanguardia o incluso a un enfoque equivocado de la solución.

A veces, un proyecto simplemente se crea a partir de una serie de decisiones rápidas. Esto puede ser efectivo si el proyecto es pequeño, pero a medida que el proyecto crece, puede volverse cada vez más difícil agregar nuevas funcionalidades. Cuanto más grande se vuelve un proyecto, más se ponen a prueba tus habilidades de gestión del proyecto. Además, los errores se vuelven cada vez más comunes y más difíciles de solucionar.

Veamos un ejemplo práctico de un proyecto de desarrollo a gran escala: construir un sistema de navegación a bordo de un transbordador espacial. La aplicación comienza con un diseño basado en numerosos cálculos aeronáuticos y matemáticos. El proyecto se adhiere a este diseño en todo momento. Cualquier cambio en el diseño puede poner en peligro el proyecto. Las herramientas y materiales utilizados para construir dichas aplicaciones para transbordadores espaciales son costosos y desarrollados específicamente para la flota de transbordadores espaciales. Estos son sistemas altamente probados y validados. Todo debe ser planificado con mucha anticipación en un proyecto tan largo, y a la gestión le gusta que sea predecible. Tienen esto bajo control.

Pero cuando comparamos un proyecto tan grande y altamente enfocado con el desarrollo de software en general, vemos algo diferente y más aterrador.

La diferencia principal es que la metodología "pesada" altamente estructurada utilizada por los diseñadores de transbordadores espaciales es predecible, mientras que la metodología "ligera" flexible utilizada para desarrollar soluciones de software de vanguardia no lo es. Estas soluciones utilizan nuevas tecnologías y diseños, por lo tanto, los riesgos asociados son muy altos. Como veremos, las consideraciones prácticas de desarrollar software para un cliente también influyen en la decisión de adoptar una metodología específica.

Las 10 mejores prácticas de gestión para retener y cultivar empleados destacados

Seleccionando tu metodología

Hoy en día existen numerosas metodologías de desarrollo de software en uso, y la lista crece diariamente. Algunas empresas tienen su propia metodología personalizada para el desarrollo de sus aplicaciones de TI, mientras que otras simplemente utilizan metodologías comerciales listas para usar, como el PMBOK de PMI (Project Management Body of Knowledge). Elegir la metodología equivocada puede ser un golpe crítico para tu proyecto. Los puntos esenciales que debes considerar al seleccionar una metodología son:

  • Presupuesto
  • Tamaño del equipo
  • Importancia del proyecto
  • Tecnología utilizada
  • Documentación
  • Capacitación
  • Mejores prácticas/lecciones aprendidas
  • Herramientas y técnicas
  • Procesos existentes
  • Software

Evaluando las metodologías pesadas

Las metodologías tradicionales que muchas grandes corporaciones utilizan, como el enfoque SDLC, se consideran burocráticas o "predictivas" en su naturaleza y han resultado en muchos proyectos sin éxito. Estas metodologías "pesadas" están perdiendo popularidad. Pueden ser tan laboriosas que ralentizan todo el ritmo del diseño, desarrollo e implementación.

Las metodologías pesadas intentan planificar gran parte del proyecto en gran detalle a lo largo de un período de tiempo prolongado. Los directores de proyecto tienden a querer prever todos los hitos del proyecto concebibles porque desean ver cada detalle técnico. Esto lleva a los directores a exigir todo tipo de especificaciones, planes, informes, puntos de control y horarios. Pero esto solo funciona hasta que las cosas comienzan a cambiar; por lo tanto, creo que los directores de proyecto que utilizan metodologías pesadas se resistirán al cambio.

La metodología de desarrollo pesada se basa en una serie secuencial de pasos, como la definición de requisitos, construcción de la solución, prueba e implementación, mientras que las metodologías ligeras proponen ejecutar los pasos del proyecto en paralelo. Por ejemplo, el director de un proyecto basado en la metodología pesada no aceptará construir la solución informática hasta que se hayan determinado todos los requisitos, y así sucesivamente para cada fase del proyecto. Sin embargo, cualquier equipo de proyecto con más de 10-20 personas y que trabaje en múltiples ubicaciones puede ser un buen candidato para una metodología pesada. Las metodologías pesadas pueden ser la mejor opción cuando tienes equipos de trabajo múltiples ubicados en diferentes lugares y necesitas un control más estricto para formalizar partes clave del proyecto.

Desmitificando las metodologías ligeras

La diferencia inmediata entre las metodologías ligeras y los métodos más antiguos es que las metodologías ligeras se centran mucho menos en la documentación. Las metodologías ligeras tienden a centrarse en el código, lo que significa que el equipo considera el código fuente como la documentación del proyecto.

Aquí tienes algunas ventajas de las metodologías ligeras:

La necesidad de acreditar CMMI en la industria del desarrollo de software
  • Son flexibles ante el cambio.
  • Son orientadas a las personas en lugar de estar orientadas a los procesos. Suelen trabajar con las personas en lugar de ir en contra de ellas.
  • Se complementan con el uso de listas de verificación dinámicas.
  • Los equipos de proyecto son más pequeños.
  • Se basan en trabajar en un entorno de equipo.
  • Fomentan el intercambio de conocimiento.
  • La retroalimentación es casi instantánea.
  • El director de proyecto no necesita desarrollar una documentación de proyecto "pesada", sino que puede centrarse en la documentación absolutamente necesaria (por ejemplo, el cronograma del proyecto).
  • Son metodologías de aprendizaje. Después de cada versión o iteración, el equipo aprende a corregir problemas en el proyecto, creando un ciclo de mejora a lo largo del proyecto.

Los ciclos más cortos y más frecuentes en las metodologías ligeras también brindan más oportunidades para que los interesados revisen la definición del proyecto y la redefinan según sea necesario para nuevas necesidades comerciales. Después de cada iteración, deberías demostrar el prototipo al cliente y recopilar cualquier comentario. Luego puedes agregar nuevos requisitos y cambios a la lista, ajustando las prioridades en consecuencia. De esta manera, el director del proyecto se asegura de que el equipo de desarrollo esté trabajando en los aspectos importantes para el cliente. Después de la última demostración, puedes recopilar comentarios y realizar un análisis de brechas para identificar cualquier requisito funcional pendiente necesario para llevar la aplicación a producción.

Otro beneficio de las metodologías ligeras es su enfoque en producir lanzamientos que agreguen valor y aborden los riesgos arquitectónicos temprano en el proyecto. Esto ayuda a garantizar que el producto final cumpla con las expectativas y que los interesados lo perciban como "una buena inversión". El director de proyecto puede, por lo tanto, entregar una versión de la aplicación mucho antes en el plan de proyecto de lo que sería posible con una metodología pesada.

Requisitos del usuario

Los requisitos del usuario desempeñan un papel clave en cada metodología, ya sea ligera o pesada. Es uno de los primeros pasos que debe determinar el director de proyecto/desarrollo. De hecho, no puedes comenzar una metodología pesada sin los requisitos del usuario. Incluso una metodología ligera necesita una definición limitada de requisitos del usuario para comenzar.

Se podría argumentar que es prudente establecer algunos requisitos básicos y el alcance del proyecto antes de comenzar para evitar demasiados cambios, pero en el entorno tecnológico en constante cambio de hoy en día, a menudo los clientes no saben lo que quieren hasta que se lo muestras, y razonan que no pueden prever completamente la funcionalidad de la aplicación. Muchos clientes prefieren que les enseñes el proyecto en iteraciones más pequeñas y luego pagar solo por lo que construyes. Entonces, si estás trabajando con un cliente que constantemente introduce cambios en los requisitos de diseño, es mejor elegir una metodología ligera.

En cuanto a los ciclos de vida de proyectos más cortos, especialmente en el desarrollo web, creo que la única opción es adoptar métodos muy ligeros. La recopilación de requisitos seguirá siendo parte de ello, pero lo importante es identificar los requisitos inmediatos e implementarlos teniendo en cuenta los futuros.

Entonces, ¿cuál es la mejor opción?

Alistair Cockburn, fundador de las metodologías Crystal, dice que es más probable que se utilice una metodología si es simple, claramente efectiva y requiere pocos productos de trabajo. La aceptación de una metodología está limitada por la capacidad del grupo para cambiar sus hábitos de trabajo y por su tolerancia a un contenido aparentemente burocrático.

Desarrollo de software embebido: desafíos y oportunidades

Estoy convencido de que el enfoque de metodología ligera exemplificado por XP, Crystal, Scrum, Open Source y ADM se volverá más popular para equipos más pequeños, mientras que los equipos de proyecto más grandes y descentralizados seguirán utilizando metodologías pesadas por el momento.

En mi próximo artículo sobre metodologías de desarrollo, examinaré los diferentes tipos de metodologías ligeras con las que los directores de proyecto/desarrollo suelen encontrarse y cómo se comparan entre sí.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Tecnología y trabajo, allí encontraras muchos artículos similares a Batalla de titanes: Estrategias clave para el desarrollo en metodologías pesadas vs. ligeras , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.