Agile Project Management

118
Agile Project Management

description

 

Transcript of Agile Project Management

Page 1: Agile Project Management

Agile Project Management

Page 2: Agile Project Management

Fases 81

Envision: visión del producto, alcance del proyecto, comunidad del proyecto, forma de trabajo

Especular: Plan de release, milestones e iteraciones basado en features para materializar la visión

Explorar: entregar features probados en un período corto, tratando constantemente de reducir el riesgo y la incertidumbre del proyecto

Adaptar: revisar los resultados, la situación actual, el desempeño del equipo y adaptar cuando sea necesario.

Cerrar: concluir el proyecto, transmitir aprendizajes claves y celebrar

Page 3: Agile Project Management

Envision 82

Primero: visionar qué es lo que se dará– una visión del producto y del alcance del proyecto

Segundo: visionar quien tomará parte– clientes, miembros del team e interesados (stakeholders)

Tercero: los miembros del team visionarán cómo se disponen a trabajar juntos

Page 4: Agile Project Management

Especular 82-83

Recopilar los requerimientos iniciales amplios Definir la carga de trabajo en la forma de

una lista de features Hacer un plan (release, milestones e

iteraciones) que incluya fechas y asignación de recursos para esos features

Incorporar estrategias de mitigación de riesgos

Estimar costos del proyecto y generar otra información administrativa y financiera requerida

Page 5: Agile Project Management

Explorar 83

Entrega de features del producto Fija 3 áreas clave de actividad

Entregar features planeados administrando la carga y usando prácticas técnicas apropiadas y estrategias de mitigación de riesgos

Crear una comunidad del proyecto colaborativa y auto-organizativa

Administrar las interacciones del equipo con: clientes, gerencia del producto y otros stakeholders.

Page 6: Agile Project Management

Adaptar 83

Responder al cambio es más importante que seguir un plan

Después de la fase ‘envision’, el loop será: especularexploraradaptar

Cada iteración refina sucesivamente el producto

Los resultados son vistos desde las siguientes perspectivas: Del cliente Técnica Gente Performance de procesos Status del proyecto

Page 7: Agile Project Management

Cerrar 84

Los proyectos deben tener un fin visible y percibible – hay que celebrarlo

El objetivo clave de la fase de cierre (“mini cierre” de cada iteración y el del proyecto global) es aprender para incorporar ese conocimiento en la próxima iteración o para pasarlo al próximo proyecto

Page 8: Agile Project Management

Prácticas

Page 9: Agile Project Management

Consideraciones 84-86

Siempre se requiere el juicio: sobre-enfatizar la linearidad lleva a la parálisis y sobre-enfatizar la evolución lleva al cambio sin fin y eventualmente sin sentido.

Los principios sin prácticas son inefectivos ylas prácticas sin principios tienden a implantarse mecánicamente, sin aplicar el juicio.

Las prácticas seleccionadas: Generativas, no prescriptivas Enfocadas en delivery y no en compliance

Page 10: Agile Project Management

Fase: Envision 87

Page 11: Agile Project Management

Todos los equipos que funcionan bien cuentan con un perfecto entendimiento de sus objetivos

Los detalles pueden ser borrosos, pero las objetivos de negocio y la visión del producto deben ser clarísimas

Sin una visión clara se arriesga experimentar sin fin.

Una visión clara, compelidora, es crítica para el éxito del proyecto ¿Por qué falta tantas veces? Respuesta: Una visión clara es difícil: requiere trabajo duro y

liderazgo

89

Page 12: Agile Project Management

Preguntas que resuelve 89

¿Cuál es la visión del producto del cliente?

¿Cuál es el alcance del proyecto y su juego de constraints?

¿quiénes son los participantes adecuados para la comunidad del proyecto?

¿Cómo entregará el equipo el producto (enfoque)?

Page 13: Agile Project Management

Evolución del plan del producto

Tres Herramientas simples y poderosasVision Box – Forza a condensar la visiónProject Data Sheet – Forza a decantar

detalles claves de alcance y constraintsFeature Cards – Obliga a condensar la

información de cada feature en una ficha

Vision Alcance Features

91

Page 14: Agile Project Management

Siempre recordar 91

¿Cuál es la documentación apenas suficiente?

El ‘como’ de la entrega los resultados está sujeto a ajustes y adaptaciones para mejorar el rendimiento conforme avanza el proyecto

La comunidad del proyecto y sus procesos y prácticas van a evolucionar. Por ejemplo, si la arquitectura evoluciona, la estructura del team pueda necesitar evolucionar.

Page 15: Agile Project Management

Las prácticas

Page 16: Agile Project Management

Las prácticas (4 categorías) 92

Visión del producto Caja de la visión del producto y test del elevador Arquitectura del producto y directrices

Alcance del proyecto (objetivos y constraints) Data sheet del proyecto

Comunidad del proyecto Conseguir la gente adecuada Identificar a los participantes Interfaces entre equipos cliente – desarrollo

Enfoque Ajuste de procesos y prácticas

Page 17: Agile Project Management

Caja de Visión del Producto y Test del Elevador 93 (Práctica)

Objetivo Estimular a los miembros del team a que

focalicen sus ideas desperdigadas del producto en una forma concisa, visual y textual.

Estos dos mecanismos proveen un concepto común elevado del producto para mercadeo, desarrollo y gerentes.

Page 18: Agile Project Management

Desarrollo de la Discusión 93

No se puede predecir la innovación ni la creación de productos emergentes, por lo tanto hace falta un proceso especial.

Una buena visión del producto es constante, mientras que la vía para implementar esa visión necesita espacio para jugar.

Los resultados emergentes a veces provienen de accidentes intencionales, por lo tanto es necesario crear el ambiente para que ocurran estos accidentes.

Page 19: Agile Project Management

Diseñando al caja del producto 93-94

Se trata de diseñar las partes frontal y trasera de la caja del producto

Esto implica Nombre del producto Un gráfico Tres a cuatro bullets claves en el frente Descripción detallada de los features en la parte

trasera

Se presenta y discute cada propuesta de texto para la caja

