domingo, 23 de febrero de 2014

Metodología OpenUP

Metodología Open UP

Introducción

La presente información tiene como objetivo tratar de explicar en qué consiste la metodología de desarrollo de software denominada OpenUP, que anteriormente fue creada por IBM pero esta pasó a manos de la empresa Eclipse quien en 2006 fue lanzada bajo una licencia gratuita.


OpenUP (Open Unified Process)

Es un proceso modelo y extensible, dirigido a gestión y desarrollo de proyectos de software basados en un desarrollo iterativo, ágil e incremental apropiado para proyectos pequeños y de bajos recursos; y es aplicable a un conjunto amplio de plataformas y aplicaciones de desarrollo.

Sin embargo OpenUP es completa en el sentido de que manifiesta por completo el proceso de construir un sistema. Para atender las necesidades que no están cubiertas en su contenido OpenUP  es extensible a ser utilizado como base sobre la cual se pueden añadir o adaptarse a contenido de otro proceso que sea necesario.


Proceso iterativo
  • Mínimo: Solo incluye el contenido del proceso fundamental
  • Completo: Puede ser manifestado como proceso entero para construir un sistema.
  • Extensible: Puede ser utilizado como base para agregar o para adaptar más procesos.

Características de OpenUP
  • Desarrollo incremental
  • Uso de casos de uso y escenarios.
  • Manejo de riesgos.
  •  Diseño basado en la arquitectura.



Principios de OpenUP
  • Colaborar para sincronizar intereses y compartir conocimiento. Este principio promueve prácticas que impulsan un ambiente de equipo saludable, facilitan la colaboración y desarrollan un conocimiento compartido del proyecto.
  • Equilibrar las prioridades para maximizar el beneficio obtenido por los interesados en el proyecto. Este principio promueve prácticas que permiten a los participantes de los proyectos desarrollar una solución que maximice los beneficios obtenidos por los participantes y que cumple con los requisitos y restricciones del proyecto.
  • Centrarse en la arquitectura de forma temprana para minimizar el riesgo y organizar el desarrollo.
  • Desarrollo evolutivo para obtener retroalimentación y mejoramiento continuo. Este principio promueve prácticas que permiten a los equipos de desarrollo obtener retroalimentación temprana y continua de los participantes del proyecto, permitiendo demostrarles incrementos progresivos en la funcionalidad a los clientes.



Roles

El analista
Representa al cliente y el usuario final, se refiere a la obtención de requerimientos de los interesados, por medio de comprender el problema a resolver capturando y creando las prioridades de los requerimientos.

El arquitecto 
Es el responsable del diseño de arquitectura de software, tomando las decisiones técnicas claves, las cuales limitaran el conjunto de diseño y la implementación del proyecto.

El desarrollador
Es el que tiene la responsabilidad del desarrollo de una parte del sistema o el sistema completo dependiendo de la magnitud del mismo, se encarga del diseño ajustándolo a la arquitectura y de la implementación de pruebas unitarias y de integración para los componentes.

El líder del proyecto Dirige la planificación del proyecto en colaboración con las partes interesadas y el equipo, coordina las interacciones de los interesados, manteniendo al equipo del proyecto enfocado en los objetivos del mismo.

Las partes interesadas (Stakeholders) 
Representan al grupo que está interesado en el proyecto, cuyas necesidades deberán ser satisfechas por el proyecto en curso. Este papel lo puede jugar cualquier persona que puede ser materialmente afectada por los objetivos del proyecto.

El comprobador 
Es el responsable de las actividades básicas y de realizar las pruebas, se encarga de larias. Así como el ingreso de pruebas y el análisis de resultados.

Cualquier otro rol, representa a cualquier otra persona en el equipo que puede realizar tareas generales.a identificación, definición, implementación y conducción de las pruebas neces




Ciclo de Vida


Iteración de Fase de Inicio.
En esta fase, las necesidades de cada participante del proyecto son tomadas en cuenta y plasmadas en objetivos del proyecto. Se definen para el proyecto: el ámbito, los limites, el criterio de aceptación, los casos de uso críticos, una estimación inicial del coste y un boceto de la planeación.

