Bemutatkozik: 

Prezi AI.

Az Ön új prezentációs asszisztense.

Minden eddiginél gyorsabban finomíthatja, fejlesztheti és szabhatja testre tartalmait, találhat releváns képeket, illetve szerkesztheti vizuális elemeit.

Betöltés...
Átirat

Metodologías de Desarrollo de Software Agile vs RUP

- Outsourcing y Adquisición de TI -

Instituto Tecnológico de Costa Rica

Beatriz González.

Indice

  • Metodologías ágiles.
  • Proceso Unificado de Desarrollo (RUP).
  • Comparaciones met. ágiles vs tradicionales.
  • Metodologías de Desarrollo y Outsourcing.
  • Conclusiones.

Metodologías de Desarrollo de SW

Metodologías de Desarrollo y Outsourcing

Consideraciones Tercerización de Desarrollo de SW

Comparación Metodologías Ágiles yTradicionales

Aspectos Desarrollo Offshore

Resumen Comparativo

Consejos Outsourcing Offshore

Diferencias

Consideraciones Creación de Carteles de Licitación

  • Cultura e idioma: El desarrollo offshore se puede dar en países con diferentes culturas, que pueden implicar interpretaciones, mal entendidos y por lo tanto, comunicación deficiente.
  • Geografía: El cliente y el proveedor están geográficamente separados. Es difícil organizar reuniones frecuentes, talleres y actividades de team building.
  • Control: Cuando se opta por desarrollo offshore por proveedor externo el cliente no tiene control sobre el trabajo realizado por el proveedor, lo que implica problemas en el control del proceso de desarrollo de software.
  • Estabilidad: Algunos países offshore son políticamente inestables. Estos factores podrían hacer inútiles los contratos y acuerdos establecidos.
  • Seguridad: En el desarrollo de software externalizado parte de la operación del cliente se ve comprometida.
  • Legislación: La privacidad y las leyes reguladoras pueden implicar barreras para el desarrollo off shore.

• Se debe prestar más atención a los aspectos legales y de seguridad, sobre todo en la etapa de pruebas.

• La gestión de riesgos debe considerar también los riesgos culturales y transfronterizos.

• Se deben seguir al menos 4 pasos básicos:

Paso 1 - Definición de la metodología de desarrollo.

Paso 2 - Redacción de documentos contractuales.

  • Adaptabilidad - Previsibilidad: Los métodos ágiles son adaptables, en lugar de predictivos. Los métodos tradicionales intentan definir y planear gran parte del proyecto con detalle.
  • Clientes: En las metodologías tradicionales se trabaja con un cliente "en espera", pues él se encarga de poner los objetivos del proyecto y luego tiene que esperar hasta que se finalice. En las metodologías ágiles se trabaja con un cliente comprometido.
  • Reuniones: En las metodologías tradicionales se realizan reuniones de seguimiento, las cuales son programadas. En las metodologías ágiles se hacen reuniones diarias.
  • Costo de cambios: En cuanto al costo de los cambios en el desarrollo de software, a medida que avanza el tiempo, el costo es exponencial en el caso de la construcción mediante una metodología tradicional.

Paso 3 - Definición del alcance.

Paso 4 - Homologación del proveedor.

Conjunto de pasos y procedimientos que deben seguirse para desarrollar software. Una metodología está compuesta por:

  • Cómo dividir un proyecto en etapas.
  • Qué tareas se llevan a cabo en cada etapa.
  • Qué restricciones deben aplicarse.
  • Qué técnicas y herramientas se emplean.
  • Cómo se controla y gestiona un proyecto.

Administración Offshore Agile

Se pueden aplicar los 4 principios del manifiesto ágil para una correcta administración y que logre ser un proyecto exitoso:

  • 1) Priorizar las personas y sus relaciones sobre los procesos y herramientas: se traduce en hacer que el offshore trabaje como una extensión real del departamento implicado, dando visibilidad a los desarrolladores de ambos lados con reuniones y métodos modernos de comunicación continua.
  • 2) Priorizar el software que funciona sobre la documentación en todas sus formas: quiere decir que a ca-da momento, el cliente tiene que poder ver el desarrollo instalado en una máquina de test, staging o demo.
  • 3) Priorizar la colaboración con el cliente sobre una negociación contractual: El proyecto se basa en sprints que se deciden junto con el cliente, el cliente prioriza y decide el alcance de cada historia de usuario o incremento funcional.
  • 4) Priorizar la capacidad de responder a un cambio sobre seguir un plan: se traduce en ser capaz de aten-der a las necesidades del cliente si este, en base al feedback del proyecto decide cambiar las funcionalidades.

