Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
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]
Próxima SlideShare
Cargando en…5
×

Metogologias de Desarrollo de Software Tradicionales VS Agiles

37.771 visualizaciones

Publicado el

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]

×