Page 20: Agile Project Management

Test del Elevador (> 2 minutos) 93

Para las bodegas de distribución de las empresas medianas, que necesitan funcionalidades avanzadas de movimiento de cajas, el Supli-Robot es un sistema robotizado de levantado y transporte de carga que provee re-ubicación dinámica de la carga dentro de la bodega y cargado de camiones con cajas de tamaños variados que reduce el costo de distribución y el tiempo de carga. A diferencia de los otros productos, nuestro producto es altamente automatizado y con precios agresivos.

Page 21: Agile Project Management

Test del ElevadorFormato 95

Para (cliente objetivo) Que (exposición de la necesidad o de la

oportunidad) El (nombre del producto) es (categoría del

producto) Que (Beneficio clave, razón para comprarlo) A diferencia de (Alternativa competitiva

primaria) Nuestro producto (exposición de la

diferenciación primaria)

Page 22: Agile Project Management

Más sobre visión del producto 95

Para proyectos con alto grado de incertidumbre, es crítico disponer de un concepto nuclear, una visión, para mantener bajos los costos de exploración.

Después de varias horas de discusión: Mission statement Dibujo de la caja Clientes objetivo y sus necesidades El test del elevador Medidas de la satisfacción del cliente Requerimientos clave operacionales y de tecnología Restricciones críticas al producto (Performance, facilidad

de uso, volúmenes) Análisis competitivos Indicadores financieros críticos**

Page 23: Agile Project Management

PrácticaArquitectura del Producto 98

Objetivo: Mostrar la plomería interna del proyecto –un diseño que facilita la exploración y guía el continuo desarrollo del producto. Guía el trabajo técnico y a la organización de la gente que desarrolla ese trabajo técnico.

La arquitectura junto con el tamaño total del proyecto contiene implicaciones importantes para el éxito del proyecto y del producto P. ej. la organización de componentes y módulos puede

influir la decisión de desarrollo distribuido y sobre la gerencia de los grupos distribuidos

La arquitectura es guía, no camisa de fuerza. Busca comunicar el contexto mayor al team.

Page 24: Agile Project Management

Feature Breakdown Structure 98

Gerencia de Ventas (Business Area) Prospectación (Business Activity)

Crear pantalla log on de vendedores (Feature) Listar leads para los vendedores Desplegar detalles individuales por lead

Administración de territorios Análisis de ventas

Marketing Generación de leads Seguimiento de leads Colocación de anuncios Servicio de Call Center

Page 25: Agile Project Management

99-100

Las arquitecturas utilizan una combinación de elementos de: plataforma, componente, interfaz, módulos

Hay otras arquitecturas útiles para los equipos técnicos, pero la FBS sirve para comunicarse entre el cliente y el equipo de desarrollo y funciona como puente entre las fases de Envision y Especular

La FBS provee el inventario de features desde el cual se desarrolla el plan de iteraciones

La organización humana y la arquitectura técnica coevolucionan durante la vida del proyecto Un core team multidisciplinario puede funcionar mejor al

principio Cuando ya han sido especificadas las interfaces mediante

interacciones y debate, sub-teams basados en componentes pueden funcionar mejor

Page 26: Agile Project Management

Principios guía 100-101

Esta es una segunda pieza de la guía arquitectónica

Estos principios asisten al team para que moldee el producto según las preferencias de los clientes.

Ejemplos: 1) Toda interacción siempre será cerrada, 2) Toda interacción debe buscar un feedback, 3) Todo feedback de empleado por interacción debe darse por clicks

Cada principio debe describirse en una o dos proposiciones y su número total para un proyecto, en cualquier momento, no debería exceder de 10

Page 27: Agile Project Management

Práctica 101

Project Data Sheet – PDSObjetivo: transmitir la esencia en

términos de alcance, calendario y recursos, de cómo el proyecto materializará la visión.

Es la segunda más importante práctica de la fase de Envision

Page 28: Agile Project Management

Project Data Sheet 101-102

Product vrs Project vision La visión del producto es una vista expandida

de lo que el producto podría llegar a ser La visión del proyecto limita el desarrollo del

producto a los confines de lo definido en: alcance, calendario, y restricciones de costos. Product vision should haves – 234 features Project scope will have – 126 features (Rel 1.0)

Page 29: Agile Project Management

Secciones de una PDS 102

Clientes: lista de clientes clave Project Manager Product Manager Project Objective Statement (POS) Tradeoff Matrix (TOM) Factor de exploración Costo de los atrasos Features (lista de los claves) Beneficios al cliente Arquitectura Puntos/riesgos***

Ejemplo

Page 30: Agile Project Management

Tradeoff Matrix - TOM 104

Fijo Flexible Acepta

Alcance x

Calendario x

Estabilidad* x

Recursos x

Una entrada/columna Conviene medir límite*Defectos

Page 31: Agile Project Management

104

Es un acuerdo entre el team del proyecto, el cliente y el sponsor ejecutivo que se usa para manejar el cambio durante el proyecto.

Las filas muestran las dimensiones claves que crean el valor del producto

Las columnas despliegan la importancia relativa de cada dimensión

Page 32: Agile Project Management

Tradeoff Matrix 105

No se puede responder a cambios si no se marca un espacio para manejarlos

Es importante calcular el costo de los atrasos

Page 33: Agile Project Management

Factor de Exploración 105-106

Barómetro de la incertidumbre y del riesgo Relacionado con el “problem domain” donde el

team operará 10 indica un problem domain orientado a la

exploración (alto riesgo) y 1 indica un ambiente de problemas estable

Importante identificar los factores del problem domain, pero más importante es ajustar los procesos y las prácticas al problema y ajustar las expectativas correspondientemente

Resulta de combinar la volatilidad de los requerimientos del producto con lo nuevo –inicierto- de la plataforma tecnológica.

Page 34: Agile Project Management

Factor de Exploración 107

Dimensión de Tecnología

Dimensión de producto

Bleeding Edge

Leading Edge

FamiliarBien

conocida

Errática 10 8 7 7

Fluctuante 8 7 6 5

