Aplicación del concepto LEAN al Desarrollo de Software UCA, Agosto 2009
Temario El concepto LEAN Historia del pensamiento LEAN Herramientas para la aplicación del Concepto LEAN: • Mapeo del flujo del valor • Eliminación Eli i ió de d desperdicios d di i • Equipos Multifuncionales • Controles Visuales • Pull • Kaizen
NEC ARGENTINA S.A. - LEAN Software Development Page 2
Temario El concepto LEAN Historia del pensamiento LEAN Herramientas para la aplicación del Concepto LEAN: • Mapeo del flujo del valor • Eliminación Eli i ió de d desperdicios d di i • Equipos Multifuncionales • Controles Visuales • Pull • Kaizen
NEC ARGENTINA S.A. - LEAN Software Development Page 3
El Concepto LEAN LEAN: Flaco, Magro g El concepto Lean se refiere a procesos ágiles, sin desperdicios, capaces de crear productos valiosos para clientes y usuarios usuarios. Valor: Características apreciadas por los clientes y usuarios. El objetivo del Concepto LEAN es hacer que el valor fluya. Desperdicios: Obstáculos que no permiten que el valor fluya. Estrategia LEAN: • Saber ver los desperdicios y eliminarlos • Saber ver el valor y hacer que fluya • Foco en las personas NEC ARGENTINA S.A. - LEAN Software Development, Page 4
Temario El concepto LEAN Historia del pensamiento LEAN Herramientas para la aplicación del Concepto LEAN: • Mapeo del flujo del valor • Eliminación Eli i ió de d desperdicios d di i • Equipos Multifuncionales • Controles Visuales • Pull • Kaizen
NEC ARGENTINA S.A. - LEAN Software Development Page 5
Historia del concepto LEAN
Sakichi Toyoda 1867-1930
Kiichiro Toyoda 1894-1952
Telar tipo G, 1924
Prototipo A1, 1935
Taiichi Ohno 1912-1990
Shigeo Shingo 1909-1990
Trabajo Artesanal (Luthier)
Depto 1 Proceso 1
Depto 2 Proceso 2
Depto 3 Proceso 3
Fred. Taylor 1856-1915
Henry Ford 1863-1947
James Womack
Mary Poppendieck
1910
1908 Ford T 1927 Ford A 1931
1996
2003
Depto 4 Proceso 4
Producción en Lotes Siglos XVIII, XIX, (XX y XXI)
NEC ARGENTINA S.A. - LEAN Software Development, Page 6
Primeros Productos Ford:
Ford N,R,S: Producción:
1906–1908 13.250 vehículos
Producción Masiva: Línea de Montaje para el ensamble de automóviles, reducción de 12 horas a 90 minutos para producir un automóvil • Alta demanda de trabajadores no especializados • Trabajo repetitivo y ausente de creatividad • Producción P d ió masiva, i sin i flflexibilidad ibilid d para cambios bi d de modelos d l
Ford F d T: T Producción:
1908–1927 1908 1927 15 Millones de vehículos
Ford A: P d Producción: ió
1927–1931 5 Mill Millones de d vehículos hí l
NEC ARGENTINA S.A. - LEAN Software Development Page 7
Taylor: Gerenciamiento Científico División del trabajo j p para aumentar la p productividad. Maximizar la eficiencia de la mano de obra y de las máquinas y herramientas Cronometraje de las operaciones, más un sistema de motivación mediante el pago de primas al rendimiento. Supresión de toda improvisación en la actividad industrial industrial. 1. Hallar diez o quince obreros (si es posible en distintas empresas y de distintas regiones) que sean particularmente hábiles en la ejecución del trabajo por analizar. 2. Definir la serie exacta de movimientos elementales que cada uno de los obreros lleva a cabo para ejecutar el trabajo analizado, así como los útiles y materiales que emplea emplea. 3. Determinar con un cronómetro el tiempo necesario para realizar cada uno de estos movimientos elementales y elegir el modo más simple de ejecución. 4 Eli 4. Eliminar i ttodos d llos movimientos i i t mall concebidos, bid llos llentos t o inútiles. 5. Tras haber suprimido así todos los movimientos inútiles, reunir en una secuencia los movimientos más rápidos y los que permiten emplear l mejor j llos materiales t i l más á útil útiles
NEC ARGENTINA S.A. - LEAN Software Development Page 8
Sakichi Toyoda Nacido en el hogar g de un humilde carpintero p jjaponés p en 1867. En 1891, Sakichi patentó su primer telar automático y se mudó a Tokio para probar suerte como empresario. En 1902, Sakishi inventó un telar que se detiene automáticamente si ocurre un problema, por ejemplo si una hebra se rompe, dando origen al concepto de JIDOKA, de esta manera un operador puede atender varias máquinas. JIDOKA: (Autonomation = automatización con un toque humano) es uno de los principios fundamentales del Just In Time y del Pensamiento LEAN LEAN. Este concepto fue crucial para el éxito de Toyota. En 1924 diseña el primer telar con cambio automático de Lanzadera del mundo. Su mayor éxito al final de su vida, fue el reconocimiento que le dio la compañía inglesa Platt Brothers & Company que compró sus patentes por una enorme suma. Observando el auge de Ford y General Motors decide usar el dinero de las patentes en la fabricación de autos. Encargó esta empresa a su hijo Kiichiro.
NEC ARGENTINA S.A. - LEAN Software Development Page 9
Kiichiro Toyoda Ingeniero mecánico, Hijo de Sakishi Toyota Visita las fábricas de automóviles de USA e Inglaterra. En 1935 logra el primer prototipo de automóvil A1 y camión G1. Al comienzo la calidad de sus automóviles no era buena, el público japonés pensaba que jamás iban a igualar a USA En 1937 funda Toyota Motor Company y construyó una fábrica para producir 1500 automóviles por mes Adaptó la tecnología de FORD con nuevos conceptos: Mínima cantidad de materiales en los almacenes y en la fábrica Producción de materiales requeridos para solo un automóvil Flujo de la producción. Kiichiro fundó, con estos conceptos, las bases del Just in Time.
NEC ARGENTINA S.A. - LEAN Software Development Page 10
Taiichi Ohno Taiichi Ohno estableció el marco conceptual del Sistema de Producción Toyota En 1940 era jefe de taller en la planta de Koromo de Toyota Ohno viajó a los Estados Unidos para visitar plantas de fabricación de automóviles, pero el aspecto que mas lo impresionó fue el funcionamiento de los supermercados en USA. Ohno quedó maravillado por la forma en que los clientes elegían exactamente lo que querian, y en la cantidad que querian en forma simple, eficiente y sin perder tiempo. A su regreso a Japón, J ó Ohno Oh organizó i ó llas ttransferencias f i entre t procesos como góndolas de supermercado: El p proceso q que usa la p parte la toma de la g góndola El proceso que fabrica la parte la repone en la góndola La góndola debe tener la menor cantidad de productos posible. Este es el concepto PULL (Tirar), (Tirar) una de las bases del Sistema de Producción Toyota y del Pensamiento Lean.
NEC ARGENTINA S.A. - LEAN Software Development Page 11
Shigeo Shingo Gran difusor del sistema de producción Toyota en Japón y en el mundo Creador del concepto Cero Defectos (Relacionado con cero inventario) Inspección en la fuente: Detección del problema en el origen (Poka Yoke) Análisis y solución de la causa de los problemas Menos dependencia de las técnicas estadísticas. Zero Quality Control Creador del SMED (Single Minute Change of Die) Herramientas de producción que permiten una rápida reconfiguración No tiene sentido el Lote Óptimo Difundió sus conceptos en muchas empresas: Daihatsu, Yamaha, Mazda, Sharp, Fuji, Nippon, Hitachi, Sony y Olympus en Japón, Peugeot en Francia
NEC ARGENTINA S.A. - LEAN Software Development Page 12
James Womack Fundador y presidente de “Lean Enterprise Institute” www.lean.org generalizó las ideas del Toyota Production System en el concepto Lean Thinking Los os p principios c p os de del Pensamiento e sa e to Lean ea segú según Womack o ac so son: Especificar el valor desde el punto de vista del cliente. Identificar todos los pasos en el flujo del valor, eliminando cada práctica que no agrega valor. Hacer que los pasos restantes que crean valor fluyan ocurran en forma ajustada y en una secuencia integrada, integrada de manera que el producto fluya continuamente hacia el cliente. Una vez introducido el flujo, permitir que los clientes puedan extraer (tirar) el valor l d de lla cadena d d valor. de l Alentar a los gerentes y a los equipos para que continúen eliminando los desperdicios, despe d c os, en e u un p proceso oceso de mejora ejo a co continua. t ua
NEC ARGENTINA S.A. - LEAN Software Development Page 13
Principios de LEAN Software Development Establecidos p por Poppendieck: pp
1 Eliminar los desperdicios (correspondencia Waste Industriales y SW) 1. 2. Construir Calidad (Los desarrolladores son responsables de la calidad del producto) 3 Crear Conocimiento (El desarrollo 3. d ll es un proceso de d aprendizaje) di j ) 4. Diferir los compromisos (Tiempo -> información -> Mejores decisiones) 5 Entregar 5. E t rápidamente á id t (Desarrollar y liberar rápidamente funcionalidades, no sistemas) 6. Respeto a las personas (Materia Prima del SW: 90% RRHH) 7. Optimizar la totalidad (Una organización LEAN mejora su cadena de valor)
NEC ARGENTINA S.A. - LEAN Software Development Page 14
Temario El concepto LEAN Historia del pensamiento LEAN Herramientas para la aplicación del Concepto LEAN: • Mapeo del flujo del valor • Eliminación Eli i ió de d desperdicios d di i • Equipos Multifuncionales • Controles Visuales • Pull • Kaizen
NEC ARGENTINA S.A. - LEAN Software Development Page 15
Mapeo del Flujo del Valor (1)
T b j :3h Trabajo horas, Ti Tiempo T Total: t l 319 dí días NEC ARGENTINA S.A. - LEAN Software Development Page 16
T Trabajo b j / Ti Tiempo T Total: t l 0 0,04 04 %
Mapeo del Flujo del Valor (2)
Propuesta
Trabajo Espera
3 day 6 wks
Aprobacion del Proyecto
Captura de Requerimientos
Aprobación de los requerimientos por el Cliente
Análisis
Diseño
1 hour
2 wks
2 hours
3 wks
1 wks
2 wks
8 wks
3 wks
2 wk
Revisión del Diseño
4 hours 4 hours
Codificación
Pruebas
Despliegue
2 wks
1 wk
2 wks
2 wks
Trabajo :
10 Weeks + 3 days + 7 hours
E Espera :
28 Weeks W k + 4hs 4h
Tiempo p Total:
38 Weeks + 7 days y + 7 hours
Trabajo / Tiempo Total = 26%
NEC ARGENTINA S.A. - LEAN Software Development Page 17
2 wk
2 wks
Mapeo del Flujo del Valor (3)
Trabajo :
16 Weeks
Espera:
2,6 Weeks
Trabajo j / Tiempo p Total = 86%
NEC ARGENTINA S.A. - LEAN Software Development Page 18
Temario El concepto LEAN Historia del pensamiento LEAN Herramientas para la aplicación del Concepto LEAN: • Mapeo del flujo del valor • Eliminación de desperdicios • Equipos Multifuncionales • Controles Visuales • Pull • Kaizen
NEC ARGENTINA S.A. - LEAN Software Development Page 19
Principales desperdicios: •
Acumulación
•
Espera
•
Movimiento
El peor desperdicio: •
Hacer lo innecesario
NEC ARGENTINA S.A. - LEAN Software Development Page 20
Eliminación de desperdicios:
7 Desperdicios del Sistema de Producción Toyota y ((Shigeo g Shingo) g )
7 Desperdicios en el Desarrollo de Software ((Maryy Poppendieck) pp )
Inventario
Trabajo parcialmente realizado
Extra Procesamiento
Procesos Innecesarios
Sobreproduccion
Funcionalidades innecesaria
Transporte
Cambios frecuentes de actividad
Espera
Espera
Movimiento
Movimiento
Defectos
Defectos
NEC ARGENTINA S.A. - LEAN Software Development Page 21
Eliminación de desperdicios 1) Acumulación de actividades sin completar Análisis
Program.
Test
Despliegue
Req. 1
A
P
T
D
Req. 1
Req. 2
A
P
T
D
Req. 2
Req. 3
A
P
T
D
Req. 3
Req. 4
A
P
T
D
Req. 4
Req. 5
A
P
T
D
Req. 5
Req. 6
A
P
T
D
Req. 6
Req. 7
A
P
T
D
Req. 7
Req. 8
A
P
T
D
Req. 8
A-P-T-D A-P-T-D A-P-T-D A-P-T-D A-P-T-D A-P-T-D A-P-T-D A-P-T-D
Desarrollo en lotes grandes de Requerimientos Desarrollo Lean: Lotes pequeños Desventajas del desarrollo en Lotes • Mayor espera del cliente para recibir el producto • Solo al final se conoce el desempeño real • No hay feedback temprano sobre defectos • Se deben definir todos los requerimientos al comienzo del proyecto, cuando se cuenta con poca información. pobre en el equipo q p • Comunicación p • Mayor esfuerzo de coordinación NEC ARGENTINA S.A. - LEAN Software Development Page 22
Ventajas del desarrollo Lean: • Entrega mas rápida del valor a los Clientes y Usuarios • Feedback temprano de Clientes y Usuarios • Mayor comunicación en el equipo. • Los defectos no permanecen tiempos prolongados en el producto • No hay que tomar todas las decisiones al comienzo proyecto, y , cuando se cuenta con poca p información del p • Menor esfuerzo de coordinación
Eliminación de desperdicios 2) Procesos innecesarios Generación de documentos y mediciones que no se van a emplear Excesivo detalle, en relación con el nivel de entrenamiento Causas: Procesos innecesariamente complejos Falta de comunicación: Departamentalización Falta mejora de los procesos (Kaizen): Siempre lo hicimos así
Recomendaciones: Cuestionar permanentemente la utilidad de cada proceso: • Cual es la utilidad de realizar esta actividad? • Quien va a usar el documento que se está elaborando? elaborando?, Que información necesita? • Que grado de detalle se requiere considerando el nivel de conocimiento de los usuarios? Revisar periódicamente los procesos para simplificarlos (Kaizen). Establecer una buena comunicación con los usuarios. portales colaborativos p para evitar el overhead. Publicar los documentos en p
NEC ARGENTINA S.A. - LEAN Software Development Page 23
Eliminación de desperdicios 3) Funcionalidades innecesarias
No hay peor desperdicio que realizar lo innecesario
Origen g de las funcionalidades innecesarias: Prueba de novedades tecnológicas dentro del proyecto. Perfeccionismo innecesario: dorado a la hoja. Falta de una visión compartida entre usuarios, analistas y desarrolladores Falta de comunicación en el equipo de desarrollo Falta de Feedback temprano sobre el producto Inclusión deliberada de mas funcionalidades que las que el cliente / usuario requiere.
NEC ARGENTINA S.A. - LEAN Software Development Page 24
Temario El concepto LEAN Historia del pensamiento LEAN Herramientas para la aplicación del Concepto LEAN: • Mapeo del flujo del valor • Eliminación de desperdicios • Equipos Multifuncionales • Controles Visuales • Pull • Kaizen
NEC ARGENTINA S.A. - LEAN Software Development Page 25
Equipos Multifuncionales (1)
NEC ARGENTINA S.A. - LEAN Software Development Page 26
Equipos Multifuncionales (2) El equipo trabaja junto, en el mismo lugar físico. Todo el equipo pertenece a un mismo departamento o sector. La comunicación es muy fluida. Multiskill: Si bien existen roles, cada integrante conoce las tareas de sus compañeros, puede opinar y ayudar cuando la exigencia en un determinado tipo de tarea crece. Esto requiere mayor capacitación. Empowerment: Se delega al equipo la autoridad para tomar decisiones durante el proyecto Se cuenta con medios colaborativos de trabajo. El equipo tiene una visión compartida de los objetivos, estado, problemas y riesgos del proyecto (controles visuales).
NEC ARGENTINA S.A. - LEAN Software Development Page 27
Temario El concepto LEAN Historia del pensamiento LEAN Herramientas para la aplicación del Concepto LEAN: • Mapeo del flujo del valor • Eliminación de desperdicios • Equipos Multifuncionales • Controles Visuales • Pull • Kaizen
NEC ARGENTINA S.A. - LEAN Software Development Page 28
Controles visuales
Portales Colaborativos Vi ió compartida. Visión tid Rápido acceso a la información Una única versión de la Verdad Verdad. Portales Colaborativos Paneles de Control (Dashboards) Estado del proyecto p Responsabilidades Objetivos Riesgos Problemas
NEC ARGENTINA S.A. - LEAN Software Development Page 29
Push
Planificación seguimiento i i t y control t l del Proyecto Asignación
Equipo de Desarrollo: Realiza las tareas que le fueron asignadas
P ll Pull
Cliente
Control Visual
Equipo de Desarrollo: Negocia las próximas entregas con el cliente Auto asignación de tareas NEC ARGENTINA S.A. - LEAN Software Development Page 30
Cliente
Mejora
Kaizen
Kaizen
Tiempo
Kaizen: Mejora j continua con la p participación p de todos. Pequeños incrementos, mejoras frecuentes. Se privilegia la acción, antes que las prolongadas preparaciones teóricas. Espacio para el error, potencia la inventiva, existe el UnDo. Realizado por la gente que realiza las actividades, solo ellos saben la mejor manera de trabajar. La mejora no tiene límites, siempre se puede mejorar, insatisfacción sistemática. NEC ARGENTINA S.A. - LEAN Software Development Page 31
Muchas Gracias !