Objetivos.
  • Entender qué construir.
  • Identificar funcionalidad Clave.
  • Determinar al menos una posible solución.
  • Entender costos, calendario y riesgos del proyecto.


Iteración de Fase de Elaboración.
En esta fase se realizan tareas de análisis del dominio y definición de la arquitectura del sistema. Se debe elaborar un plan de proyecto, estableciendo unos requisitos y arquitectura estables. Al final de la fase se debe tener una definición clara y precisa de los casos de uso, actores, la arquitectura del sistema y un prototipo ejecutable.

Objetivos:
  • Obtener un entendimiento con mayor nivel de detalle de los requerimientos
  • Diseñar, implementar y validar la línea base arquitectónica.
  • Mitigar riesgos y lograr estimaciones de costos y calendarios más precisos.


Iteración de Fase de Construcción.
En esta fase todos los componentes y funcionalidades del sistema que falten por implementar son realizados, probados e integrados. Los resultados obtenidos en forma de incrementos ejecutables deben ser desarrollados de la forma más rápida posible sin dejar de lado la calidad de lo desarrollado.

Objetivos.
  • Iterativamente desarrollar un producto completo que pueda ser transicionado a la comunidad usuaria.
  • Minimizar los costos de desarrollo y lograr cierto nivel de paralelismo.


Iteración de Fase de Transición.
Esta fase corresponde a la introducción del producto en la comunidad de usuarios, cuando el producto esta lo suficiente maduro. La fase de la transición consta de las sub-fases de pruebas beta, pilotaje y capacitación de los usuarios finales  de los encargados del mantenimiento del sistema. En función a la respuesta obtenida por los usuarios puede ser necesario realizar cambios en las entregas finales o implementar alguna funcionalidad más solicitada por la mayoría.

Objetivos.
  • Realizar Beta Testing para determinar si se alcanzaron las expectativas de los usuarios.
  • Alcanzar la concordancia con los stakeholders de que el producto está terminado.
  • Mejorar la performance futura a través del análisis retrospectivo del proyecto.





Beneficios del uso de OpenUP

  • Ya que es apropiado para proyectos pequeños y de bajos recursos permite disminuir las probabilidades de fracaso en los proyectos pequeños e incrementar las probabilidades de éxito.
  • Permite detectar errores tempranos a través de un ciclo iterativo.
  • Evita la elaboración de documentación, diagramas e iteraciones innecesarios requeridos en la metodología RUP.
  • Por ser una metodología ágil tiene un enfoque centrado al cliente y con iteraciones cortas.


Ventajas
  • Es una metodología ágil
  • Se puede adaptar con otros procesos.


Desventajas
  • A veces omite contenido que puede ser de interés en el proyecto.
  • Se espera que cubra un amplio sistema de necesidades para los proyectos de desarrollo en un plazo muy corto.
  • Al ser una metodología de bajo formalismo existirá la posibilidad, si no se tiene cuidado, de que el proyecto pueda perder rumbo debido a la desorganización



Conclusión

    OpenUP es una metodología gratis, ágil, modificable  y evolutiva que se puede integrar con otras metodologías ya que pueden resolverse las tareas de desarrollo utilizando las prácticas de XP (Pair Programing, TDD, Refactoring) y pueden realizarse las iteraciones utilizando las actividades de SCRUM. Además brinda una referencia clara y simplificada para la inducción de nuevo personal.