Rutina 7 6 4 3

Estable 7 5 5 1

10: problem domain que requiere mucha exploración

1: ambiente del problema muy estable

Page 35: Agile Project Management

Problem Domain 107

Es necesario establecer la incertidumbre global del espacio del problema.

Proyectos 8, 9, 10 requieren un enfoque fuerte APM Iteraciones cortas Planeación basada en features Revisiones frecuentes con los clientes Reconocimiento que los planes son especulativos

El reconocimiento de diferentes dominios de problemas permite hacer ajustes a problemas específicos y asegurar el éxito.

Page 36: Agile Project Management

Práctica Consiga la gente correcta 108

‘El’ factor crítico de éxito ‘Correcta’ quiere decir:

Capacidad técnica apropiada o experticia en el ‘domain’

El comportamiento disciplinado adecuado No significa la más talentosa y experimentada,

sino la gente apropiada para el trabajo.

La pregunta sobre los ‘quienes’ es la más prioritaria, sobre las ‘qué’ – antes que la visión, la estrategia, la táctica, la organización, la tecnología.

Page 37: Agile Project Management

Práctica 111

Identificación de participantes Objetivo: identificar a los participantes de modo que

las expectativas sean entendidas y administradas. Los participantes son los que pertenecen a la

comunidad del proyecto: Clientes – determinan e influyen los requerimientos Ejecutivos – proveen fondos y supervisión gerencial Miembros nucleares del team – trabajan para entregar el

producto. Stakeholders – Participantes internos que no son clientes

directos Los clientes proveen los requerimientos; los

miembros del team fabrican el producto; los stakeholders proveen el conjunto de restricciones, los requerimientos de cumplimiento y los recursos

Page 38: Agile Project Management

Lista de participantes 112

Patrocinador ejecutivo: decisiones claves sobre metas y restricciones

Gerente del proyecto: dirige el team a cargo de dar los resultados

Gerente de Producto: guía al equipo para determinar qué resultados dar

Ingeniero líder: guía los aspectos técnicos de las entregas Gerencia: una gama potencialmente amplia de individuos con

alguna autoridad técnica o de presupuesto sobre los resultados Equipo del cliente: a cargo de fijar features y priorizarlos Team del proyecto: los encargados de dar los resultados Proveedores: proveen servicios o componentes del producto Gobierno: Organismos regulatorios que requieren información,

reportes y certificaciones

Page 39: Agile Project Management

Fase: Especular 127

Page 40: Agile Project Management

Ideas preliminares 128

El control de cambios congela los requerimientos

El alcance mismo también evoluciona De resistir el cambio a estimular el cambio El control de cambios se refiere a la

coordinación no a la negación Flexibilidad indisciplinada caos Estabilidad indisciplinada rigidez Balance entre flexibilidad y estructura

mediante auto disciplina

Page 41: Agile Project Management

Ideas preliminares 2 129

Los planes son guías, no camisas de fuerza La realidad siempre se entromete Los planes son vehículos para abrazar el

cambio, no para bloquearlo Los planes son:

Conjeturas acerca del futuro Guías para el futuro

El desarrollo genera nueva información que a su vez crea la necesidad de re-planear

No es riesgo loco sino: “conjeturar algo basado en hechos e información incompleta”.

Page 42: Agile Project Management

129

El fruto de esta fase es el ‘Release Plan’ que contiene el mejor conocimiento inicial del team Este plan está basado en features entregados y no en

actividades

El plan de release usa información de: Especificaciones del producto Arquitectura de la plataforma Recursos Análisis de riesgo Niveles de defecto Restriccciones de negocios Calendario deseado

Page 43: Agile Project Management

129-130

Dos componentes cruciales en un enfoque de planeación y desarrollo iterativo Ventanas pequeñas de iteración Features

Para proyectos de SW: cada ventana de 2 a 6 semanas

Las ventanas cortas aceleran el desarrollo La primera meta de la planeación y desarrollo

basado en features es hacer el proceso visible y entendible.

Page 44: Agile Project Management

130

Los features funcionan como interfaces entre los ingenieros de desarrollo y los usuarios finales – son un medio para entendimiento compartido.

Este espacio compartido toma la forma de una feature card El frente: información del feature Detrás: información de la tarea técnica para

estimar esfuerzo y administrar el trabajo “Estamos atrasados, recortemos los features 31 y

64”, en lugar de: “recortemos el tiempo de tests”

Page 45: Agile Project Management

Ayudas que da esta fase 130-131

Determinar cómo el producto y sus features evolucionarán

Concentrarse en los features de alto valor desde el principio

No perder de vista los objetivos de negocios y las expectativos del cliente

Coordinar actividades y features interrelacionados entre ‘feature teams’

Considerar alternativas de acciones adaptivas Proveer una línea base para analizar eventos

que se dan durante el proyecto.

Page 46: Agile Project Management

131

Se necesita recompensar al team por su respuesta a los cambios, y no amonestarlos por no haber hecho un plan

Page 47: Agile Project Management

Categorías de prácticas 131

Estructura de feature breakdown Lista de features del producto Feature cards Tarjetas de requerimientos de performance

Plan de entregas Entregas, milestones, plan de iteraciones

Page 48: Agile Project Management

Prácticas

Plan deIteraciones

FeatureBreakdown

Lista deFeatures

Tarjetas deFeatures

RequerimientosPerformance

Iteración 0

Análisis deriesgo

Próximo plande Iteración

Plan de entregas,milestones e iteraciones

132

Page 49: Agile Project Management

Práctica 132

Lista de Features del Producto Expansión de la desarrollada en la fase de envision Esta lista y las tarjetas que le acompañan son el

insumo principal para la planeación de entregas, milestones e iteraciones.

Para cada feature crea una tarjeta que contiene información básica descriptiva y de estimaciones.

El software no es muy estricto para exigir todas las especificaciones desde un inicio, por lo tanto le aplica

un proceso evolutivo de especificaciones.

Page 50: Agile Project Management

Jerarquía de features 133

Producto Area de business subject

Business activity Feature

Pequeños productos podrían usar sólo el nivel de features.

