Desarrollo de Software Lean
-
Upload
pablochocron6989 -
Category
Documents
-
view
940 -
download
2
description
Transcript of Desarrollo de Software Lean
Aplicación del concepto LEAN al Desarrollo de SoftwareDesarrollo de Software
UCA, Agosto 2009
TemarioEl concepto LEAN
Temario
Historia del pensamiento LEAN
Herramientas para la aplicación del Concepto LEAN:Herramientas para la aplicación del Concepto LEAN:
• Mapeo del flujo del valor
Eli i ió d d di i• Eliminación de desperdicios
• Equipos Multifuncionales
• Controles Visuales
• Pull
• Kaizen
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software LEAN Software Development Page Development Page 22
TemarioEl concepto LEAN
Temario
Historia del pensamiento LEAN
Herramientas para la aplicación del Concepto LEAN:Herramientas para la aplicación del Concepto LEAN:
• Mapeo del flujo del valor
Eli i ió d d di i• Eliminación de desperdicios
• Equipos Multifuncionales
• Controles Visuales
• Pull
• Kaizen
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software LEAN Software Development Page Development Page 33
El Concepto LEAN
LEAN: Flaco, Magro
El Concepto LEAN
g
El concepto Lean se refiere a procesos ágiles, sin desperdicios,
capaces de crear productos valiosos para clientes y usuarioscapaces de crear productos valiosos para clientes y 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 los desperdicios y eliminarlos
• Saber ver el valor y hacer que fluya
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development, Page LEAN Software Development, Page 44
• Foco en las personas
TemarioEl concepto LEAN
Temario
Historia del pensamiento LEAN
Herramientas para la aplicación del Concepto LEAN:Herramientas para la aplicación del Concepto LEAN:
• Mapeo del flujo del valor
Eli i ió d d di i• Eliminación de desperdicios
• Equipos Multifuncionales
• Controles Visuales
• Pull
• Kaizen
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software LEAN Software Development Page Development Page 55
Historia del concepto LEAN
Taiichi Ohno1912-1990
Sakichi Toyoda 1867-1930
Kiichiro Toyoda 1894-1952
Trabajo
Shigeo Shingo1909-1990
Prototipo A1, 1935Telar tipo G, 1924
Artesanal (Luthier)
Depto 1Proceso 1
Depto 2Proceso 2
James WomackHenry Ford1863-1947
Fred. Taylor1856-1915
Mary Poppendieck
Depto 3Proceso 3
Depto 4Proceso 4
Producción en Lotes
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development, Page LEAN Software Development, Page 66
1908 Ford T 1927 Ford A 1931 1996 20031910
Producción en LotesSiglos XVIII, XIX, (XX y XXI)
PrimerosProductos Ford N,R,S: 1906–1908Productos
Ford: Producción: 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 producirun automóvilun automóvil
• Alta demanda de trabajadores no especializados• Trabajo repetitivo y ausente de creatividad
P d ió i i fl ibilid d bi d d l
F d T 1908 1927
• Producción masiva, sin flexibilidad para cambios de modelos
Ford T: 1908–1927Producción: 15 Millones de vehículos
Ford A: 1927–1931P d ió 5 Mill d hí l
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 77
Producción: 5 Millones de vehículos
Taylor: Gerenciamiento CientíficoDivisión del trabajo para aumentar la productividad.j p p
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 industrialSupresión de toda improvisación en la actividad industrial.
1. Hallar diez o quince obreros (si es posible en distintas empresas y de distintas regiones) que sean particularmenteempresas 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 empleaasí como los útiles y materiales que 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 i t d l i i t l bid l l t4. Eliminar todos los movimientos mal concebidos, los lentos 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
l j l t i l á útil
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 88
emplear mejor los materiales más útiles
Sakichi ToyodaNacido en el hogar de un humilde carpintero japonés en 1867.g p j p
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 unoperador 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 Este concepto fueprincipios fundamentales del Just In Time y del Pensamiento 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. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 99
Kiichiro ToyodaIngeniero 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ábricapara producir 1500 automóviles por mes
Adaptó la tecnología de FORD con nuevos conceptos: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óvilProducció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.Kiichiro fundó, con estos conceptos, las bases del Just in Time.
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 1010
Taiichi OhnoTaiichi 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 quequerian, y en la cantidad que querian en forma simple, eficiente y sin perder tiempo.
A J ó Oh i ó l t f i tA su regreso a Japón, Ohno organizó las transferencias entre procesos como góndolas de supermercado:
El proceso que usa la parte la toma de la góndolap q p gEl proceso que fabrica la parte la repone en la góndolaLa góndola debe tener la menor cantidad de productos posible.
Este es el concepto PULL (Tirar) una de las bases del Sistema de ProducciónEste es el concepto PULL (Tirar), una de las bases del Sistema de Producción Toyota y del Pensamiento Lean.
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 1111
Shigeo ShingoGran 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. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 1212
James WomackFundador y presidente de “Lean Enterprise Institute” www.lean.orggeneralizó las ideas del Toyota Production System en el conceptoLean ThinkingLos principios del Pensamiento Lean según Womack son:os p c p os de e sa e to ea segú o ac so
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 de manera que el producto fluyaajustada y en una secuencia integrada, de manera que el producto fluyacontinuamente hacia el cliente.
Una vez introducido el flujo, permitir que los clientes puedan extraer (tirar) el l d l d d lvalor de la cadena de valor.
Alentar a los gerentes y a los equipos para que continúen eliminando los desperdicios, en un proceso de mejora continua. despe d c os, e u p oceso de ejo a co t ua
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 1313
Principios de LEAN Software DevelopmentEstablecidos por Poppendieck:p pp
1 Eliminar los desperdicios (correspondencia Waste Industriales y SW)1. Eliminar los desperdicios (correspondencia Waste Industriales y SW)
2. Construir Calidad (Los desarrolladores son responsables de la calidad del producto)
3 Crear Conocimiento (El d ll d di j )3. Crear Conocimiento (El desarrollo es un proceso de aprendizaje)
4. Diferir los compromisos (Tiempo -> información -> Mejores decisiones)
5 E t á id t5. Entregar rápidamente (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. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 1414
TemarioEl concepto LEAN
Temario
Historia del pensamiento LEAN
Herramientas para la aplicación del Concepto LEAN:Herramientas para la aplicación del Concepto LEAN:
• Mapeo del flujo del valor
Eli i ió d d di i• Eliminación de desperdicios
• Equipos Multifuncionales
• Controles Visuales
• Pull
• Kaizen
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software LEAN Software Development Page Development Page 1515
Mapeo del Flujo del Valor (1)
T b j 3 h Ti T t l 319 dí T b j / Ti T t l 0 04 %
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 1616
Trabajo : 3 horas, Tiempo Total: 319 días Trabajo / Tiempo Total: 0,04 %
Mapeo del Flujo del Valor (2)
Pro-puesta
Aproba-cion del Proyecto
Captura deRequeri-mientos
Aprobaciónde los reque-rimientos por
el Cliente
Análisis DiseñoRevisión
delDiseño
Codi-ficación Pruebas
Des-pliegue
Espera 6 wks 2 wks 8 wks 3 wks 2 wk 4 hours 2 wks 2 wk 2 wks
Trabajo 3 day 1 hour 2 wks 2 hours 3 wks 1 wks 4 hours 2 wks 1 wk 2 wks
Trabajo : 10 Weeks + 3 days + 7 hours
E 28 W k + 4hEspera : 28 Weeks + 4hs
Tiempo Total: 38 Weeks + 7 days + 7 hours
Trabajo / Tiempo Total = 26%
p y
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 1717
Mapeo del Flujo del Valor (3)
Trabajo : 16 WeeksTrabajo : 16 Weeks
Espera: 2,6 WeeksTrabajo / Tiempo Total = 86%
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 1818
j p
TemarioEl concepto LEAN
Temario
Historia del pensamiento LEAN
Herramientas para la aplicación del Concepto 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. NEC ARGENTINA S.A. -- LEAN Software LEAN Software Development Page Development Page 1919
Principales desperdicios:
• Acumulación
Espera• Espera
• Movimiento
El peor desperdicio:
• Hacer lo innecesario
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 2020
Eliminación de desperdicios:
7 Desperdicios del Sistema de Producción Toyota (Shigeo Shingo)
7 Desperdicios en el Desarrollo de Software (Mary Poppendieck)y ( g g ) ( y pp )
Inventario Trabajo parcialmente realizadoExtra Procesamiento Procesos InnecesariosSobreproduccion Funcionalidades innecesariaTransporte Cambios frecuentes de actividadEspera EsperaEspera EsperaMovimiento MovimientoDefectos Defectos
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 2121
Eliminación de desperdicios1) Acumulación de actividades sin completar
AnálisisA
Program.P
TestT
DespliegueDReq. 1 A-P-T-DReq. 1
A
A
A
A
P
P
P
P
T
T
T
T
D
D
D
D
Req. 2
Req. 3
Req. 4
Req. 5
A-P-T-D
A-P-T-D
A-P-T-D
A-P-T-D
Req. 2
Req. 3
Req. 4
Req. 5
A
A
A
P
P
P
T
T
T
D
D
D
Req. 6
Req. 7
Req. 8
A-P-T-D
A-P-T-D
A-P-T-D
Req. 6
Req. 7
Req. 8
Desarrollo en lotes grandes de Requerimientos Desarrollo Lean: Lotes pequeños
Desventajas del desarrollo en Lotes Ventajas del desarrollo Lean: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
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.
• Se deben definir todos los requerimientos al comienzo del proyecto, cuando se cuenta con poca información.
• Comunicación pobre en el equipo
• Los defectos no permanecen tiempos prolongados en el producto
• No hay que tomar todas las decisiones al comienzo del proyecto, cuando se cuenta con poca información
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 2222
p q p• Mayor esfuerzo de coordinación
p y , p• Menor esfuerzo de coordinación
Eliminación de desperdicios2) Procesos innecesarios
Generación de documentos y mediciones que no se van a emplearExcesivo detalle, en relación con el nivel de entrenamiento Causas:Causas:
Procesos innecesariamente complejosFalta de comunicación: DepartamentalizaciónFalta mejora de los procesos (Kaizen): Siempre lo hicimos así
Recomendaciones:
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? Que información• Quien va a usar el documento que se está 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.Publicar los documentos en portales colaborativos para evitar el overhead.p p
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 2323
Eliminación de desperdicios3) Funcionalidades innecesarias No hay peor desperdi-
cio que realizar lo innecesario
Origen de las funcionalidades innecesarias:g
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 productoFalta de Feedback temprano sobre el producto
Inclusión deliberada de mas funcionalidades que las que el cliente / usuario requiere.
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 2424
TemarioEl concepto LEAN
Temario
Historia del pensamiento LEAN
Herramientas para la aplicación del Concepto 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. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 2525
Equipos Multifuncionales (1)
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 2626
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 proyectoSe 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. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 2727
TemarioEl concepto LEAN
Temario
Historia del pensamiento LEAN
Herramientas para la aplicación del Concepto 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. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 2828
Controles visuales
Portales Colaborativos
Vi ió tidVisión compartida.
Rápido acceso a la información
Una única versión de la VerdadUna única versión de la Verdad.
Portales Colaborativos
Paneles de Control (Dashboards)Paneles de Control (Dashboards)
Estado del proyecto
Responsabilidadesp
Objetivos
Riesgos
Problemas
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 2929
PushPlanificación i i t t lseguimiento y control del Proyecto
Asignación
ClienteEquipo de Desarrollo:Realiza las tareas que le fueron asignadas
Asignación
Realiza las tareas que le fueron asignadas
P llControl
Pull Visual
ClienteEquipo de Desarrollo:Negocia las próximas entregas con el cliente
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 3030
Auto asignación de tareas
KaizenMejora
Kaizen
Tiempo
Kaizen: Mejora continua con la participación de todos.j p p
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.
NEC ARGENTINA S.A. NEC ARGENTINA S.A. -- LEAN Software Development Page LEAN Software Development Page 3131
La mejora no tiene límites, siempre se puede mejorar, insatisfacción sistemática.
Muchas Gracias !