Conclusiones

RUP

Características

Consideraciones Creación de Contratos

Metodologías Ágiles

Proceso Unificado de Desarrollo

Metodologías Ágiles

  • Dirigido por casos de uso.
  • Centrado en la arquitectura.
  • Iterativo e incremental.
  • Usa el Lenguaje de Modelado Unificado (UML).
  • Se divide en 4 fases:

Principios Manifiesto ágil

Valores Manifiesto ágil

Metodologías Tradicionales

Transición

Construcción

Metodologías Ágiles

VS

Elaboración

Inicio

  • Es una metodología para la ingeniería de software. El estilo del proceso unificado más popular es el modelo RUP (del inglés Rational Unified Process), que significa Proceso Unificado de Rational.
  • Meta principal es asegurar la producción de software de alta calidad que cumpla con las necesidades de los usuarios, con una planeación y presupuesto predecible.
  • RUP es una de las principales metodologías de desarrollo de software tradicionales o no ágiles, que son aquellas que están guiadas por una fuerte planificación durante todo el proceso de desarrollo.

Valorar más a los individuos y su interacción que a los procesos y las herramientas.

Es conveniente explicitar reglas del juego en forma de cláusulas de contrato, como:

  • Priorización inicial por valor para el negocio de la lista de objetivos del proyecto o servicio (Product Backlog), que establecerá un primer punto de partida, pero no será vinculante.
  • Revisiones regulares del producto final de modo que se disponga de ciclos cortos de aprendizaje, con posibilidad de repriorización del Product Backlog.
  • Establecimiento de cómo hacer cambios de requisitos a cuenta del esfuerzo pendiente en el proyecto ("Change for free").
  • Definición de Completado (Definition of Done, DoD), que explique qué es un producto preparado para ser utilizado.
  • Cláusulas específicas de Cambios de requisitos y de Finalización anticipada del contrato.

Valorar más el software que funciona que la documentación exhaustiva.

Valorar más la colaboración con el cliente que la negociación contractual.

  • Son métodos de ingeniería del software que se basan en el desarrollo iterativo e incremental, donde los requerimientos y soluciones evolucionan mediante la colaboración de grupos auto organizados y multidisciplinarios.
  • Los interesados reciben prototipos o versiones periódicamente a medida que avanza el proyecto, lo que les permite evaluar el trabajo realizado.
  • Ejemplos:
  • Extreme Programming o XP.
  • Scrum.
  • Familia de Metodologías Crystal.
  • Feature Driven Development o FDD.
  • Dynamic Systems Development Method o DSDM.
  • Adaptive Software Development o ASD.

La elaboración de un contrato para proyectos de este tipo suele establecer los puntos detallados a continuación:

  • Una firma inicial de requisitos o análisis funcional (para asegurar que se desarrollará todo lo esperado según lo especificado en las primeras estapas del proyecto). Lo anterior crea un contexto que favorece que el cliente pida todo lo que crea que en algún momento sea necesario.
  • Revisión intermedia de sub-productos (principalmente documentación).
  • Una aceptación final del producto. Esto puede ser riesgoso porque se deja para el final la parte crítica de verificación del cumplimiento de las expectativas.

1. Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.

2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.

3. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible.

4. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.

5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.

6. El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.

7. El software funcionando es la medida principal de progreso.

8. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.

9. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.

10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.

11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.

12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.

Valorar más la respuesta al cambio que el seguimiento de un plan.

  • Las metodologías de desarrollo ágiles y tradicionales como RUP no son competidores.
  • Si se decide realizar una externalización del desarrollo de software hay que tomar en cuenta la metodología de desarrollo que más se ajuste a las necesidades de la organización.
  • A pesar de que las metodologías ágiles valoran más la colaboración con el cliente que los contratos, es necesario definir contratos marco que defina las principales reglas de juego.
  • Los planteamientos de contratos en metodologías tradicionales suelen ser más riesgosos.
  • Difícil encontrar carteles de licitación pública en Costa Rica con agile.

Ejemplo Representación

Tudjon meg többet arról, hogyan készíthet dinamikus és magával ragadó prezentációkat a Prezi segítségével