Page 51: Agile Project Management

¿Qué es un feature? 134

Es un trozo del producto que entrega funcionalidad valiosa y utilizable a un cliente.

Para los propósitos de planeación y de entregas de los proyectos, el team necesita incluir features de tecnología o componentes, donde se muestran separados de los otros. El peligro: construir muchos componentes

tecnológicos o de infraestructura antes de construir algo con significado directo para el cliente

En cuanto más tiempo pasa por allí debajo, más se puede desviar el proyecto antes de recibir feedback del cliente.

Page 52: Agile Project Management

Features 134

De la lista de features potenciales, el team del producto y el de ingeniería discutirán aspectos de calendario durante las asignación de features a las interaciones de desarrollo.

Una característica de los proyectos APM es la volatilidad de los features en esta lista.

Durante la planeación para cada iteración, la lista de features a incluir puede cambiar significativamente en relación al plan original

Page 53: Agile Project Management

Práctica

Feature Cards 135

Objetivo: medio sencillo para juntar información sobre los features, registrar requerimientos de alto nivel y desarrollar estimados de trabajo.

El desarrollo basado en features pretende ser desarrollo customer-facing

Page 54: Agile Project Management

Feature Cards

Discusión 135

Las fc identifican mas no definen los features Las fc son acuerdos entre los clientes y los

miembros del team para discutir -y documentar en el grado necesario- requerimientos durante una iteración.

La discusión es crítica para entender la que a su vez es crítica para estimar

Identifican features que los clientes quieren en el producto

Para proyectos grandes, se pueden usar ‘group cards’ por business activity para organizar y planear listas individuales de features, de 10, 15 o 20

La información en las fc se vuelve el producto del esfuerzo colaborativo del team y el punto focal para entendimiento mutuo del producto al nivel de detalle

Page 55: Agile Project Management

Feature Card Iteración planeada: 3

No. de Feature: 25 Tipo de feature: cliente

Nombre de feature: Establecer territorios de ventas

Descripción del feature:

Crear territorios de ventas con base en regiones y áreas metropolitanas estándar

Cantidad estimada de trabajo: 4.5 días

Incertidumbre de los requerimientos(E,F,R,S): R (rutina)

Dependencia de otros features: ninguna

Tests de Aceptación:

136

Page 56: Agile Project Management

Contenido de Feature Card 136

Identificador y nombre del feature Descripción: una o dos oraciones en términos del

cliente Tipo de feature (C=customer, T=técnico) Trabajo estimado: lo que lleva producir el feature, e

incluye tiempo para recoger requerimientos, diseño, codificación, pruebas y documentación.

Incertidumbre de los requerimientos (erráticos, fluctuantes, rutinarios, estables): un factor de exploración

Dependencias de features: que podrían afectar la secuencia de implementación

Tests de aceptación: criterios que el cliente utilizará para aceptar o rechazar el feature.

Page 57: Agile Project Management

Capa debajo de los features 137

Para planear la próxima iteración hay que voltear las tarjetas y listar las actividades técnicas requeridas para: especificar, diseñar, construir, probar y documentar el feature.

Se pueden combinar las actividades técnicas de varios features en un solo paquete técnico de trabajo.

Features de alto riesgo se calendarizaran en las iteraciones iniciales para que el team pueda determinar primero si el feature puede ser implementado, y segundo, si se puede, si llevará más tiempo y dinero de lo previsto.

Si es difícil fijar los requerimientos, podría requerirse una serie de prototipos de descubrimiento.

Features altamente inciertos podrían requerir investigación adicional antes de planearlos.

Page 58: Agile Project Management

Práctica

Tarjeta de Requerimientos de Performance

Objetivo: documentar las operaciones clave y los requerimientos de performance del producto.

Suelen ser de diferente color que las de features

Contienen: nombre, descripción, metas cuantitativas de performance

Contienen también los correspondientes ‘criterios de aceptación’ o ‘tests’ en esta área.

Page 59: Agile Project Management

Tarjeta de performance Iteración demostrada: 6

Performance ID: PC-12

Nombre del aspecto Inicio del Interaction Manager

Descripción del performance El IM debe intervenir antes de transcurrido un segundo de detectada la interacción

Dificultada para lograrla (H,M,L) M (moderada)

Criterio de aceptación a- <2 seg en iteración 3

b- <1 seg en iteración 6

Page 60: Agile Project Management

Práctica 140-141

Plan de Releases, Milestones e Iteraciones

Representa el mapa de cómo el team pretende lograr la visión del producto dentro del alcance y las restricciones del proyecto -identificados en la Project Data Sheet.

Los ciclos APM son iterativos y guiados por features. Cambia el foco de la planeación y la ejecución de

tareas a features de producto Otra ventaja de basar los planes en features

(Y su arquitectura, que es instanciada por features) es que mantiene la sincronía entre el cliente y el equipo de desarrollo.

Page 61: Agile Project Management

142

Las iteraciones producen features que han pasado los criterios de aceptación La meta es disponer de un producto con features

parciales y que pueda entregarse al final de cada iteración.

Incremental delivery Milestones son puntos intermedios de uno a

tres meses y pueden tener funciones gerenciales y técnicas

Su uso más importante: Puntos fuertes de sincronización e integración

Page 62: Agile Project Management

Factores 143

Dos factores guían el plan de releases, milestones e iteraciones para asignar features: Valor del cliente Riesgo

Alto riesgo Bajo riesgo

Alto valor 2a. prioridad 1a. Prioridad

Bajo Valor 3a. prioridad

•Todas las demás consideraciones de calendarización –disponibilidad de recursos, dependencias y otras- se subordinan a valor y riesgo

Page 63: Agile Project Management

Iteración 0 143 - 144

Es una práctica que ayuda a ubicar el terreno medio entre anticipación y adaptación – El ‘0’ significa que no se entrega nada útil para el cliente en este período.

Por ejemplo, un proyecto pudiera requerir alguna aequitectura de datos para desarrollar interfaces.

Para cada uno de estos items debe crearse una feature card. (Contendrá algún diagrama de arquitectura en lugar de un feature implementable)

