Metodologías Ágiles - UNSLiridis group
Crystal
Claudio Ochoa - Patricio Maller
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
Tópicos
Metodologías Ágiles - UNSLiridis group
Alcance
• Ciclo de vida• Roles• Actividades
Metodologías Ágiles - UNSLiridis group
Alcance
Metodologías Ágiles - UNSLiridis group
Alcance de una metodología
• Algunas metodologías cubren todos los procesos organizacionales (Big M)
• Otras solo cubren tareas de desarrollo (Small M)
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
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....
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
Tamaño vs. Staffing
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
Eficiencia/Efectividad de los medios
Metodologías Ágiles - UNSLiridis group
Prioridades del proyecto
– Time to market– Libre de defectos– Visibilidad en el proceso
• Difenetes prioridades, diferentes M óptimas
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
Topología de Metodologías
Metodologías Ágiles - UNSLiridis group
Topología de Metodologías
El tamaño del proyecto crece en el eje X
Proyectos mas críticos en el eje Y
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
Resumen: Principios
1. M mas grandes para equipos mas grandes2. M mas densas para proyectos mas críticos3. M mas grandes implican mayores costos (operativos)
Metodologías Ágiles - UNSLiridis group
Factores humanos
• Comunicación sensitiva a tiempo y modalidad • Inconsistencia
Metodologías Ágiles - UNSLiridis group
Metodologías Just-in-Time
• Tailoring• Tratar de preservar las caracteristicas mas ágiles• Considerar las carácterísticas humanas locales
Metodologías Ágiles - UNSLiridis group
Crystal
• Principio: Comunicación y entregables “livianos”• Graduación por criticalidad• Graduación por tamaño del equipo• Código de colores
Metodologías Ágiles - UNSLiridis group
Crystal Family
Crystal/Clear es el área mas similar a XP
Metodologías Ágiles - UNSLiridis group
Crystal Orange
• Proyectos medianos/aplicaciones industriales• 10-40 personas• 1-2 años de duración• Time-to-market es importante• Rotación de personal• No tienen riego de vida
Metodologías Ágiles - UNSLiridis group
Crystal Orange (D40)
• Un solo lugar físico• Mas estructura y coordinación• sub-equipos• Verificaiones pueden no ser rigurosas• Puede extenderse hasta E50
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
Crystal Clear (C6, D6)
• 6 personas, un espacio compartido• Sin subteams• Menos coordinación• Puede usarse hasta E08
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
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
Metodologías Ágiles - UNSLiridis group
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