jueves, 26 de abril de 2012

Metodologias Agiles vs. Tradicionales

Metodologías ágiles vs. Tradicionales

 A continuación vamos a enumerar las principales diferencias respecto delas metodologías tradicionales (no ágiles).El siguiente cuadro recoge esquemáticamente estas diferencias que no se refieren sólo al proceso en sí, sino también al contexto de equipo y organización que es más favorable a cada una de estas filosofías de desarrollo de software.

METODOLOGIAS AGILES vs. TRADICIONALES
La aplicación de trabajo solo comprende el ciclo en él se está trabajando.
Se realiza el trabajo y gestión guiado por un plan general del proyecto que comprende todo su ciclo de desarrollo.
En algunos casos se realiza la identificación de requisitos o incorporación de cambios en cualquier iteración del desarrollo.
Se tiene conocimiento detallado de los requisitos antes de comenzar el diseño del proyecto.
Se tiene comunicación directa entre los integrantes del equipo, de manera verbal.
Se realiza la comunicación formal según el plan de comunicación del proyecto.
Los equipos son autogestionados
La gestión de equipos y personas es centralizada en el gestor de proyecto.
No se tiene contrato tradicional
Existe un contrato prefijado.
Se tiene pocos artefactos.
Se tiene más artefactos.
Se tiene pocos roles
Se tiene más roles.
Se tiene menos énfasis en la arquitectura del software.
La arquitectura del software es algo importante dentro del software.


Las metodologías ágiles más populares son: XP (Extreme Programming –Programación Extrema) y Scrum. Por ser esta última la elegidapara desarrollar el presente trabajo mencionamos los tres principalesmotivos que nos llevaron a su elección.
·         Sirve para gestionar proyectos de cualquier tipo, no solamentetecnológicos.
·         Deja un vacío en la parte de definiciones del área de ingeniería loque permite una elaboración propia para completarla.
·         Tiene escasa documentación por lo que se piensa que este trabajopuede resultar en un aporte significativo.

¿Donde aplican cada uno?

  • Simplificándolo mucho, se puede decir que las metodologías tradicionales, ponen por encima de lo demás los objetivos de la definición y del control del trabajo, mientras que las metodologías ágiles priman la libertad del equipo, la comunicación entre el cliente y el equipo, realizar sólo las tareas que aportan valor al cliente, y finalmente definir el trabajo tal y como éste se va realizando para el conocimiento adquirido durante su desarrollo evite realizar tareas innecesarias.
  • Una consideración importante es el tamaño de los equipos. La inmensa mayoría de los proyectos se realizan por empresas o equipos muy pequeños (p.e. 1-10 personas) donde las metodologías tradicionales son difíciles de aplicar, e incluso imposibles si se quiere hacer de manera exhaustiva.
  • Otro aspecto influyente es el contexto y misión de los equipos, que pueden ser estables en su actividad (p.e. desarrollo de un producto) o cambiar más o menos frecuentemente de miembros o proyecto.

MSF:  Microsoft Solutions Framework

MSF provee una estructura orientada a facilitar el análisis, diseño e implantación de soluciones tecnológicas efectivas. Este marco permite exponer, revelar y manejar riesgos críticos, determinar los criterios de planeación, y establecer las interdependencias necesarias para una ejecución exitosa de los proyectos. Dentro de este contexto, MSF no es una metodología en el sentido estricto, con estructuras de trabajo, tareas y productos predeterminados. En su lugar, MSF provee mecanismos flexibles para aplicar soluciones adecuadas a los problemas tecnológicos y de negocios. MSF no es un marco estático y evoluciona respondiendo a los cambios en la tecnología y en los requerimientos de los proyectos.
Los modelos de MSF incorporan tres factores fundamentales de éxito:
  • Un punto de visión, para proveer la guía requerida para tomar decisiones técnicas.
  • Un conjunto de puntos de referencia, para realizar un seguimiento efectivo de la marcha de los procesos o proyectos, con énfasis en el manejo de los riesgos durante todo el ciclo de vida.
  • Capacidad de reutilización, para tomar ventaja del conocimiento previo en forma estructurada y consistente en un ambiente tecnológico flexible

MOF: Microsoft Operations Framework

La Estructura de operaciones de Microsoft (MOF, Microsoft Operations Framework) es una colección de recomendaciones, principios y modelos. Proporciona una guía técnica completa para lograr confiabilidad, disponibilidad y capacidad de soporte técnico y de administración del sistema de producción crítico con productos y tecnologías de Microsoft.
Descripción general
  • MOF se basa en un conjunto de principios que subyacen a los dos modelos que componen los elementos centrales de la estructura: el modelo de equipo y el modelo de procesopara operaciones. Estos principios subyacentes proporcionan directrices coherentes en relación con el diseño y desarrollo de todo el contenido entregado en MOF. Los modelos dividen las guías de operaciones en tres categorías fundamentales: personas, proceso y tecnología.
  • Mientras que las categorías de personas y proceso son modelos definidos expresamente, el componente de tecnología no es independiente, sino que se extiende completamente por MOF. El enfoque de tecnología para MOF estará en habilitar tecnologías y recomendaciones para lograr alta disponibilidad, confiabilidad y capacidad de soporte y de administración de sistemas en la plataforma de Microsoft. Esto incluirá guías acerca de la interoperabilidad con otras plataformas de tecnología.

ITIL: Information Tecnology Infrastructure Library

La Biblioteca de infraestructuras de informática (ITIL) es un conjunto de códigos completos y  coherentes de recomendaciones para la administración de servicios informáticos.
Muchas organizaciones han adoptado el concepto de ITIL porque ofrece un enfoque sistemático y profesional de la administración de los servicios informáticos. Mediante la adopción de las guías  proporcionadas por ITIL, las organizaciones obtienen muchas ventajas, entre las que se incluyen:

Ø  Aumento de la satisfacción de los clientes.
Ø  Reducción del costo de desarrollo de prácticas y procedimientos.
Ø  Mejora en los flujos de comunicación entre el personal de informática y los clientes.
Ø  Aumento de la productividad y del uso de capacidades y experiencia. 

Como vemos cada metodologia de desarrollo tienen sus ventajas y desventajas, por lo cual debemos de verificar bien antes de elegir una metodologia para el desarrollo de nuestros proyectos, basarnos si tal metodologia es la apropiada par un proyecto especifico.
Referencias:
http://www.seccperu.org/files/Metodologias%20Agiles.pdf
http://www.theproject.ws/es/project-management-scrum/entrada/metodologias-agiles-vs-tradicionales