Lean Software Development: la estrategia japonesa aplicada al desarrollo software ágil

El término “Lean” o “Lean Manufacturing” (cuya traducción sería algo así como fabricación esbelta) es otro término que, al igual que el Kanban (te recomiendo este post sobre Kanban), tiene su origen en Toyota. De hecho, “Lean” es sinónimo de Toyota Production System, una estrategia de fabricación aplicada con mucho éxito en Japón y ahora muy famosa en el mundo del software, muchas veces bajo el término de Lean Software Development.

En los 50 la industria japonesa estaba recuperándose de la segunda guerra mundial y logró con gran éxito aplicar a sus fábricas de coches los conceptos de calidad en la producción creados por los principales gurús estadounidenses, de entre los que destaca Deming. La paradoja fue que siendo métodos idealmente originados por estadounidenses… fueron aplicados por los japoneses, convirtiendo a Japón líder en la industria automovilística, pasando por encima de los EEUU.

El artífice del Lean, quien introdujo esta nueva manera de fabricar en Toyota, fue Taiichi Ohno (1912 – 1990), cuya estrategia se fundamentó en tres bases:

  • Construir sólo lo necesario.
  • Eliminar todo aquello que no añade valor.
  • Parar si algo no va bien (lo que está relacionado con el principio de cero defectos).

Además, conviene destacar que el Lean incluye siete importantes principios, los siguientes:

  1. Eliminar desperdicios (Eliminating Waste)
  2. Amplificar el aprendizaje (Amplifying Learning)
  3. Decidir lo más tarde posible (Deciding as Late as Possible)
  4. Entrega lo más rápido posible (Delivering as Fast as Possible)
  5. Capacitar, potenciar, al equipo (Empowering the Team)
  6. Construir con integridad (Building Integrity In)
  7. Ver el todo (Seeing the Whole)

Y en lo que refiere al primer punto, los desperdicios, el Lean habla de que un desperdicio es todo aquello innecesario, todo añadido del que se puede prescindir, donde se destacan los siguientes siete siguientes desperdicios:

  1. Sobreproducción
  2. Tiempo de espera
  3. Transporte
  4. Inventarios innecesarios
  5. Transportes innecesarios
  6. Defectos
  7. Sobre procesamiento, o procesos inadecuados

Hay quien añade un desperdicio más: el talento humano (desperdiciando la creatividad). En la última edición del libro Lean Thinking se añadió este octavo desperdicio.

El Lean, el Lean Software Development y los frameworks ágiles

El desarrollo ágil es un paraguas que incluye varios frameworks (Scrum, XP, FDD, etc.). Todas ellas tienen en común que siguen en mayor o menor medida los valores y principios del manifiesto ágil. Y hay incluso quien afirma que las ideas de Lean y las ideas agiles son tan similares que se dice que aplicar la filosofía ágil es aplicar la filosofía Lean. Y un proceso Lean, es un proceso ágil.

La conexión de lo ágil con el Lean viene de que muchos creadores de métodos ágiles estuvieron influenciados por los métodos Lean, como por ejemplo Mary y Tom Poppendieck. Mary, esposa de Tom, trabajó en una fábrica que usaba el método Lean, y Tom era un desarrollador software. De ahí que Mary y Tom Poppendieck sean los pioneros en la aplicación del Lean al software. Y que escribieran el libro que ha inspirado las ideas del Lean aplicado al desarrollo software. Una paradoja más: aunque la filosofía ágil rechaza que el proceso de desarrollo software sea un proceso de fabricación industrial tradicional (como el que sucede al construir un coche o una casa)… los agilistas han tenido una gran influencia y adopción de los métodos de fabricación de Toyota.

Lean Software Development

Lean Software Development es una adaptación del “Lean Manufacturing” de Toyota al desarrollo software ágil. Lean Software Development es una metodología ágil desarrollada por los mencionados Mary and Tom Poppendieck. Dicha metodología, como bien dice su nombre, contempla los principios Lean de Toyota.

En Lean Software Development podemos encontrar una adaptación al desarrollo software de los siete principios Lean, los cuales comentamos antes. De hecho, el libro de de Mary y Tom Poppendieck, el  “Lean Software Development: An Agile Toolkit”, dedica un capítulo a cada principio Lean. Y así, la metodología tiene como objetivo eliminar desperdicios, seleccionando aquellas características que realmente aportan valor, y da especial importancia a la velocidad y la eficiencia.

Algunas fuentes y referencias de interés sobre Lean Software Development

Como se puede entender, esto es sólo el principio, este post es apenas un resumen de todo lo que se puede leer sobre Lean Software Deveolpment. Por ello, para el que necesite más, además de los comentarios de este post, os dejo algunos textos.

Algunas de las ideas de la relación de lo ágil con el Lean están extraídas del artículo “Agile vs Lean” de Fowler. También hay una buena explicación del origen y relación con lo ágil (XP) en “Lean, Agile” de David Harvey. En lo que refiere a “Lean Software Development”, el libro de referencia es “Lean Software Development: An Agile Toolkit” de Mary y Tom Poppendieck.

Y para difundir el conocimiento… comparte y tuitea el post, please.

6 comentarios en “Lean Software Development: la estrategia japonesa aplicada al desarrollo software ágil”

  1. Pingback: Bitacoras.com

  2. Pingback: Agilidad y Lean Startup: gestionando de manera ágil la creación de starups y nuevas líneas de negocio - Javier Garzás, sobre calidad software y otros temas relacionados

  3. Pingback: Ojo, que agilidad y lean no son exactamente lo mismo, aunque se parezcan mucho (dejo 5 diferencias) - Javier Garzás, sobre calidad software y otros temas relacionados

  4. Pingback: Los principales hitos históricos de la agilidad, desde los años 50 - Javier Garzás | Javier Garzás

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Share This
Ir arriba