Iridis group Metodologías Ágiles - UNSL Crystal Claudio Ochoa - Patricio Maller

Preview:

Citation preview

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

Recommended