Cómo seleccionar  una Metodología de  Desarrollo de Software   Patricia Scalzone [email_address]
Agenda <ul><li>Situación Actual de las Empresas </li></ul><ul><li>Cómo iniciar el camino hacia la calidad </li></ul><ul><l...
<ul><li>Promover exportaciones  </li></ul><ul><li>Formar Recursos Humanos competentes </li></ul><ul><li>Definir costos de ...
Agenda <ul><li>Situación Actual de las Empresas </li></ul><ul><li>Cómo iniciar el camino hacia la calidad </li></ul><ul><l...
Preguntas sobre calidad <ul><li>•  ¿Hace lo que el usuario quiere? </li></ul><ul><li>•  ¿Le soluciona el problema que inte...
Las principales causas de los fracasos de los proyectos <ul><li>Separación de objetivos y negocios </li></ul><ul><li>Separ...
Compensaciones del proyecto
Matriz de compensaciones del proyecto
Desarrollo iterativo acelera la reducción del Riesgo Cascada Iterativo R I E S G O T  I  E  M P O Iteración Iteración Iter...
Buenas Prácticas
Proyectos y Testing <ul><li>Cuanto más tarde más costoso </li></ul><ul><li>Estrategias para minimizar el impacto </li></ul...
Desarrollo y Testing <ul><li>Beneficios </li></ul><ul><ul><li>Los test de unidad proveen feedback de que cada componente s...
Integración Continua <ul><li>Ventajas </li></ul><ul><ul><li>Detección temprana de errores en los Builds </li></ul></ul><ul...
Versionado de Aplicaciones <ul><li>Control de Código Fuente </li></ul><ul><li>Branching </li></ul><ul><li>Shelving </li></ul>
Agenda <ul><li>Situación Actual de las Empresas </li></ul><ul><li>Cómo iniciar el camino hacia la calidad </li></ul><ul><l...
Tradicionales Vs Ágiles <ul><li>Ambos grupos atacan el problema de mantener el conocimiento dentro de la organización: </l...
El Proceso Unificado (UP)
UP - Ciclo de Vida <ul><li>Cada iteración resulta en un release ejecutable </li></ul>Planeamiento Inicial Planeamiento Req...
UP - El modelo Iterativo Project Management Environment Modelamiento del Negocio Implementación Test Análisis y Diseño Ite...
UP - Las Actividades Producen Modelos Modelo de Implementación Modelo  de Test realizado por implementado   por verificado...
Microsoft Solution Framework Proceso de Mejora Continua con CMMI Desarrollo de Aplicaciones Ágiles
Modelos y Disciplinas en MSF Administración de Riesgos Modelo de Proceso Modelo de Eq uip os Administración de Proyectos M...
Roles (Mejora Continua)
Escalando para Proyectos Pequeños P  Posible   U  Improbable  N  No Recomendado Architecture Product Management Program Ma...
Modelo de Proceso para el desarrollo de Aplicaciones Plan de Proyecto Aprobado Alcance Completo Primeras Versiones Aprobad...
Ciclos e Iteraciones
eXtreme Programming (XP)
XP (eXtreme Programming)
Roles  <ul><li>Cliente </li></ul><ul><ul><li>Escribe las Historias y Pruebas de Aceptación </li></ul></ul><ul><li>Programa...
Artefactos   <ul><li>Tarjetas de Historia ( Story Cards ) </li></ul><ul><li>Tarjetas CRC para el diseño </li></ul><ul><li>...
Scrum
Scrum - Ciclo de vida
Agenda <ul><li>Situación Actual de las Empresas </li></ul><ul><li>Cómo iniciar el camino hacia la calidad </li></ul><ul><l...
La calidad del Producto está en función de la Calidad del Proceso  Sin un buen Proceso de Desarrollo es casi imposible obt...
Modelos de Madurez Permite a las organizaciones desarrolladoras de software sistematizar y madurar en la forma de realizar...
Normas de Calidad <ul><li>Una norma es por definición un &quot;documento establecido por consenso y aprobado por un organi...
Por que fracasan <ul><li>Por qué fracasan los procesos de mejora </li></ul><ul><ul><li>La mejora no está alineada con ning...
Escenarios
Escenarios
Escenarios – UP con Scrum  <ul><li>Frecuencia de Cambio eventuales, cambios menores </li></ul><ul><li>Productos de gran en...
Combinaciones múltiples <ul><li>MSF como marco general </li></ul><ul><li>Scrum como método de  Management  </li></ul><ul><...
Resumen <ul><li>Situación Actual de las Empresas </li></ul><ul><li>Cómo iniciar el camino hacia la calidad </li></ul><ul><...
La moda: Certificación CMMI <ul><li>La calidad es como el sexo: </li></ul><ul><ul><li>Todos lo quieren </li></ul></ul><ul>...
<ul><li>Ivar Jacobson:   …en el futuro no va a haber más metodologías prescriptivas como lo fueron UP, procesos estilo CMM...
Preguntas?
Muchas gracias!! Patricia Scalzone [email_address]
Upcoming SlideShare
Loading in...5
×

