iridis group Metodologías Ágiles - UNSL Crystal Claudio Ochoa - Patricio Maller
iridis group Metodologías Ágiles - UNSL Metodologías Por “metodología” se entiende generalmente “TODO acerca de cómo una organización produce y entrega sistemas: quien, que, cuando.... La metodología óptima varía ente proyectos La elección de una metodología depende de – Tamaño del equipo – Criticalidad – Prioridades
iridis group Metodologías Ágiles - UNSL Componentes de una metodología Métodos y técnicas Tamaño: Número de elementos de control (entregables, standards, actividades, métricas, etc…) Densidad: detalle y consistencia, nivel de adherencia Tamaño del equipo Tamaño del problema
iridis group Metodologías Ágiles - UNSL Tópicos
iridis group Metodologías Ágiles - UNSL Alcance Ciclo de vida Roles Actividades
iridis group Metodologías Ágiles - UNSL Alcance
iridis group Metodologías Ágiles - UNSL Alcance de una metodología Algunas metodologías cubren todos los procesos organizacionales (Big M) Otras solo cubren tareas de desarrollo (Small M)
iridis group Metodologías Ágiles - UNSL Principio (1) Cuanto mas gente involucrada, mayor la metodología requerida –Mas gente, mas coordinación –M mas grandes contienen mas elementos –Una metodologia “m” probablemente no resulte para un equipo grande –M grandes no necesitan ser usadas en equipos pequeños
iridis group Metodologías Ágiles - UNSL Principios (2) Mayor visibilidad en la correctitud (densidad) es necesaria en proyectos de mayor criticalidad –Niveles de criticalidad Incomodidad Pérdidas leves ($) Pérdidas graves ($) Pérdida de vidas
iridis group Metodologías Ágiles - UNSL Comparación de densidades Aplicación para generar números de Quiniela vs. Control de un tomógrafo Ambos equipos de desarrollo usan Use Cases El primer team podría utilizar unas pocas oraciones en tarjetas El segundo, debería respetar rigurosamente la definición de UML, usar alguna herramienta, configuration management riguroso, revisiones, contratos....
iridis group Metodologías Ágiles - UNSL Principios (3) Ala relación entre tamaño de la metodología y el costo de implementarla es exponencial –Algunas veces es necesario pagar el costo –Costos: Tracking, coordinación Consistencia en documentación Revisiones rigurosas
iridis group Metodologías Ágiles - UNSL Relaciones Tamaño de M y tamaño de proyecto forman un feedback loop positivo –Menos gente, menos M, mas productividad, aplicaciones mas grandes Mas gente necesita mas coordinación -> Mas M –M mayores, menor productividad, mas gente, mas M, hasta alcanzar un punto fijo Límite practico para el tamaño/criticalidad que una metodología dada puede atacar
iridis group Metodologías Ágiles - UNSL Tamaño vs. Staffing
iridis group Metodologías Ágiles - UNSL Principios (4) La comunicación mas eficiente es cara-a-cara con alguna ayuda visual (pizarrón) –Cuanto mas grande una M, mas dificil mantener comunicación cara a cara
iridis group Metodologías Ágiles - UNSL Eficiencia/Efectividad de los medios
iridis group Metodologías Ágiles - UNSL Prioridades del proyecto –Time to market –Libre de defectos –Visibilidad en el proceso Difenetes prioridades, diferentes M óptimas
iridis group Metodologías Ágiles - UNSL La M adecuada –Clean Room optimiza la correctitud –TSP (Humphreys) optimiza predictibilidad –XP optimiza productividad/costos –Crystal optimiza productividad y tolerancia –ASD optimiza la recepción de cambios
iridis group Metodologías Ágiles - UNSL Miedos “Las metodologías se basan en miedos” [Beck] El tamaño de la M se correlaciona con los riesgos M se “tailoriza” con los miedos colectivos del equipo
iridis group Metodologías Ágiles - UNSL Topología de Metodologías
iridis group Metodologías Ágiles - UNSL Topología de Metodologías El tamaño del proyecto crece en el eje X Proyectos mas críticos en el eje Y
iridis group Metodologías Ágiles - UNSL Ajustes On-the-fly Una metodología para cada proyecto La ubicación inicial del proyecto es solo una estimación Entegas incrementales ayudan a cambiar de ubicación un proyecto
iridis group Metodologías Ágiles - UNSL Resumen M tienen roloes, habilidades, actividades, técnicas, herramientas, entregables, estándares, métricas... Varias metodologías pueden ser apropiadas Factores de la elección: tamaño, criticalidad, prioridades
iridis group Metodologías Ágiles - UNSL Resumen: Principios 1.M mas grandes para equipos mas grandes 2.M mas densas para proyectos mas críticos 3.M mas grandes implican mayores costos (operativos)
iridis group Metodologías Ágiles - UNSL Factores humanos Comunicación sensitiva a tiempo y modalidad Inconsistencia
iridis group Metodologías Ágiles - UNSL Metodologías Just-in-Time Tailoring Tratar de preservar las caracteristicas mas ágiles Considerar las carácterísticas humanas locales
iridis group Metodologías Ágiles - UNSL Crystal Principio: Comunicación y entregables “livianos” Graduación por criticalidad Graduación por tamaño del equipo Código de colores
iridis group Metodologías Ágiles - UNSL Crystal Family Crystal/Clear es el área mas similar a XP
iridis group Metodologías Ágiles - UNSL Crystal Orange Proyectos medianos/aplicaciones industriales personas 1-2 años de duración Time-to-market es importante Rotación de personal No tienen riego de vida
iridis group Metodologías Ágiles - UNSL Crystal Orange (D40) Un solo lugar físico Mas estructura y coordinación sub-equipos Verificaiones pueden no ser rigurosas Puede extenderse hasta E50
iridis group Metodologías Ágiles - UNSL Crystal Orange (D40) Roles : sponsor, business expert, usage expert, tech facilitator, business analyst/designer, project manager, architect, design mentor, designer/programmer, lead designer/programmer, reuse point, writer, tester, UI designer Equipos de planeamiento, monitoreo, arquitectura, infraestructura, testing Poíticas y estándares: SQA, milestones, testing automatizado (regresion) Las políticas deben respetarse, pero las implementaciones pueden variar
iridis group Metodologías Ágiles - UNSL Crystal Orange (D40) Entregables : requirements doc, release sequence, schedule, status reports, UI design doc, common object model, inter-team specs, user manual, source code, test cases. Los entregables son suficientemente detallados para permitir comunicación (sin otros medios) dentro del equipo. Peer reviews. Templates
iridis group Metodologías Ágiles - UNSL Crystal Clear (C6, D6) 6 personas, un espacio compartido Sin subteams Menos coordinación Puede usarse hasta E08
iridis group Metodologías Ágiles - UNSL Crystal Clear (C6, D6) Un solo equipo Roles : sponsor, senior designer, designer/programmer, user (at least part-time) Los roles se distribuyen entre los miembros del equipo También hay políticas
iridis group Metodologías Ágiles - UNSL Crystal Clear (C6, D6) Entregables: release sequence; schedule of user viewings and deliveries; annotated use cases; design sketches and notes; screen drafts; common object model; running code; test cases; user manual. l Templates, estándares de codificación, estándares de UI Los miembros del equipo tienen cierta discrecionalidad en las técnicas que aplican
iridis group Metodologías Ágiles - UNSL XP vs. Crystal Clear XP es un miembro válido de la familia Crystal Clear Ambos tienen –Entregas frecuentes –Foco en comunicación –Compromiso del usuario/cliente –Test de regresión automático –Preocupación por la motivación
iridis group Metodologías Ágiles - UNSL XP vs. Crystal Clear Diferencia: disciplina y tolerancia XP spocos entregables y estándares rigurosos –Estándares de diseño y codificación –Pair programming –100% unit test pass –El coach es necesario para mantener la disciplina
iridis group Metodologías Ágiles - UNSL Just-in-time M Tuning Obtener información histórica (aunque sea por entrevistas) Seleccionar un metodología del M-space Durante el primer incremento –Post mortems –Cambiar lo que no funciona Luego de cada incremento –Team workshop –Definir best practices, oportunidades de mejora