Ejemplo de un release plan

Page 64: Agile Project Management

Iteraciones 1-N 144

Se necesita crear un plan que asigna features a iteraciones por la duración del proyecto para lograr un ‘feel’ del flujo del proyecto y determinar la fechas de compleción, staffing, costos y otra información de planeación del proyecto. El plan resultante se puede ver así.

Page 65: Agile Project Management

Arquitectura1.0

Iteración 1Tarjeta tema

Arquitectura1.1

Arquitectura1.2

Feature 3

Feature2

Feature 1

Feature 7

Feature 5

Feature 3

Feature 4

InvestigaciónRequerimientos

Iteración 2Tarjeta tema

Iteración 3Tarjeta tema

Iteración 4Tarjeta tema

Iteración 0 Iteración 1 Iteración 2 Iteración 3 Iteración 4

PLANO DE FEATURE CARDS 146

Page 66: Agile Project Management

Las Actividades para hacer el plan de iteración Incluyen 146

Determinar cómo los riesgos identificados influirán en la planeación

Identificar la meta del calendario Establecer los períodos de milestone y de iteración Desarrollar un tema para cada iteración Asignar feature cards a cada iteración balancenado

prioridades del cliente, riesgos, recursos y dependencias Sumarizar el plan en combinaciones de hoja a nivel de

feature, plano de feature cards, parking lot Calcular el calendario inicial según disonibilidad de staff y

el total estimado de trabajo Ajustar el plan cuando sea necesario

Page 67: Agile Project Management

147

Mientras que con criterios de cliente se asignan features a las iteraciones, aspectos de riesgo ténico pueden influir en estas decisiones.

Algunas veces se implementan primero los features de alto riesgo con el fin de reducir riesgos.

La interdependencia entre features influye en la asignación, pero los más importantes son valor del cliente y riesgo.

Page 68: Agile Project Management

148- 149

Para cada iteración y milestone, el equipo debe desarrollar y escribir un tema guía. Esto es importante para que el team balancee entre

amplitud y profundidad de los features Lo mejor para esto son tarjetas de iteración (ver ej en lámina

siguiente) La ventaja de las tarjetas es que se pueden barajar

durante las sesiones de planeación La información de las interdependencias de features

debe estar en las feature cards. Un fc llamada “Re-trabajo y contingencia” se coloca

en cada iteración. Se pueden acomodar también iteraciones vacías Los features asignados a los últimas iteraciones son

los que se pueden botar si hiciera falta.

Page 69: Agile Project Management

149

Tema de una iteración

Iteracion No. 3

Tema: Captura de feedbacks para crear el rich log

Comentario

Las funciones avanzadas se verán en la iteración 7

Supuesto:

Las simulaciones probarán un 80% de la funcionalidad

Page 70: Agile Project Management

Análisis de

Ventas

(18)

0

May 2004

Gerencia de Ventas (GV)

Seguimiento

Leads

(8)

0

Ago 2004

Pautar

Anuncios

(9)

0

Sep 2004

Servicio Call Center

(28)

0

Oct 2004

Marketing (MM)

Generación

Leads

(22)

0

May 2004

Prospecta-

ción

(10)

0

Jun 2004

Manejo de

Territorio

(8)

0

Jul 2004

150

Page 71: Agile Project Management

Planeación y Reportes a Nivel de Componentes o Actividad de Negocios

Page 72: Agile Project Management

150

Para proyectos de mediano a grande, la planeación a nivel de feature es demasiado fina, al menos para muchos clientes y gerentes.

Una aplicación grande puede contener miles de features El team de desarrollo necesita el detalle Clientes y gerentes pueden ser más efectivos a un

nivel más grueso de ganularidad Para estos casos: FDD Feature Driven

Development

Page 73: Agile Project Management

150

Feature-Driven DevelopmentSe basa en una jerarquía granular de

featuresEn el caso del Manager Plus, la

jerarquía sería: Business Subject Area (Ventas)

Business Activity (Análisis de ventas)Feature: (Generar un reporte de

ventas de producto por territorio)

Page 74: Agile Project Management

151

FDD Aplicaciones grandes, como un CRM, pueden

tener de 30 a 50 actividades y varios miles de features En estos casos se puede ver la calendarización

por gerencias altas a nivel de componente o actividad, y se deja la calendarización a nivel de feature al equipo de ingeniería.

Este enfoque de “dos capas” para la planeacion puede ser muy efectivo.

De Luca divide el dominio técnico en tres grupos de features : User Interface Database Systems Interface

Page 75: Agile Project Management

152

FDD Aún con proyectos más pequeños, una jerarquía de

actividad y features puede ayudar a un team a pensar en el producto

Listar features y después organizarlos en actividades o comenzar con actividades genéricas de proyectos previos o de investigación de productos, y de allí, identificar nuevos features, puede contribuir al entendimiento del producto.

En cualquier caso los artefactos finales de una actividad de planeación incluyen una combinación de: a) feature cards, b) una FBS, c) un plan de iteración con las feature cards, d) un parqueo del proyecto

Page 76: Agile Project Management

152

Tres tipos de planes de iteraciónHay varias formas de conducir el

calendario inicial Asignar features a las iteraciones hasta la

fecha meta y luego determinar si el alcance (features que se pueden implementar) parece razonable.

Asignar todos los features y luego comparar la fecha planeada (con todos los features) con la fecha meta.

Page 77: Agile Project Management

152-153

Para proyectos con alto grado de exploración, los calendarios iniciales pueden contener demasiados “sis”. Dependiendo del grado de incertidumbre se puede hacer. Un plan completo con features asignados a cada

iteración Un plan para dos iteraciones, utilizando sólo la

próxima interacción, y dejar todo el resto para después.

Un plan de iteración por iteración.

La decisión por uno de estos dependerá de: Naturaleza del proyecto Expectativas de clientes y stakeholders

Todo debe preverse en la fase de ‘Envision’

Page 78: Agile Project Management

153

Plan de la próxima iteración Una vez acordado el plan global de entregas para el