Metogologias de Desarrollo de Software Tradicionales VS Agiles

33,763

Published on

4 Comments
40 Likes
Statistics
Notes
No Downloads
Views
Total Views
33,763
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
0
Comments
4
Likes
40
Embeds 0
No embeds

No notes for slide
  • 05/27/09 12:44 ©2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. A menudo se confunden los procesos de calidad como MSF, RUP, CMMI con las diferentes tareas que comprenden el proceso de desarrollo de Software. Si bien los procesos de calidad mencionados, influyen en la construcción de aplicaciones, son más amplios e involucran a varias aéreas de una empresa. Sin embargo las tareas diarias de llevar adelante un equipo de desarrollo, son frecuentemente motivo de dudas e inquietudes, motivadas por la necesidad de mejorar la productividad de la empresa. Control y Políticas de Versiones, técnicas de Testing, Seguimiento de Requerimientos y Errores, y otros son temas importantes al momento de encarar una mejora en la calidad el software. Implementar un Modelo de Equipos, o adquirir una cultura colaborativa en el desarrollo, son puntos importantes a tener en cuenta. En esta conferencia, mostraremos un modelo de desarrollo que responder a las necesidades planteadas anteriormente , apoyado en la utilización de herramientas como Visual Studio Team System y Team Foundation Server. Veremos como la implementación de una infraestructura  basada en esa plataforma, ayuda y mejora la experiencia del desarrollo de Software.    
  • Metogologias de Desarrollo de Software Tradicionales VS Agiles

    1. 1. Cómo seleccionar una Metodología de Desarrollo de Software   Patricia Scalzone [email_address]
    2. 2. Agenda <ul><li>Situación Actual de las Empresas </li></ul><ul><li>Cómo iniciar el camino hacia la calidad </li></ul><ul><li>Buenas Prácticas </li></ul><ul><li>Metodologías de Desarrollo de Software </li></ul><ul><li>Modelos de Proceso de Calidad </li></ul>
    3. 3. <ul><li>Promover exportaciones </li></ul><ul><li>Formar Recursos Humanos competentes </li></ul><ul><li>Definir costos de la industria del software </li></ul><ul><li>Promover un marco legal promotor de la industria </li></ul><ul><li>Fortalecer a la industria local </li></ul><ul><li>Desarrollar el mercado interno </li></ul><ul><li>Alcanzar niveles internacionales en Calidad </li></ul>Situación Actual
    4. 4. Agenda <ul><li>Situación Actual de las Empresas </li></ul><ul><li>Cómo iniciar el camino hacia la calidad </li></ul><ul><li>Buenas Prácticas </li></ul><ul><li>Metodologías de Desarrollo de Software </li></ul><ul><li>Modelos de Proceso de Calidad </li></ul>
    5. 5. Preguntas sobre calidad <ul><li>• ¿Hace lo que el usuario quiere? </li></ul><ul><li>• ¿Le soluciona el problema que intenta resolver? </li></ul><ul><li>• ¿Lo hace como el quiere? </li></ul><ul><li>• ¿Es factible de construir? </li></ul><ul><li>• ¿de Mantener (corregirlo, expandirlo, mejorarlo)? </li></ul><ul><li>• ¿Se lo puede construir rápido, barato, y en forma segura? </li></ul><ul><li>• ¿Se puede todo a la vez? </li></ul><ul><li>• Lo modifiqué, ¿Sigue funcionando bien? </li></ul>
    6. 6. Las principales causas de los fracasos de los proyectos <ul><li>Separación de objetivos y negocios </li></ul><ul><li>Separación de negocios y tecnología </li></ul><ul><li>Carencia de Lenguaje y proceso comunes </li></ul><ul><li>Falla al comunicar y actuar como equipo </li></ul><ul><li>Procesos que son inflexibles a los cambios </li></ul>“ Cuando un proyecto falla, rara vez es por cuestiones técnicas.” Jim Johnson, The Standish Group
    7. 7. Compensaciones del proyecto
    8. 8. Matriz de compensaciones del proyecto
    9. 9. Desarrollo iterativo acelera la reducción del Riesgo Cascada Iterativo R I E S G O T I E M P O Iteración Iteración Iteración Iteración Iteración Iteración Iteración
    10. 10. Buenas Prácticas
    11. 11. Proyectos y Testing <ul><li>Cuanto más tarde más costoso </li></ul><ul><li>Estrategias para minimizar el impacto </li></ul>Requerimientos Codificación Integración Beta Test Post-Release 5 10 15 20 25 30 Costo relativo del arreglo de los Bugs...
    12. 12. Desarrollo y Testing <ul><li>Beneficios </li></ul><ul><ul><li>Los test de unidad proveen feedback de que cada componente sigue funcionando. </li></ul></ul><ul><ul><li>Los test de unidad pueden actuar como documentación actualizada. </li></ul></ul><ul><ul><li>El desarrollo basado en Test fuerza a mejorar el análisis y diseño para que se pueda entender qué probar y qué resultados esperar. </li></ul></ul><ul><ul><li>Actúa como una regresión segura ante los bugs. </li></ul></ul><ul><ul><li>Reduce el tiempo de Debugging !! </li></ul></ul>
    13. 13. Integración Continua <ul><li>Ventajas </li></ul><ul><ul><li>Detección temprana de errores en los Builds </li></ul></ul><ul><ul><li>En ambientes distribuidos garantiza el build con el último código fuente </li></ul></ul><ul><ul><li>Causa menor regresión </li></ul></ul><ul><ul><li>El período de feedback es corto </li></ul></ul><ul><ul><li>El desarrollador no tiene que esperar al final del día o semana como afecta el check-in </li></ul></ul><ul><ul><li>Los problemas de testing de integración son detectados tempranamente </li></ul></ul><ul><ul><li>Fuerza a un mejor proceso de desarrollo </li></ul></ul><ul><li>Desventajas </li></ul><ul><ul><li>El mantenimiento frecuentemente se incrementa </li></ul></ul><ul><ul><li>Algunos equipos tienen problemas con ese nivel de disciplina y causa “cuellos de botella” </li></ul></ul>
    14. 14. Versionado de Aplicaciones <ul><li>Control de Código Fuente </li></ul><ul><li>Branching </li></ul><ul><li>Shelving </li></ul>
    15. 15. Agenda <ul><li>Situación Actual de las Empresas </li></ul><ul><li>Cómo iniciar el camino hacia la calidad </li></ul><ul><li>Buenas Prácticas </li></ul><ul><li>Metodologías de Desarrollo de Software </li></ul><ul><li>Modelos de Proceso de Calidad </li></ul>
    16. 16. Tradicionales Vs Ágiles <ul><li>Ambos grupos atacan el problema de mantener el conocimiento dentro de la organización: </li></ul><ul><ul><li>Los grupos formales tienen documentación </li></ul></ul><ul><ul><li>Los grupos ágiles confían en las personas </li></ul></ul><ul><li>La diferencia es “académica”, en la vida real ambos tienen que llegar a un compromiso: </li></ul><ul><ul><li>Los diagramas, descripciones, explicaciones son de gran ayuda y son necesarios para entender la complejidad </li></ul></ul><ul><ul><li>La metodología por si sola, sin gente, es solo texto muerto. </li></ul></ul>
    17. 17. El Proceso Unificado (UP)
    18. 18. UP - Ciclo de Vida <ul><li>Cada iteración resulta en un release ejecutable </li></ul>Planeamiento Inicial Planeamiento Requerimientos Análisis y Diseño Implementación Prueba Distribución Evaluación Management Environment
    19. 19. UP - El modelo Iterativo Project Management Environment Modelamiento del Negocio Implementación Test Análisis y Diseño Iteraciones Preliminares Iter. #1 Fases Disciplinas de Proceso Iteraciones Disciplinas de Soporte Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration & Change Mgmt Requerimientos Elaboración Transición Concepción Construcción En cada iteración, se pasa por todas las actividades
    20. 20. UP - Las Actividades Producen Modelos Modelo de Implementación Modelo de Test realizado por implementado por verificado por Modelo de Casos de Uso Modelo de Casos de Uso de Negocio Automatizado por Modelo de Objetos de Negocio Modelo de Diseño Modelamiento Negocios Test Implementación Requerimientos Análisis & Diseño
    21. 21. Microsoft Solution Framework Proceso de Mejora Continua con CMMI Desarrollo de Aplicaciones Ágiles
    22. 22. Modelos y Disciplinas en MSF Administración de Riesgos Modelo de Proceso Modelo de Eq uip os Administración de Proyectos Modelos Disciplinas Performance Seguridad Experiencia de Usuario Calidad de Servicio
    23. 23. Roles (Mejora Continua)
    24. 24. Escalando para Proyectos Pequeños P Posible U Improbable N No Recomendado Architecture Product Management Program Management Development Test User Experience Release Management Architecture N P P U U U Product Management N N P P U Program Management N U U P Development N N N Test P P User Experience U Release Management
    25. 25. Modelo de Proceso para el desarrollo de Aplicaciones Plan de Proyecto Aprobado Alcance Completo Primeras Versiones Aprobadas Despliegue Completo Visión/Alcance Aprobado MSF
    26. 26. Ciclos e Iteraciones
    27. 27. eXtreme Programming (XP)
    28. 28. XP (eXtreme Programming)
    29. 29. Roles <ul><li>Cliente </li></ul><ul><ul><li>Escribe las Historias y Pruebas de Aceptación </li></ul></ul><ul><li>Programadores en Pares </li></ul><ul><li>Verificadores (ayudan al cliente a realizar las pruebas) </li></ul><ul><li>Consejero ( Coach ) </li></ul><ul><li>Seguidor de rastros ( Tracke r) </li></ul>
    30. 30. Artefactos <ul><li>Tarjetas de Historia ( Story Cards ) </li></ul><ul><li>Tarjetas CRC para el diseño </li></ul><ul><li>Listas de Tareas en papel o pizarra </li></ul><ul><li>Gráficos visibles pegados en la pared </li></ul><ul><li>Jamás Casos de Uso ! Se deduce…. “Los xPertos no hacen diagramas “ </li></ul>
    31. 31. Scrum
    32. 32. Scrum - Ciclo de vida
    33. 33. Agenda <ul><li>Situación Actual de las Empresas </li></ul><ul><li>Cómo iniciar el camino hacia la calidad </li></ul><ul><li>Buenas Prácticas </li></ul><ul><li>Metodologías de Desarrollo de Software </li></ul><ul><li>Modelos de Proceso de Calidad </li></ul>
    34. 34. La calidad del Producto está en función de la Calidad del Proceso Sin un buen Proceso de Desarrollo es casi imposible obtener un buen Producto
    35. 35. Modelos de Madurez Permite a las organizaciones desarrolladoras de software sistematizar y madurar en la forma de realizar sus actividades, de documentarlas, de definir roles. Los Modelos de Madurez establecen niveles de capacidades.
    36. 36. Normas de Calidad <ul><li>Una norma es por definición un &quot;documento establecido por consenso y aprobado por un organismo reconocido, que provee, para el uso común y repetitivo, reglas, directrices o características para actividades o, sus resultados dirigido a alcanzar el nivel optimo de orden en un concepto dado&quot; [ISO/IEC Guía 2:1996]. </li></ul><ul><li>Existen varios modelos para la mejora y evaluación de procesos de software: </li></ul><ul><ul><li>las normas ISO 9000, en particular ISO/IEC 15504 (ISO, 2004) </li></ul></ul><ul><ul><li>CMMI (SEI, 2002), desarrollados por el Software Engineering Institute de EEUU </li></ul></ul><ul><ul><li>&quot;MoProSoft&quot; de México (Oktaba, 2003), llamado “CompetiSoft” en latinoamárica </li></ul></ul>
    37. 37. Por que fracasan <ul><li>Por qué fracasan los procesos de mejora </li></ul><ul><ul><li>La mejora no está alineada con ningún objetivo de negocio </li></ul></ul><ul><ul><li>La mejora se lleva a cabo en soledad por un sector de la Organización </li></ul></ul><ul><ul><li>La mejora se hace mecánicamente siguiendo una receta sin leer el contexto organizativo y social </li></ul></ul>
    38. 38. Escenarios
    39. 39. Escenarios
    40. 40. Escenarios – UP con Scrum <ul><li>Frecuencia de Cambio eventuales, cambios menores </li></ul><ul><li>Productos de gran envergadura </li></ul><ul><li>Skills medios a altos </li></ul><ul><li>Productos complejos </li></ul><ul><li>Productos críticos </li></ul>
    41. 41. Combinaciones múltiples <ul><li>MSF como marco general </li></ul><ul><li>Scrum como método de Management </li></ul><ul><li>XP como metodología de desarrollo </li></ul><ul><li>(patrones, TDD, refactorización) </li></ul><ul><li>UP como proveedor de artefactos </li></ul><ul><li>Por qué no …. ? CMMI como metodología de evaluación de madurez. </li></ul>
    42. 42. Resumen <ul><li>Situación Actual de las Empresas </li></ul><ul><li>Cómo iniciar el camino hacia la calidad </li></ul><ul><li>Buenas Prácticas </li></ul><ul><li>Metodologías de Desarrollo de Software </li></ul><ul><li>Modelos de Proceso de Calidad </li></ul>
    43. 43. La moda: Certificación CMMI <ul><li>La calidad es como el sexo: </li></ul><ul><ul><li>Todos lo quieren </li></ul></ul><ul><ul><li>Todos creen que lo conocen </li></ul></ul><ul><ul><li>Todos piensan que lograrlo es solo cuestión de seguir las inclinaciones naturales </li></ul></ul><ul><ul><li>Los problemas son siempre culpa de otro </li></ul></ul>
    44. 44. <ul><li>Ivar Jacobson: …en el futuro no va a haber más metodologías prescriptivas como lo fueron UP, procesos estilo CMMI o procesos ágiles estilo XP, SCRUM y otros. En cambio, lo que va a haber es una paleta de prácticas. Las prácticas van a venir primero y las metodologías van a ser meras colecciones de prácticas que las organizaciones van a escoger de la paleta… </li></ul>
    45. 45. Preguntas?
    46. 46. Muchas gracias!! Patricia Scalzone [email_address]

    ×