150 likes | 326 Views
Lean Software Development. Juan Gabardini 75.46 Administración y Control de Proyectos Informáticos II Facultad de Ingeniería - UBA. Orígenes. 1800 - Partes intercambiables Sin artesanos 1900 - Personas intercambiables Producción en masa 1960 – Toyota Production System
E N D
Lean Software Development Juan Gabardini 75.46 Administración y Control de Proyectos Informáticos II Facultad de Ingeniería - UBA
Orígenes • 1800 - Partes intercambiables • Sin artesanos • 1900 - Personas intercambiables • Producción en masa • 1960 – Toyota Production System • Manejando la complejidad: JIT+Autonomation • Sin stock y sin inspecciones • 1990 - Lean
Lean • JIT • Pull system • Kanban card • Autonomation (aka Jidoka, aka stop-the-line) • Los que hacen son los que saben • Lotes chicos
Familia Lean • Toyota Production System • Manufactura • Operaciones • Keiretsu • Supply Chain • Toyota Product Development System • Product development • Software development
Principios • Eliminar el desperdicio • Construir con calidad • Crear conocimiento • Postergar compromiso • Entregas rápidas • Repetar a las personas • Optimizar el todo
Eliminar el desperdicio • Tiempo entre pedido y entrega • ¿Qué es desperdicio? • Lo que no agrega valor • Retraso en la entrega • ¿Qué es valor? • Ejemplos • Stock: WIP, Requerimientos, Diseño, Bugs, … • Funcionalidad no usada • Mito: Especificación temprana reduce el desperdicio
Construir con calidad • Inspección para prevenir o para detectar defectos • Listas de bug: colas de WIP desperdicio • Pruebas automatizadas antes que el código • De aceptación • Unitarias • Mito: trabajo del tester es encontrar defectos
Hacerlo bien la primera vez • Cuidado… • El código cambia • Mucho código es desperdicio • Menos código, menos oportunidad de defectos • • YAGNI / KISS • Refactoreo
Crear conocimiento • No es posible • Conocer las necesidades al inicio • Diseñar sin implementar • Desarrollo de producto como aprendizaje y mejora • Del producto / negocio • Del proceso • Difundir el conocimiento! • Mito: las predicciones crean predictibilidad
Postergar compromiso • Tomar decisiones irreversibles ALAP • Buscar soluciones reversibles • Mito: Planificación es compromiso
Entregas rápidas • Alta calidad • Bajo costo • Menos cambios • Habilita a pruebas de concepto y mayor conocimiento del cliente • Mito: Apuro causa desperdicio
Repetar a las personas • Líderes emprendedores • Expertos técnicos • Control basado en objetivos • Mito: existe la mejor manera de hacerlo
Optimizar el todo • Ejemplos: • El cliente quiere algo para ayer • Testing está sobrecargado • Las cadenas de valor que cruzan entre empresas pueden ser costosas • Mito: optimizar por descomposición