Slide 1

Slide 1 text

Principios: Planificación de Proyectos de Software Oscar Centeno oscar.centeno@gmail.com Octubre 2014

Slide 2

Slide 2 text

Lección de Hoy Un Buen Proceso Un Buen Plan Un Plan Agile

Slide 3

Slide 3 text

El cono de la incertidumbre • ¿Cuándo van a terminar? El proyecto se espera que tarde 20 meses. 1981, Barry Boehm

Slide 4

Slide 4 text

¿Qué es planificar? • La búsqueda de la solución óptima a una pregunta: ¿Qué debemos construir? Construyamos X, Y y Z para liberar en Agosto Enero Junio Agosto Construyamos sólo X y Z para liberar en Julio Construyamos sólo X , Z y B para liberar en Setiembre

Slide 5

Slide 5 text

Un buen proceso de planificación • Reduce el riesgo • Reduce la incertidumbre • Permite tomar buenas decisiones • Crea confianza • Comparte expectativas

Slide 6

Slide 6 text

Reduce riesgos • Un buen proceso de planificación: – Expone el riesgo “integrarse con un sistema legado mainframe desconocido” – ¿Lo atacamos al estudiar acerca del mainframe? – ¿Estimamos el riesgo como incertidumbre?

Slide 7

Slide 7 text

Reduce incertidumbre • El mayor riesgo: Construir el producto equivocado. Plan Inicial Nuevas Ideas ¿Aceptamos nuevas ideas y cambiamos el plan? ¿Rechazamos nuevas ideas para mantener el plan?

Slide 8

Slide 8 text

Tomar de decisiones • El plan estima y brinda opciones para decidir: – ¿Liberamos en agosto o esperamos a setiembre? – ¿Podemos acelerar el proceso comprando X herramienta?

Slide 9

Slide 9 text

Crea confianza • La clave son las Entregas constantes

Slide 10

Slide 10 text

Comparte expectativas Plan tradicional Fecha Plan Agile Fecha Expectativas Suposiciones Alternativas Metas

Slide 11

Slide 11 text

Un Buen Plan • Es confiable para la toma de decisiones. Fecha estimada: Plan detallado para 2 primeros meses: Suposiciones principales: Plan para comunicar avance De 7 a 9 meses. Características más prioritarias o riesgosas. Entregables cada 2 semanas. Demostraciones de producto terminado. Una sola voz del negocio Un equipo capacitado en X y Y dominio. Las interfaces con el mainframe son XML. Comunicados cada 2 semanas. Monitoreo de avance de metas principales Proyecciones con base en entregas bisemanales. El plan se irá detallando en cada avance.

Slide 12

Slide 12 text

Un Plan Agile • Es fácil de cambiar…. Eliminar Feature Reducir Features Cambiar personal Buscar alternativas a una solución Cambiar la fecha proyectada. … durante todo el proyecto. Cambiar tecnología.

Slide 13

Slide 13 text

Lección de Hoy Un Buen Proceso Un Buen Plan Un Plan Agile

Slide 14

Slide 14 text

#1 Responda a estos mitos • Mito: Los equipos Ágiles no planifican.

Slide 15

Slide 15 text

#2 Responda a estos mitos • Mito: Los equipos Ágiles no se comprometen a fechas o “features”.

Slide 16

Slide 16 text

¿Por qué fracasa la planificación?

Slide 17

Slide 17 text

Estadísticas • 66% de proyectos sobrepasan su presupuesto significativamente (Lederer and Prasad 1992). • 64% de features en productos son raramente o nunca usadas (Johnson 2002) • El proyecto promedio sobrepasa su presupuesto en un 100% (Standish 2001)

Slide 18

Slide 18 text

1. Planificación por actividades • Se enfocan en completar actividades y no en la entrega de features. • No hay valor para el cliente en terminar actividades. • Si hay que reducir tiempo, se recorta actividades (calidad).

Slide 19

Slide 19 text

Ejemplo de cronograma por actividades

Slide 20

Slide 20 text

¿Permite analizar y tomar decisiones?

Slide 21

Slide 21 text

2. Asignaciones Multitarea • > Tareas simultáneas < Productividad

Slide 22

Slide 22 text

¡Es como asignar 100% a una autopista!

Slide 23

Slide 23 text

3. No se desarrolla Features por Prioridad Completar actividades al 100% no es suficiente. El orden es importante.

Slide 24

Slide 24 text

Ejemplo de cronograma no por prioridades ¿Qué eliminamos al final si hay que recortar algo?

Slide 25

Slide 25 text

4. Se ignora la incertidumbre “El análisis inicial de requerimientos culmina en una especificación perfecta.” “Los usuarios no cambiarán de opinión.” “No tendrán nuevas necesidades.” “No habrá problemas en la tecnología.” “Podemos asignar estimaciones precisas a un trabajo impreciso”

Slide 26

Slide 26 text

Solución a la incertidumbre Iterar Construya Muestre Agregue tareas que faltaron Corrija estimaciones

Slide 27

Slide 27 text

En enfoque Agile Un solo equipo Iteraciones cortas Entregar algo cada iteración Enfoque en prioridades del negocio Inspeccionar y adaptar

Slide 28

Slide 28 text

Ejemplo de Cronograma

Slide 29

Slide 29 text

Bibliografía Agile Planning and Estimating, Mike Cohn, 2005.

Slide 30

Slide 30 text

Principios: Planificación de Proyectos de Software Oscar Centeno oscar.centeno@gmail.com