23 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Es una buena metodología, basada en RUP ya que por ser a corto plazo y enfocarse mas a documentación organizada tiene muchas ventajas.

    Jose Moreno Blanco

    ResponderEliminar
  3. Esta metodología cuenta con lo mejor de RUP pues toma solo lo básico y mejor de ella, se basa en proyectos pequeños o de poco tiempo,esta metodologia trata de minimizar costos, esta metodología tiene un ciclo de vida iterativo, es extensible por que se puede seguir personalizando, cuenta con los siguientes principios:
    -colaboral.
    -equilibrar las prioridades para maximizar los beneficios.
    -centrarse en la arquitectura.
    -desarrollo evolutivo para obtener retroalimentacion y mejoramiento continuo.

    ResponderEliminar
  4. Esta metodología es para empresas pequeñas que a su vez tomo lo mejor de cada una de las otras metodología como la RUP ...

    ResponderEliminar
  5. Esta metodologia ayuda a las empresas pequeñas ya que toma lo mejor de RUP.
    Esta metodologia es muy buena para pequeños proyectos y ayuda a que todo la planificacion sea a un mejor y bien diseñada

    ResponderEliminar
  6. se me hizo interesante esta metodología por que siento que es la mas sencilla y se usa mas para empresas chicas, mas no se si es la mas utilizada

    ResponderEliminar
  7. Esta metodologia gratuita ayuda a empresas pequeñas que quieren trabajar con una metodologia completa ya que toma lo mejor de RUP y lo simplifica.

    ResponderEliminar
  8. Esta metodologia se me hizo muy buena ya que esta muy completa y no se necesita tener un gran proyecto para utlizarla por lo cual su costo no es tan grande pero su objetvo es desarrollar de buena forma el software.

    ResponderEliminar
  9. Una metodología gratuita que contiene lo mínimo y fundamenta es perfecta para emprendedores y empresas pequeñas, me sorprende el hecho de que a pesar de que está basada en RUP mantenga una licencia libre.

    ResponderEliminar
  10. OPEN UP es una metodología de desarrollo que se efectúa de una manera ágil y rápida y lleva consigo varias ideas tomadas de otras metodologías pero al momento de realizarlo solo lo efectúa de una manera superficial, al momento de ver la rapidez de esta metodología, es de corto plazo y aparte no conlleva costos altos

    ResponderEliminar
  11. es una de las mejores al ser totalmente gratuito y traer todo lo necesario para los emprendedores y pequenas empresas

    ResponderEliminar
  12. me gusto esta metodologia porque se basa en RUP y ayuda en la calidad del software, aparte de que no se necesita un gran presupuesto ya que es gratuita y esta enfocada a empresas pequeñas.
    Duarte Dueñas Daniel

    ResponderEliminar
  13. Es una metodología que toma lo mejor de RUP, ademas de que no necesita mucho presupuesto y ayuda a las pequeñas empresas en la creación de un nuevo proyecto.

    ResponderEliminar
  14. Esta metodologia me gusto ya que se puede implementar en empresas pequeñas ya que es barata y efectiva

    ResponderEliminar
  15. Esta metodologia es ideal para empresas pequeñas ya que es sencilla, muy efectiva y de bajo costo ya que esta basada en lo mejor del RUP

    ResponderEliminar
  16. Esta metodología me llamo mucho la atención ya que toma las características esenciales de RUP y es gratuita. Algo que caracteriza a esta metodología es que se utiliza en equipos pequeños.

    ResponderEliminar
  17. Gracias a lo simple, gratuito, y la simplificación de la metodología RUP, es una gran opción para utilizar, en el manejo de pequeños proyectos.

    ResponderEliminar
  18. Es muy eficiente es gratis utiliza lo mejor de rup simplificandolo es para pequeñas empresas siendo para cortos plazos asi haciendolo mas rapido

    ResponderEliminar
  19. esta metodologia es muy agil ya que toma las caracteristicas principales de desarrollo del RUP y deja de lado la extensa documentacion lo que lo hace mas rapido e ideal para proyectos no tan extensos

    ResponderEliminar
  20. esta muy bien y lo que llama la atencion por lo agil pero lo que no me gusta que se salta algunas cosas principales y eso son puntos malos para nosotros

    ResponderEliminar
  21. Esta muy bien estruturado esta metodologia y agarra lo mejor del la metodologia del RUB

    ResponderEliminar
  22. Como puedo obtener las plantillas de esta esta metodologia, si alguien me las facilitaria estaria agradecido

    ResponderEliminar
  23. Casino Review 2021 | Honest Player Reviews of a Casino
    Casino reviews, real player comments, & 남원 출장샵 more 광주 출장안마 - casino.ca casino trust ratings 광명 출장샵 The 도레미시디 출장샵 Casino is part of the Borgata Group.Casino Promotion: Casino 속초 출장마사지 Bonus: 100% up to $100

    ResponderEliminar