proyecto completo, el team regresa a hacer un plan detallado de la próxima (o primera) iteración.

El team toma cada feature card y construye una lista de las actividades técnicas requeridas para implementar el feature, y las anota en el reverso.

El equipo re-estima el trabajo con base en el examen más detallado y ajusta los features planeados para esa iteración

Finalmente, los miembros se apuntan para features o actividades basados en sus propias habilidades y/o deseos*

Page 79: Agile Project Management

154

1er. Deployment Factible Puesto que un deployment rápido conlleva muchos

beneficios, algo que el team puede hacer es determinar este FFD: First Feasible Deployment Se puede hacer una instalación temprana a clientes clave

que han pedido el producto

Para el team puede traer a) Ingreso anticipado, b) feedback valioso Ojo: los costos de deployment podrían ser más que los

beneficios Si se piensa hacer esto, hay que preverlo desde el principio,

p. ej. se podría escoger terminar los features de una sola área, en lugar de features cruzados

Page 80: Agile Project Management

155

Deployment El desarrollo iterativo crea piezas ‘deployable’ del

producto, mientras que el desarrollo incremental realiza el deployment de las piezas del producto

En algunos tipos de desarrollo de SW. p. ej. Web, cada iteración puede ser un ‘deployment’ incremental

El deployment anticipado de productos parcialmente completados logra: Mejora del ROI (por los ingresos) Feedback temprano que puede mejorar el desarrollo en

iteraciones subsiguientes.* Al identificar la iteración FFD los equipos de cliente y

téncnico logran una idea de cuándo el producto puede ser rentablemente instalado

Si el FFD se corre al final del proyecto, puede indicar un riesgo

Page 81: Agile Project Management

155

Estimando

¿Cómo se estima un proyecto ágil?

Respuesta: con las mismas técnicas de siempre

Hay tres sutilezas detrás de la pregunta1. Cómo estimar lo desconocido

2. Cómo estimar por features en lugar de actividades

3. Cómo hacer una estimación progresiva

Page 82: Agile Project Management

Primero 156

¿Cómo se estima lo desconocido? No se puede – se adivina. Por lo tanto, tiempo y costo son vistos

como restricciones, no como estimadosSe aprende a vivir con la incertidumbre

en lugar de demandar certidumbre de un mundo de cambios vertiginosos.

Page 83: Agile Project Management

Segundo 156

Los proyectos ágiles se planean por features La experiencia en puras tareas debe emplearse

en estimar tareas para cada feature. P. ej. en lugar de estimar levantado de requerimientos para todo el proyecto, hacerlo por cada feature.

Un equipo que ha pasado varios días identificando features y asignándolos a iteraciones usualmente logra un mejor entendimiento del producto que los que se han basado en planeación de puras tareas

Por lo tanto, en la mayoría de los casos, la planeación basada en features provee mejores estimados

Page 84: Agile Project Management

Tercero 156

Los buenos gerentes de proyecto siempre han tratado de emplear prácticas de estimación progresiva, p. ej. completar la definición de requerimientos antes de estimar el resto del proyecto.

APM es un proceso fundamentalmente progresivo de estimación y de entrega que refleja la forma verdadera en que la información se revela en el tiempo.

Mientras avanzan las iteraciones, los miembros del team deben mejorar para estimar la próxima iteración, lo que mejorará también para el resto del proyecto.

Page 85: Agile Project Management

Evolución del Alcance ¡¿?!157

Algunos cambios del alcance son de bajo costo y valiosos

Otros son extensos y costosos, pero cruciales para proveer valor al cliente

Los cambios pueden ser perjudiciales si son arbitrarios o mal pensados

En general, los cambios de alcance que resuelven requerimientos evolutivos y que son tomados con el entendimiento y la aprobación de su impacto en el proyecto, incrementan la probabilidad del éxito del proyecto.

Page 86: Agile Project Management

Alcance y features 158

No hay que grabar en placas doradas los requerimientos.

Dupont estima que sólo el 25% de los features en su software se necesitan realmente.

45% de los features nunca fueron usados Sólo 20% se usaron a menudo o siempre Esto confirma que el deployment parcial

mejora el ROI – puede evitar que uno construya features costosos y no utilizados Cortar los teams y los proyectos por la mitad,

¿no acelera el desarrollo y reduce los costos al mismo tiempo?**

Page 87: Agile Project Management

Alcance y features 158

La estrategia de construir unos features mínimos JUNTO CON la capacidad de adaptarse fácilmente y razonablemente al cambio puede ser muy rentable

El desarrollo ágil es sobre foco y balance: foco en la visión clave y metas del proyecto; y forzar decisiones trade off que logran balance para el producto

El desarrollo ágil planea por feature, por lo que concentra su proceso de planeación en algo que el cliente puede relacionar y priorizar fácilmente.

Page 88: Agile Project Management

Alcance y features 158-159

El alcance del producto se basa en: valor del cliente factibilidad técnica y costo Impacto en la adaptabilidad del producto necesidades críticas del calendario del cliente

No debe ser rehén de un conocimiento inicial incompleto

Las iteraciones cortas combinadas con las revisiones por el cliente al final de cada iteración llevan al equipo completo –desarrolladores, clientesy gerentes- a enfrentar la realidad.

Podemos tomar un documento de requerimientos y estimar el tiempo que llevará desarrollar y probar el código, o podemos construir un conjunto pequeño de features y medir cuanto tiempo llevó desarrollarlos.*

Page 89: Agile Project Management

159

Análisis y mitigación de riesgos El análisis y la mitigación de riesgos son

parte integral de cada fase y proceso del APM

El diseño de un producto evoluciona de entender los requerimientos y las restricciones y de entender la ciencia y la ingeniería subyacentes.

Los riesgos dominantes en el software Problemas inherentes al calendario Inflación de requerimientos Partida de empleados Derrumbe de las especificaciones Productividad pobre

Page 90: Agile Project Management

Riesgo 160

La mejor estragegia de mitigación de riesgo es la entrega incremental

