Modelos De Procesos De Software
Enviado por aecxix • 3 de Agosto de 2011 • 4.933 Palabras (20 Páginas) • 1.142 Visitas
METODOLOGÍAS TRADICIONALES VS. METODOLOGÍAS ÁGILES
Roberth G. Figueroa , Camilo J. Solís
Armando A. Cabrera
Universidad Técnica Particular de Loja, Escuela de Ciencias en Computación
Resumen Desarrollar un buen software depende de un sinnúmero de actividades y etapas, donde el impacto de elegir la mejor metodología para un equipo, en un determinado proyecto es trascendental para el éxito del producto. El papel preponderante de las metodologías es sin duda esencial en un proyecto y en el paso inicial, que debe encajar en el equipo, guiar y organizar actividades que conlleven a las metas trazadas en el grupo.
En el presente trabajo se detallan los dos grandes enfoques, tanto metodologías tradicionales y metodologías ágiles, las primeras están pensadas para el uso exhaustivo de documentación durante todo el ciclo del proyecto mientras que las segundas ponen vital importancia en la capacidad de respuesta a los cambios, la confianza en las habilidades del equipo y al mantener una buena relación con el cliente. Se verán diferencias, ventajas, desventajas y cual puede encajar en un proyecto de software, es por ello que, ofrecemos una guía dejando libertad de elección para el lector el poder juzgar y elegir la mejor metodología que se adapte a su equipo de desarrollo.
Palabras Claves Metodología, RUP, MSF AUP, Scrum, Metodología Tradicional, Metodología Ágil
INTRODUCCIÓN
Dentro del desarrollo de software y a la altiva necesidad de que los proyectos lleguen al éxito y obtener un producto de gran valor para nuestros clientes, generan grandes cambios en las metodologías adoptadas por los equipos para cumplir sus objetivos, puesto que, unas se adaptan mejor que otras, al contexto del proyecto brindando mejores ventajas.
Es por eso de la importancia de una metodología robusta que ajustada en un equipo cumpla con sus metas, y satisfaga mas allá de las necesidades definidas al inicio del proyecto.
El éxito del producto depende en gran parte de la metodología escogida por el equipo, ya sea tradicional o ágil, donde los equipos maximicen su potencial, aumenten la calidad del producto con los recursos y tiempos establecidos.
METODOLOGÍA TRADICIONAL
Al inicio el desarrollo de software era artesanal en su totalidad, la fuerte necesidad de mejorar el proceso y llevar los proyectos a la meta deseada, tuvieron que importarse la concepción y fundamentos de metodologías existentes en otras áreas y adaptarlas al desarrollo de software. Esta nueva etapa de adaptación contenía el desarrollo dividido en etapas de manera secuencial que de algo mejoraba la necesidad latente en el campo del software.
Entre las principales metodologías tradicionales tenemos los ya tan conocidos RUP y MSF entre otros, que centran su atención en llevar una documentación exhaustiva de todo el proyecto y centran su atención en cumplir con un plan de proyecto, definido todo esto, en la fase inicial del desarrollo del proyecto.
Otra de las características importantes dentro de este enfoque tenemos los altos costos al implementar un cambio y al no ofrecer una buena solución para proyectos donde el entorno es volátil.
Las metodologías tradicionales (formales) se focalizan en documentación, planificación y procesos. (Plantillas, técnicas de administración, revisiones, etc.), a continuación se detalla RUP uno de los métodos más usados dentro de los métodos tradicionales
RATIONAL UNIFIED PROCESS (RUP)
FIGURA1.
PROCESO UNIFICADO RATIONAL
RUP es un proceso formal: Provee un acercamiento disciplinado para asignar tareas y responsabilidades dentro de una organización de desarrollo. Su objetivo es asegurar la producción de software de alta calidad que satisfaga los requerimientos de los usuarios finales (respetando cronograma y presupuesto). Fue desarrollado por Rational Software, y está integrado con toda la suite Rational de herramientas. Puede ser adaptado y extendido para satisfacer las necesidades de la organización que lo adopte. (Customización). Es guiado por casos de uso y centrado en la arquitectura, y utiliza UML como lenguaje de notación.
Fases
Las cuatro fases del ciclo de vida son:
• Concepción
• Elaboración
• Construcción
• Transición
Ventajas
• Evaluación en cada fase que permite cambios de objetivos
• Funciona bien en proyectos de innovación.
• Es sencillo, ya que sigue los pasos intuitivos necesarios a la hora de desarrollar el software.
• Seguimiento detallado en cada una de las fases.
Desventajas
• La evaluación de riesgos es compleja
• Excesiva flexibilidad para algunos proyectos
• Estamos poniendo a nuestro cliente en una situación que puede ser muy incómoda para él.
• Nuestro cliente deberá ser capaz de describir y entender a un gran nivel de detalle para poder acordar un alcance del proyecto con él.
MICROSOFT SOLUTION FRAMEWORK (MSF)
Descripción
MSF es un compendio de las mejores prácticas en cuanto a administración de proyectos se refiere. Más que una metodología rígida de administración de proyectos, MSF es una serie de modelos que puede adaptarse a cualquier proyecto de tecnología de información.
Todo proyecto es separado en cinco principales fases:
• Visión y Alcances.
• Planificación.
• Desarrollo.
• Estabilización.
• Implantación.
FIGURA 2.
MODELO DE EQUIPO DE MSF
Visión y Alcances:
La fase de visión y alcances trata uno de los requisitos más fundamentales para el éxito del proyecto, la unificación del equipo detrás de una visión común. El equipo debe tener una visión clara de lo que quisiera lograr para el cliente y ser capaz de indicarlo en términos que motivarán a todo el equipo y al cliente. Se definen los líderes y responsables del proyecto, adicionalmente se identifican las metas y objetivos a alcanzar; estas últimas se deben respetar durante la ejecución del proyecto en su totalidad, y se realiza la evaluación inicial de riesgos del proyecto.
Planificación:
Es en esta fase es cuando la mayor parte de la planeación para el proyecto es terminada. El equipo prepara las especificaciones funcionales, realiza el proceso de diseño de la solución, y prepara los planes de trabajo, estimaciones
...