Este documento presenta una guía práctica para la adopción de Lean Software Development. Explica conceptos clave como eliminar desperdicio, tipos de desperdicio y herramientas como mapas de flujo de valor. También cubre temas como amplificar el aprendizaje a través de iteraciones, entregar rápido, empoderar equipos y construir con integridad. Finalmente, ofrece consejos sobre la adopción paso a paso y cómo aplicar estos principios en empresas pequeñas, medianas y grandes.
2. El pensamiento Lean
• Según los Poppendieck inicia en los 40’s
con el Sistema de Producción Toyota
• Otros autores se remontan hasta 1450
cuando la artillería veneciana introduce
lineas flotantes para el ensamble de botes
• En 1913 H. Ford introduce una verdadera línea de
ensamble en movimiento con fabricación de
partes
3. El Objetivo Principal
Eliminar Desperdicio
“En 1970 Winston Royce escribió que los pasos
fundamentales para el desarrollo de software
son el Análisis y la Codificación”
…todo lo demás le agrega costo es desperdicio
4. Tipos de Desperdicio
• H1-Mirar el desperdicio:
– Trabajo parcialmente terminado
– Procesos extras
– Características extras
– Conmutación de tareas
– Esperas (tiempos muertos)
– Movimiento (desplasamiento)
– Defectos
– Administración de actividades
6. Amplificar el aprendizaje
• H3-Retroalimentación
– Un modelo incremental con refinamiento progresivo
es la aproximación correcta.
• H4-Iteraciones (desarrollo por)
– Una iteración produce una porción funcional del
producto final.
• H5-Sincronización
– Equipos grandes que trabajan en la misma porción del
sistema necesitan sincronizarse.
• H6-Desarrollo basado en conjuntos
– Determinar conjuntos de acción, no opciones.
7. Decidir tan tarde como sea
posible
“Encontrar y corregir un problema de software
después de la entrega cuesta 100 veces más
que encontrar y corregir el problema en la fase
inicial de diseño” – Barry Boehm, 1987.
- H7-Opciones de pensamiento
- H8-El último momento responsable
- H9-Toma de decisiones
8. Entregar tan rápido como
sea posible
¿Por qué entregar rápido permite mantener
opciones abiertas al cambio?
– Se reduce la incertidumbre
– Se gana información
– Se pueden tomar decisiones basadas en hechos
• H10-Sistemas de arrastre
• H11-Teoría de colas
• H12-Costo del retraso
9. Empoderar al equipo
“No creemos que centrarse en hacer las cosas bien
la primera vez es lo apropiado para un entorno de
diseño, en cambio, la experimentación y la
retroalimentación son más eficaces”
– Poppendieck.
• H13-Autodeterminación
• H14-Motivación
• H15-Liderazgo
• H16-Expertez
10. Construir con Integridad
“Integridad percibida significa que la totalidad del
producto alcanza un equilibrio de la función, utilidad,
veracidad, y la economía que deleita los clientes.
Integridad conceptual significa que los conceptos
centrales del sistema trabajan juntos como un todo
uniforme, coherente.” – Poppendieck.
• H17-Integridad percibida
• H18-Integridad conceptual
• H19-Refabricación (de código)
• H20-Pruebas
11. Ver el todo
“Un sistema no sólo es la suma de sus partes”
Practicar el pensamiento de sistemas
tomando a la empresa como un sistema.
• H21-Mediciones
• H22-Contratos
12. Recapitulando:
H1-Mirar el desperdicio
H2-Mapa de flujo de valor
H3-Retroalimentación
H4-Iteraciones (desarrollo por)
H5-Sincronización
H6-Desarrollo basado en conjuntos
H7-Opciones de pensamiento
H8-El último momento responsable
H9-Toma de decisiones
H10-Sistemas de arrastre
H11-Teoría de colas
H12-Costo del retraso
H13-Autodeterminación
H14-Motivación
H15-Liderazgo
H16-Expertez
H17-Integridad percibida
H18-Integridad conceptual
H19-Refabricación (de código)
H20-Pruebas
H21-Mediciones
H22-Contratos
13. Adopción paso a paso
1. Identifique sus problemas… responda: ¿cree que las herramientas
de Lean Software Development le pueden ayudar a resolverlos?
2. Si la respuesta fue afirmativa, priorice sus problemas y seleccione
una de herramientas para atacar el de mayor jerarquía… persista
hasta dominar la herramienta seleccionada.
3. Compare cómo otros han utilizado la misma herramienta.
4. Seleccione el siguiente problema a resolver.
5. Seleccione otra u otras herramientas para resolver el nuevo
problema.
6. Evalúe su mejora (en la producción).
7. Si los resultados son positivos regrese al paso 3 hasta dominar
todas las herramientas.
8. En caso contrario investigue porqué otros equipos han logrado
resultados positivos y decida si sus condiciones le permiten insistir
o posponer la adopción.
14. ¿En qué se ha avanzado?
1. Adaptación de los preceptos Lean a la cultura
laboral de México
2. Desarrollo de una herramienta para visualizar
y manejar los factores productivos
3. Desarrollo de una nueva herramienta para el
análisis de requerimientos
4. Desarrollo de estrategias ágiles para el
trabajo colaborativo
15. Adopción en Pequeñas,
Medianas y Grandes Empresas
Tarea E. Chica E. Mediana E. Grande
Organizar un seminario semanal X X
Participar en foros de discusión X X X
Contratar personal capacitado X
Tomar cursos de capacitación X
Nombrar un líder del cambio X X
Mantener un blog sobre el tema X
Adaptar las herramientas a las
necesidades de la empresa X X
Contratar una consultoría
especializada X