Para un producto altamente incierto, la falla en cumplir un calendario pueda no ser defecto, sino la pura imposibilidad de calendarizar lo desconocido.

Las técnicas APM dirigidas al riesgo: Involucración fuerte del team en planeación y estimación Feedback temprano sobre la velocidad de entrega Presión constante para balancear el número y profundidad

de los features con las restricciones de calendario Interacciones cercanas entre los equipos de ingeniería y de

clientes Detección/corrección temprana de errores para mantener un

producto limpio y funcional

Page 91: Agile Project Management

Riesgo 161

APM posee una mitigación built-in contra la partida de empleados gracias al énfasis en la colaboración

El derrumbe de las especificaciones ocurre cuando cuando los clientes o los gerentes de producto fallan en acordar las especificaciones.

Productividad pobre: Gente equivocada en el equipo El team no trabaja bien en conjunto Baja moral

Riesgo para productos nuevos pobre investigación de mercado problemas técnicos insuficiente esfuerzo de mercadeo mal timing

Page 92: Agile Project Management

Sumario de la fase 164

Tres actividades claves a completar antes de empezar a desarrollar features

1. Articular una visión de producto2. Definir el alcance y restricciones del proyecto3. Crear un plan de entregas iterativo, basado en features

Este último es el principal deliverable de la fase de especular

Cuando se logra la lista de features y el release plan, el resto es relativamente fácil

La planeación basada en features obliga a los equipos de ingeniería y de clientes a entender el producto de modos que la planeación basada en tareas raramente lo hace.

Page 93: Agile Project Management

EXPLORAR Cap 7 165

Page 94: Agile Project Management

166

Un Complex Adaptive System (CAS) es una colección de agentes que exploran para lograr una meta (aptitud en el sentido biológico) mediante la interacción entre ellos según un conjunto de reglas.

Un CAS experimenta con alternativas, selecciona y ejecuta las viables, compara los resultados contra las metas (objetivos del sistema) y se adapta según sea necesario.

Page 95: Agile Project Management

Liderazgo – Colaboración 166

El modelo CAS es una metáfora útil para un estilo de gerencia del tipo liderazgo-colaboración, el cual estimula un comportamiento: emergente (innovador) tomador de riesgos

Bajo esta luz, las tareas claves gerenciales son: Establecer una visión Crear un ambiente de trabajo colaborador

Page 96: Agile Project Management

Gerencia 167

El fin de la fase de exploración es entregar features probados y aceptados, pero en lugar de concentrarse en los detalles técnicos de cómo lograr esta meta, el gerente de proyecto ágil se concentra en crear un equipo auto-organizado, auto-disciplinado para que pueda lograr la meta última.

Page 97: Agile Project Management

Contribución de la gerencia 167

1. Enfocar al team a que dé resultados2. Hacer un team de un grupo de individuos3. Desarrollar las capacidades de cada

individuo4. Proveer al team con los recursos

requeridos y removerle obstáculos5. Asesorar a los clientes6. Orquestar el ritmo del teamRol esencial: Crear un team de alto rendimiento

a partir de un grupo de individuos.

Page 98: Agile Project Management

Prácticas de la fase 168

Dar resultados según la visión y los objetivos Workload management

Prácticas técnicas Cambio a bajo costo

Comunidad del proyecto Coaching y desarrollo del team Reuniones diarias de integración Toma de decisiones participativa Interacción diaria con el team del cliente

Page 99: Agile Project Management

Práctica 169

Workload Management Fin: lograr que los miembros del team

manejen las actividades diarias requeridas para dar resultados al final de cada iteración

Los miembros del team deben manejar su propia carga en la mayor medida posible

Los gerentes de proyecto dan la dirección en lugar de controlar

Page 100: Agile Project Management

Práctica 171

Cambio a bajo costo Meta: crear un producto adaptable Mantener a un mínimo el costo del cambio y

de la experimentación, lo que expande las posibilidades de diseño.

Cuatro prácticas Diseño simple Integración frecuente Despiadados con las pruebas Refactura oportunista

Page 101: Agile Project Management

Deuda Técnica 171

Cuando los equipos de desarrollo y soporte le dan apoyo sólo del diente al labio a excelencia técnica; cuando los gerentes de producto y de proyecto empujan al equipo más allá de lo rápido para caer en la prisa, se incurre en deuda técnica.

La deuda técnica puede surgir durante el desarrollo inicial el mantenimiento ordinario las ampliaciones

APM dar valor del cliente hoy y mañana. La deuda técnica se refiere a mañana.

Page 102: Agile Project Management

Cost

o de

l Cam

bio

1 4 5 6 7 8

años

Release del producto

CdC óptimo

Deuda técnica

CdC real

La deuda técnica resulta del apresuramiento

172

Page 103: Agile Project Management

Deuda técnica 172

El incremento de la deuda técnica reduce directamente la responsividad a los clientes.

Sin una dedicación firme al manejo de la deuda técnica de largo plazo, los grupos de desarrollo se ven forzados a aumentar la trampa de la deuda.

En cuanto peor se vuelve la deuda, los atrasos son mayores, y en cuanto más se extienden los atrasos, sube la presión que lleva a otra implementación apresurada, lo que incrementa otra vez la deuda técnica.

En cuanto más grande es la deuda, más caro es corregirla porque cuesta más justificarlo, por lo tanto, continúa la espiral de muerte.

Page 104: Agile Project Management

Deuda técnica 172

No hay incentivo para disminuir la deuda técnica al principio del ciclo de vida del producto, cuando es barato, porque los atrasos son todavía cortos.

El secreto para la reducción de la deuda técnica a largo plazo está en hacerlo temprano y seguido, cuando el costo es bajo

En cuanto más baja la deuda técnica, más barato es corregirla, cuesta menos justificar y este círculo virtuoso se refuerza a sí mismo.

Reducir la deuda técnica, mantener bajo el costo del cambio, tiene que ser una estrategia ténica y parte de la dedicación de una organización a la excelencia técnica.

Page 105: Agile Project Management

Deuda técnica 173

