Scrum hipolito

  • View
    190

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Transcript

  • 1. INTRODUCCIN A SCRUMFernando PinciroliMarzo de 2010Solus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar

2. AgradecimientosAgradezco a todos los autores y metodologistas que siempre estndispuestos a intercambiar opiniones conmigo sobre metodologas yhacerme participar de la revisin de sus libros antes de publicarlos, yasea personalmente, por correo electrnico, en facebook, o en donde nosencontremos!Kenny Rubin Kent BeckAlistair CockburnGrady BoochRon Jeffries James Rumbaugh Martin Fowler Rebecca Wirfs-Brock Solus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 3. Contenido del mdulo1 Conceptos generales2 Roles y actividades3 Implementacin de Scrum4 Conclusiones Solus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 4. Enfoques giles #1 De un tiempo a esta parte apareci un nuevo concepto dentro de laingeniera de software, denominado modelado gil de sistemas,debido a que hace uso de modelos livianos o giles Se considera que un modelo es gil o liviano cuando se emplea parasu construccin una herramienta o tcnica sencilla, que apunta adesarrollar un modelo aceptablemente bueno y suficiente en lugarde un modelo perfecto y complejo Un modelo es suficientemente bueno cuando cumple con losobjetivos de comunicacin, es entendible, no es perfecto, posee ungrado de detalle adecuado, suma valor al proyecto y essuficientemente simple de construirSolus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 5. Enfoques giles #2 Los principales enfoques giles son XP (eXtreme Programming),SCRUM, Crystal Clear y DSDM (Dynamic Systems DevelopmentMethod), entre otros Herramientas de modelado gil: tarjetas CRC, lenguaje natural,castellano estructurado, etc. Existen procesos marco tradicionalmente formales que contemplanla aplicacin de tcnicas de modelado gil, como por ejemplo RUPy actualmente CMMiSolus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 6. Programacin extrema #1 Fue creado por Kent Beck, a su vez creador de las tarjetas CRC yquizs el programador Smalltalk ms respetado del mundo Segn el autor fue aplicado exitosamente en Chrysler en 1996, dentrodel proyecto C3, aunque Chrysler no opina lo mismo Junto a Beck podemos encontrar metodologistas muy prestigiososque, adems de haber participado en C3, llevan firmemente haciaadelante las ideas de XP, como es el caso de Ron Jeffries y MartinFowler Solus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 7. Programacin extrema #2 Si al final del da no hay un programa funcionando, ese da no sehizo absolutamente nada Se basa en los principios de comunicacin, simplicidad, pruebas yagresividad o coraje Apunta a reducir los costos de desarrollo y a lograr una mayorsatisfaccin del usuario Se emplea en proyectos restringidos de tiempo, con pocos recursoshumanos y con un cambio constante en los requerimientosSolus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 8. Programacin extrema #3 Los equipos de desarrollo normalmente son de dos a doce personas,aunque se llegaron a realizar proyectos con treinta integrantes en elequipo No deben ser programadores altamente calificados, sino ms biende un perfil normal Debe existir una presencia fsica real del usuario, aspecto que de nopoder concretarse, directamente impide la aplicacin de XP Solus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 9. Programacin extrema #4 La planificacin en XPEscribir las historias de los usuariosPlanificar las versionesRealizar frecuentes versiones pequeasMedir la velocidad del proyectoDividir el proyecto en iteracionesComenzar cada iteracin con su planificacinCambiar las duplas de programadoresRealizar una reunin cada maanaCorregir las reglas de XP cuando sea necesario Solus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 10. Programacin extrema #5 El diseo en XP Mantener simplicidad Elegir una metfora del sistema Usar tarjetas CRC para el diseo Crear prototipos No agregar funcionalidad adicional Refactorizar en donde sea posible Solus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 11. Programacin extrema #6La codificacin en XP El usuario debe estar siempre disponible Emplear estndares Escribir las unidades de prueba primero Programar de a pares Integrar el cdigo de a un par por vez Integrar el cdigo permanentemente Hacer a todos propietarios de todo el cdigo Optimizar a lo ltimo No trabajar ms horas de lo normal Solus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 12. Programacin extrema #7La prueba en XP Escribir unidades de prueba para todo el cdigo Confrontar el cdigo contra las unidades de pruebaantes de incorporarlo como nueva versin Crear nuevas pruebas al detectar errores Elaborar las pruebas de aceptacin para probar elresultado de cada versinSolus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 13. Manifiesto gil Convocados por Kent Beck, se rene un grupo de profesionales que redactany firman el manifiesto gil: Kent Beck, Mike Beedle, Arie van Bennekum,Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, JimHighsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert Martin,Steve Mellor, Ken Schwaber, Jeff Sutherland y Dave Thomas El manifiesto consiste en un conjunto de valores bsicos de los que surge unconjunto de principios Estos valores son: Valorar ms a los individuos y su interaccin que a los procesos y lasherramientas Valorar ms el software que funciona que la documentacin exhaustiva Valorar ms la colaboracin con el cliente que la negociacin contractual Valorar ms la respuesta al cambio que el seguimiento de un planSolus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 14. Principios del manifiesto gil1.Nuestra prioridad ms alta es la de satisfacer al cliente a travs de la entrega temprana ycontinua de software de valor2. Son bienvenidos los requisitos cambiantes, incluso si llegan tarde al desarrollo. Los procesosgiles se subordinan al cambio como ventaja competitiva para el cliente3. Entregar con frecuencia software que funcione, en periodos de un par de semanas hasta un parde meses, con preferencia de los periodos ms cortos4. Las personas del negocio y los desarrolladores deben trabajar juntos de forma cotidiana a lo largodel proyecto5. Llevar a cabo proyectos en torno a individuos motivados, dndoles la oportunidad y el respaldoque necesitan y procurndoles confianza para que realicen la tarea6. La forma ms eficiente y efectiva de comunicar informacin de ida y vuelta dentro de un equipode desarrollo es mediante la conversacin cara a cara7. El software que funciona es la principal medida del avance del proyecto8. Los procesos giles promueven el desarrollo sostenido. Los interesados, desarrolladores y usuariosdeben mantener un ritmo constante de forma indefinida9. La atencin continua a la excelencia tcnica y al buen diseo promueve la agilidad10. La simplicidad el arte de maximizar la cantidad de trabajo que no se hace- es esencial11. Las mejores arquitecturas, requisitos y diseos surgen de equipos auto-organizados12. El equipo reflexiona sobre la forma de ser ms efectivo en intervalos regulares y ajusta suconducta en consecuencia Solus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 15. Acerca de Scrum #1 Se trata de un enfoque, dentro de las denominadas Metodologasgiles, para administrar el proceso de desarrollo de software desdeuna perspectiva emprica basada en la teora del control deprocesos Su finalidad es introducir los conceptos deflexibilidad, adaptabilidad y productividad en el desarrollo desoftware Cubre a otras metodologas, estndares y prcticas deingeniera, en particular a Programacin Extrema (XP) Es un proceso donde el costo, el tiempo, la funcionalidad y lacalidad son administrados empricamente Entre otras cosas, intenta resolver el problema de que los clientesrealmente se dan cuenta de lo que quieren una vez que tienen unaprimera versin del productoSolus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 16. Acerca de Scrum #2 Parte del concepto de que los procesos de desarrollo de softwareno son definidos, es decir, no pueden ser ni repetibles nipredecibles En lugar de avanzar en un proceso secuencial, se trata de unproceso catico de adaptacin del equipo al caos para lograr unObjetivo auto-organizndose y tomando decisiones con totallibertad, logrando una cohesin interna y una productividad cadavez mayor Ocupa menos tiempo en planificacin, definicin de tareas yproduccin de reportes y ms tiempo en la comprensin delproblema y la provisin de soluciones empricas A sus autores les gusta llamarlo el arte de lo posibleSolus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 17. Historia de Scrum El nombre describe un proceso de desarrollo hiperproductivo deproductos utilizado inicialmente en Japn en 1987 por Takeuchi yNonaka Jeff Sutherland emple Scrum por primera vez para el desarrollode software en Easel Corporation en 1994 Luego Ken Schwaber tuvo la oportunidad de emplearlo enIndividual Inc. en 1996, en donde se prob y se refin el mtodoSolus S.A. San Martn 1351 piso 1 of. 4 Mendoza +54 261 4294115 http://www.solus.com.ar 18. Beneficios de Scrum Permite coordinar los recursos humanos de modo de que trabajenjuntos en forma efectiva y puedan lograr desarrollos complejos Permite lograr incrementos exponenciales en la productividad Con Scrum se espera estar entregando software funcionandocorrectamente ya en el primer mes de desarrollo Posibilita el desarrollo de software en entornos complejos ycambiantesSolus S.A. San Martn 1351 pi