Lean Software Development
Introducción
Lean manufacturing
Producción ajustada – producción sin desperdicios
Modelo de gestión enfocado a la creación de flujo para poder
entregar el máximo valor para los clientes, utilizando para ello los
mínimos recursos necesarios
Metodologías, desarrollo y calidad en la ingeniería de software 2
Objetivo Lean
Seguir un proceso de creación de valor, sin despilfarro (muda o
waste), con el fin de obtener la excelencia en el valor que se
proporciona a cada cliente
La identificación del flujo de valor para el cliente es uno de los
desafíos de Lean
Metodologías, desarrollo y calidad en la ingeniería de software 3
Flujo de valor
Conjunto de acciones necesarias que harán pasar el producto de la
organización por 3 tareas críticas:
o Solución de problemas
• Se inicia en la fase de concepción del producto, sigue durante
el diseño detallado e ingeniería del producto y finaliza en su
producción
o Gestión de la información
• Comienza con la recepción del pedido hasta su entrega
o Transformación física
• Abarca desde la materia prima del producto hasta su
acabado, cuando se entrega al cliente
Metodologías, desarrollo y calidad en la ingeniería de software 4
La eliminación del despilfarro (muda) es un objetivo fundamental de lean
Muda engloba 7 tipos diferentes de despilfarro (Poppendieck, 2003):
Sobreproducción
Inventario
Procesamiento extra
Movimiento
Transporte
Esperas
Defectos
Metodologías, desarrollo y calidad en la ingeniería de software 5
Otros 2 tipos de desperdicios que se deben eliminar y que están
asociados a los procesos de las organizaciones son:
Mura (irregularidad)
o Hace referencia a la poca homogeneidad y a la inconsistencia que
se da en los resultados obtenidos en lo que respecta a calidad y
volumen de los productos fabricados
Muri (trabajo tensionante)
o Hace referencia a trabajos que se imponen debido a una mala
organización en la empresa: realización de tareas peligrosas,
trabajar más rápido de lo habitual o llevar cargas físicas pesadas.
o También hace referencia a las malas condiciones del puesto de
trabajo, lo que afectará al rendimiento y buen funcionamiento de la
organización
Metodologías, desarrollo y calidad en la ingeniería de software 6
Metodologías, desarrollo y calidad en la ingeniería de software 7
Lean no es una metodología
No va decir qué es lo que se debe hacer para conseguir la excelencia
en el valor que se le da al cliente
Se refiere a un conjunto de principios y a un pensamiento a seguir a la
hora de construir productos de cualquier tipo
Metodologías, desarrollo y calidad en la ingeniería de software 8
Principios más importantes de lean:
Valor que se da al cliente y calidad
Eliminación del despilfarro
Mejora continua (Kaizen)
Procesos “pull”
Flexibilidad
Relación a largo plazo con los proveedores
Metodologías, desarrollo y calidad en la ingeniería de software 9
Orígenes del concepto Lean:
Años 90: Libro “The Machine That Changed the World”
Este libro describe el proceso de negocio que seguía la empresa japonesa
Toyota desde los años 50
El método de fabricación de Toyota era el TPS (Toyota Production System)
La base esta en el modelo de producción de vehículos en masa
establecido por Henry Ford y que consiguió:
o Reducir tiempos y costes de producción
o Por medio de una cadena de montaje eficiente, ordenada y con piezas
estandarizadas fabricadas en serie
Metodologías, desarrollo y calidad en la ingeniería de software 10
Orígenes del concepto Lean:
Taiichi Ohno fue el creador del sistema de producción de Toyota, TPS
Autor del libro “Toyota Production System: Beyond Large-Scale Production”
Su estrategia se basaba en 3 principios:
o Construir estrictamente lo necesario
o Eliminar todo lo que no genere valor para el cliente
o Si algo no va bien, parar la producción y solucionar los problemas
Círculo de Ohno: Observación del sistema de producción
Metodologías, desarrollo y calidad en la ingeniería de software 11
Factores de éxito que hay que considerar al implantar la cultura lean:
Compromiso por parte de la dirección
Focalización en el valor que se le da al cliente y la calidad
Implicación de todo el personal que hace el trabajo real
Organización por procesos (workflow)
o Secuencia ordenada de actividades llevadas a cabo en una organización
o Modelo que define el qué (objetivo), cómo (actividades), quién (responsable)
y cuándo (orden) de un proceso de negocio real
Burlton y Matthijssen, 2013
Metodologías, desarrollo y calidad en la ingeniería de software 12
Metodologías, desarrollo y calidad en la ingeniería de software 13
Ciclo de mejora continua de Deming
También conocido como Plan-Do-Check-Act (PDCA)
Técnica utilizada para la resolución de problemas
Se basa en 4 etapas cómo método de mejora en la fabricación de productos
o Plan: ¿Qué se debe hacer, cuándo, quién, cómo y utilizando qué?
o Do: Se llevan a cabo las tareas programadas y se documentan las acciones
realizadas
o Check: Verificar que las tareas han dado los resultados esperados y se documentan
las conclusiones
o Act: Ajustar los planes en base a la información recogida y se documenta el proceso
Metodologías, desarrollo y calidad en la ingeniería de software 14
Metodologías, desarrollo y calidad en la ingeniería de software 15
Metodologías, desarrollo y calidad en la ingeniería de software 16
Total Productive Mainteinance (TPM)
Enfoque encargado de la gestión de la calidad durante el proceso de
mantenimiento de los productos que fabrica una organización
Pilares de TPM o principios 5S: Definen una serie de disciplinas que se
han de seguir cuando se mantiene un producto
o Seiri: Organización en el sentido de ordenación
o Seiton: Orden en el sentido de sistematización
o Seiso: Limpieza
o Seiketsu: Estandarización
o Shutsuke: Disciplina
Metodologías, desarrollo y calidad en la ingeniería de software 17
Relación de lean con la ingeniería del software
Interpretación de los principios 5S aplicados al desarrollo del software:
o Seiri: Organización en el sentido de ordenación
• Alta cohesión de cada componente y nomenclatura de elementos coherente
o Seiton: Orden en el sentido de sistematización
• Cada parte del código debe localizarse en el lugar que se le asignó
o Seiso: Limpieza
• Eliminar comentarios redundantes
o Seiketsu: Estandarización
• Todo el equipo debe seguir los libros de referencia establecidos (estándares)
o Shutsuke: Disciplina
• Seguir normas de estilo para el nombrado de clases (código legible)
Metodologías, desarrollo y calidad en la ingeniería de software 18
Relación de lean con la ingeniería del software
Mary y Tom Poppendiek popularizaron el término lean aplicado a la IG SW
Lean Software Development
El desarrollo ágil tiene como objetivo eliminar todo el despilfarro posible
que acompaña el proceso de construcción de software
Metodologías, desarrollo y calidad en la ingeniería de software 19
Relación de lean con la ingeniería del software
Construir software no es igual que construir coches
Por ello, hay diferencias entre el desarrollo de software y la
producción en el pensamiento lean
Metodologías, desarrollo y calidad en la ingeniería de software 20
Relación de lean con la ingeniería del software
Resumen de los principios aplicables de lean al desarrollo del software
(Poppendieck, 2003):
o Eliminar el despilfarro
o Amplificar el aprendizaje: Proceso de aprendizaje continuo
o Retrasar las decisiones lo más que se pueda: Control de la incertidumbre
o Realizar entregas lo más rápido posible
o Dar más valor al equipo
Metodologías, desarrollo y calidad en la ingeniería de software 21
Referencias
Garzás, J., Enríquez de S., J.A. e Irrazábal, E. (2013). Gestión Ágil
de Proyectos Software. Kybele Consulting.
Poppendieck, M. y Poppendieck, T. (2003). Lean Software
Development: An Agile Toolkit. Addison Wesley.
Womack, J.P. y Jones, D.T. (2012). Lean Thinking: Cómo utilizar el
pensamiento Lean para eliminar los despilfarros y crear valor en la
empresa. Gestión 2000. Traducción al castellano del libro:
Womack, J.P. y Jones, D.T. (2003). Lean Thinking: Banish Waste
and Create Wealth in Your Corporation, Revised and Updated.
Simon + Schuster UK.
Womack, J.P., Jones, D.T. y Roos, D. (2007). The Machine That
Changed the World: The Story of Lean Production-- Toyota's
Secret Weapon in the Global Car Wars That Is Now Revolutionizing
World Industry. Scribner.