Una estrategia de deuda técnica no se dirige a proteger al producto de la obsolescencia, sino que a mantener bajo el costo del cambio, de modo que la capacidad de respuesta al cliente se mantenga lo más alta que se pueda durante la vida del producto.

Page 106: Agile Project Management

Diseño simple 173

Objetivo: mantener al aquipo afincado sobre lo conocido en lugar de anticipar lo desconocido.

Hay dos enfoques fundamentales hacia el manejo del cambio que deben aparecer en las buenas estrategias de diseño: Anticipación Adaptación

Anticipación: predecir los cambios y planear Adaptación: esperar que evolucionen los

requerimientos o que los cambios se manifiesten.

Page 107: Agile Project Management

Adaptación 173

También significa experimentar, elegir los experimentos con los mejores resultados e incorporar los resultados en el producto.

En cuanto más bajo sea el costo del cambio, más bajo es el costo de experimentación y más alta es la probabilidad de innovaciones significativas.

Si hay posibilidades de que algo cambie, debemos diseñar el sistema para que incorpore fácilmente ese cambio.

Diseño simple significa darle valor a la adaptación por sobre la anticipación

La maleabilidad del producto depende del bajo costo de la iteración. Cuando los componentes no son maleables, se prefiere la

anticipación.

Page 108: Agile Project Management

Integración frecuente 175

Busca asegurar que los features encajan juntos en un todo integrado lo más antes y más frecuentemente posible.

Page 109: Agile Project Management

Despiadados con las pruebas 178

El fin es que la calidad del producto se mantenga alta a lo largo del proceso de desarrollo.

Contribuye a la meta de crear productos adaptables porque al encontrar faltas pronto, cuando todavía hay tiempo para corregirlas, se reduce el costo del cambio. Integrar QA y pruebas de aceptación en cada

iteración Disponer de un conjunto completo de pruebas

automatizadas La meta final es sacar un producto instalable,

de features limitados, de cada iteración.

Page 110: Agile Project Management

Refactoring oportunista 179

El fin es mejorar el diseño del producto constantemente y continuamente –hacerlo más adaptable- para lograr la doble meta: proveer valor del cliente hoy proveer valor del cliente mañana

Hay que incluir una disciplina de refactoring a nivel de producto en el proceso de desarrollo.

Refactoring implica actualizar los componentes internos (mejorar el diseño) sin cambiar la funcionalidad externa, para poder mejorar el producto en el futuro.

Dado el ritmo de cambio, nuestros diseños deben mejor basarse en lo que conocemos hoy y en nuestra disponibilidad de emprender rediseños en el futuro.

Page 111: Agile Project Management

Refactoring oportunista 180

El refactoring mejora el diseño del producto pero no agrega nueva funcionalidad* –mejora la adaptabilidad.

Agregar nueva funcionalidad usualmente pide rediseño

En cuanto mayor sea el ritmo de cambio en los features de un producto, más rápido se degradarán la arquitectura o el diseño.

Axioma antiguo: Hágalo bien desde la primera vez para mantener el costo del cambio bajo

El nuevo axioma: no importa cuan bueno sea la primera vez, siempre cambiará, por lo tanto mantenga bajo el costo del cambio.

Disciplina de refactoring en el desarrollo

Page 112: Agile Project Management

Refactoring oportunista 181

Hay cada vez más disposición de los gerentes de producto a invertir en refactoring una vez que entienden la situación

Con clientes clamando por ampliaciones y con ciclos de de desarrollo que se alargan debido a la deuda técnica, su situación actual es insostenible.

Dos factores son los más importantes Pruebas: hay que integrarlas en el proceso de

desarrollo y automatizarlas todo lo que se pueda. Persistencia: hacer un poco de rafactoring de

código cada vez que se contempla un cambio, siempre tratando de dejar el código un poco mejor que antes.

Page 113: Agile Project Management

Persistencia 181

Significa pensar en rediseño durante cada iteración y asignar algún tiempo a implementar los rediseños.

Significa planear algún nivel de refactoring para cada nuevo release de producto

Significa ir construyendo de modo lento pero seguro pruebas automáticas e ir integrando las pruebas dentro del proceso de desarrollo

Page 114: Agile Project Management

CREANDO EQUIPOS ADAPTIVOS GRANDES

Page 115: Agile Project Management

Componentes 238

Estructura organizacional basada en hubs Extensiones de auto-organización Auto-disciplina de equipo Prácticas adicionalesUn team de proyecto consiste de individuos –agentes casi

independientes- que interactúan dentro del a estructura de un team y reglas auto-disciplinadas de participación (cómo interactúan los unos con los otros)

A los individuos se les da flexibilidad y un grado de autonomía dentro de esta estructura maleable, y ellos, a su vez, ejercitan auto-disciplina para responsabilizarse por los resultados y para comportarse como miembros responsables y conscientes del team.

En el caso de los teams grandes que consisten de sub-teams, los agentes son los sub-teams.

Page 116: Agile Project Management

Project Management Team

Project Manager

Team del cliente

Product Manager

Team de Arquitectura

Team Lead

Teams de Features A-N

TeamLead

Team de integración y construcción

TeamLead

puede ser virtual

Miembros fijos y part-time

Page 117: Agile Project Management

Extensiones de auto-organización 241

Conseguir los líderes adecuados Articular la descomposición del trabajo y las

estrategias de integración Estimular la interacción y el flujo de información entre

teams Enmarcar la toma de decisiones a nivel de proyecto

El líder del proyecto se asegura que cada individuo comprenda la visión del producto y la parte de su

sub-team dentro de esa visiónEn proyectos grandes, los subteams pueden también

hacer el ejercicio de ‘envision’ para su porción del producto.

Page 118: Agile Project Management

Además de conocer sus responsabilidades, cada sub-team necesita saber su rol respecto de los otros sub teams por ejemplo, un sub-team de features necesita saber cómo

interactará con el sub-team de arquitectura

Los proyectos grandes son casi siempre de algún modo proyectos distribuidos

Hay que enfrentar aspectos de distancia, cultura y experticia

Definir los roles y responsabilidades de los subteams es un paso inicial para tratar con los aspectos de distribución