Mostrando entradas con la etiqueta Metodologias Agiles y Tradicionales. Mostrar todas las entradas
Mostrando entradas con la etiqueta Metodologias Agiles y Tradicionales. Mostrar todas las entradas

Metodologías Tradicionales y Agiles

Definición de Metodología Ágil.

El desarrollo de software ágil hace referencia a un grupo de metodologías de desarrollo de software que se basan en principios similares. Generalmente promueven:
  • Un proceso de gestión de proyectos que fomenta la inspección y adaptación  frecuente. Una filosofía líder que fomenta trabajo en equipo, organización propia y  responsabilidad.
  • Un conjunto de mejores prácticas de ingeniería que permite la entrega rápida de  software de alta calidad.
  • Un enfoque de negocio que alinea el desarrollo con las necesidades de los clientes y  los objetivos de la compañía
El desarrollo ágil de software es un grupo de metodologías de desarrollo de software que se basan en principios similares. Las metodologías ágiles promueven generalmente un proceso de gestión de proyectos que fomenta el trabajo en equipo, la organización y responsabilidad propia, un conjunto de mejores prácticas de ingeniería que permiten la entrega rápida de software de alta calidad, y un enfoque de negocio que alinea el desarrollo con las necesidades del cliente y los objetivos de la compañía.
Los métodos ágiles enfatizan la comunicación cara a cara sobre los documentos escritos. La mayoría de los equipos ágiles se encuentran localizados en una única ubicación abierta para facilitar esta comunicación. El tamaño del equipo es normalmente pequeño (5-9 personas) para ayudar a hacer la comunicación y la colaboración más fácil. Los esfuerzos de desarrollos largos deben ser repartidos entre múltiples equipos trabajando hacia un objetivo común o partes diferentes de un esfuerzo. Esto puede requerir también una coordinación de prioridades a través de los equipos.


Definición de Metodología Tradicional.

Estas metodologías tradicionales imponen una disciplina de trabajo sobre el proceso de desarrollo del software, con el fin de conseguir un software más eficiente. Para ello, se hace énfasis en la planificación total de todo el trabajo a realizar y una vez que está todo detallado, comienza el ciclo de desarrollo del producto software. Se centran especialmente en el control del proceso, mediante una rigurosa definición de roles, actividades, artefactos, herramientas y notaciones para el modelado y documentación detallada. Además, las metodologías tradicionales no se adaptan adecuadamente a los cambios, por lo que no son métodos adecuados cuando se trabaja en un entorno, donde los requisitos no pueden predecirse o bien pueden variar.
Entre las metodologías tradicionales o pesadas podemos citar:


  • RUP (Rational Unified Procces)
  • MSF (Microsoft Solution Framework)
  • Win-Win Spiral Model
  • Iconix
En el caso particular de RUP, presenta un especial énfasis en cuanto a su adaptación a las condiciones del proyecto (mediante su configuración previa a aplicarse), realizando una configuración adecuada, podría considerarse Ágil.

Comparación entre Metodología Tradicional y Metodología Agil.




Metodologias y Desarrollo Adaptativo del Software (DAS)

Metodologías tradicionales y ágiles.

Metodologías tradicionales
Metodologías ágiles
Basadas en normas provenientes de estándares seguidos por el entorno de desarrollo.
Basadas en heuristicas provenientes de prácticas de producción de códigos.
Cierta resistencia a los cambios.
Especialmente preparados para cambios durante el proyecto.
Impuestas externamente.
Impuestas internamente(por el equipo).
Proceso mucho más controlado, con numerosas políticas/normas.
Proceso menos controlado, con pocos principios.
Existe un contrato prefijado.
No existe contrato tradicional o al menos es bastante flexible.
El cliente interactúa con el equipo de desarrollo mediante reuniones.
El cliente es parte del equipo de desarrollo.
Grupos grandes y posiblemente distribuidos.
Grupos pequeños (menos de 10 integrantes) y trabajando en el mismo sitio.
Más artefactos.
Pocos artefactos.
Más roles.
Pocos roles.
La arquitectura del software es esencial y se expresa mediante modelos.
Menos énfasis en la arquitectura del software.














_________________________________________________________________________________

Desarrollo Adaptativo del Software (DAS)

Es un modelo el cual sus características son ser iterativo y estar enfocado a los componentes del software más que a las tareas, además de ser tolerante a cambios.
El ciclo de vida que propone tiene 3 fases:
  • Especulación: Es la primer fase del método, se enfoca en el ciclo adaptativo de planeación que utiliza información del inicio del proyecto las metas del cliente, las restricciones del proyecto y los requisitos básicos para definir el conjunto de incrementos que se requerirán en el proyecto.
  • Colaboración: La segunda fase es donde se desarrollan las características del proyecto esto se hace en conjunto entre los desarrolladores que buscan multiplicar sus talentos y maximizar las salidas creativas de cada uno.
  • Aprendizaje: Lo importante del desarrollo de los componentes que integran el ciclo adaptativo es el aprendizaje, los desarrolladores aprenden a lo largo de todo el proyecto y este conocimiento les podria ayudar a comprender de manera más real el problema