equipu

TiQMAoprk3YOR-nNO7b1lgSWA.jpg

Seguramente aquellos que estéis leyendo este artículo ya hayáis oído hablar de la filosofía Lean aplicada a la fabricación, adaptación del sistema de producción de Toyota y de Lean IT aplicable a la gestión de productos y servicios de tecnología de la información (IT).

La idea principal de la filosofía Lean es aplicar un método sistemático consistente en eliminar los desperdicios, o lo que es lo mismo, el trabajo que no aporta valor al resultado final (servicio o producto).

 

Principios Lean aplicables al desarrollo de software

El desarrollo de software bajo la filosofía Lean se puede resumir en siete principios:

  1. Eliminar desperdicios/restos
  2. Amplificar el aprendizaje
  3. Tomar decisiones lo más tarde posible
  4. Entregar lo antes posible
  5. Potenciar el equipo
  6. Crear la integridad
  7. Visualizar todo el conjunto

1.Eliminar desperdicios / restos

Por desperdicio o basura consideramos todo aquello que no aporta valor al cliente. En Lean y en su nombre original en japonés se conoce como Muda 無駄

Dentro del desarrollo de software podríamos incluir los siguientes elementos:

  • Código generado que ofrece funcionalidades no deseadas o necesarias
  • Retrasos en el proceso de desarrollo de software
  • Mala toma de requisitos
  • Problemas con la comunicación interna
  • Documentación excesiva o mal procedimentada

2.Amplificar el aprendizaje

Es de vital importancia que todos los miembros del equipo de desarrollo trabajen con una mentalidad de aprendizaje continuo. El hecho de que un desarrollador trabaje con una tecnología o lenguaje concreto (JavaScript, .NET, J2EE, Angular, NodeJS, etc.) no quiere decir que no pueda aprender de otros compañeros o proyectos.

Estamos en una era en la que la tecnología que hoy es noticia en unos días puede haber cambiado radicalmente. Por este motivo los principales implicados tienen que estar al día tanto por su bien como profesionales como por el bien de las empresas de desarrollo de software.

 

3.Tomar decisiones lo más tarde posible

Este principio que a priori puede parecer malo desde un punto de vista tradicional (ciclo de vida en cascada) en la filosofía Lean es primordial. Los requisitos de los clientes pueden cambiar de un día para otro, bien por cambios en las necesidades o bien por una mala definición de los mismos.

En un modo tradicional (sin aplicar Lean) el proyecto parte de unos requisitos iniciales que condicionan todo el ciclo de desarrollo de software y cualquier cambio plantea replanificación y adición de Muda al proyecto.

En una filosofía Lean, Agile generalmente, los requisitos suelen ser sustituidos por user stories que están más cerca de la necesidad real. Por este motivo podemos esperar a construir el software hasta que la user story esté definida claramente y sin ambigüedades.

 

4.Entregar lo antes posible

En un modelo Lean, las entregas de software son más frecuentes incluyendo features alineadas con las user stories. Por este motivo, cada entrega incluirá funcionalidades que necesitan los usuarios lo antes posible basadas en prioridades, impacto, valor o cualquier otro motivo.

 

5.Potenciar el equipo

Facilitar que los desarrolladores participen en la toma de decisiones de tiempos asociados a tareas, priorización de las mismas y demás hacen que los miembros del equipo se sientan parte importante en él.

Además, los propios desarrolladores saben de primera mano qué tareas cuestan más, cuales menos y qué implicaciones tienen el ciclo de vida del proyecto.

Técnicas como el Planning Poker en las que se asignan pesos, esfuerzos o complejidades a las tareas a realizar caen dentro de este principio.

 

6.Crear la integridad

Contar con un buen sistema de integración continua que incluya pruebas automatizadas, builds, pruebas de usabilidad son críticas para que un software sea fácil de mantener, de mejorar y de reutilizar. Con esto evitaremos añadir Muda a dicho software e intentar aprovechar lo aprendido de proyectos anteriores.

 

7.Visualizar todo el conjunto

La consigna “Pensar en grande, actuar en pequeño, equivocarse rápido y aprender con rapidez” podrían resumir los siete principios Lean para el desarrollo de software.

Analizar las interacciones de nuestro software con el resto de sistemas dentro de la compañía nos permitirán estudiar posibles mejoras y cambios que redunden en una mejor experiencia de usuario y aporten un mayor valor para el cliente y para el equipo del proyecto.

 

Situación no ideal vs Situación ideal

Además de la Muda, ya mencionada como todo aquello que no aporta valor al cliente, también contamos con otros dos términos, Muri Mura relacionados con la filosofía Lean.

El primero hace referencia a la sobrecarga de trabajo a alguno de los miembros del equipo y el segundo a errores de balanceo de trabajo en función del proyecto.

Conclusión

Los siete principios Lean nos facilitarán construir aplicaciones más fiables, más seguras, con menos errores, con mejoras frecuentes aprovechando al máximo el uso de los recursos y el presupuesto y tiempo disponible garantizando el valor ofrecido al cliente.

Como dijo precisamente el fundador de Toyota, Sakichi Toyoda (1867-1930) “Antes de decir que no puedes hacer algo, inténtalo”.

Fuente: http://www.bit.es/knowledge-center/lean-software-development-lsd-los-siete-principios/

Publicaciones de este equipo
Comparte con tus amigos

Acerca de quién lo publicó

Hola mi nombre es Carlos. Soy Parte de EQUIPU desde el 20 de July del 2015, puedes ver más sobre mi visitando mi perfil dando clic en mi foto.

¿Te interesaría crear tu propio artículo?

CREAR Artículo

Otros artículos que pueden interesarte

Artículo
«El Verbo se ha abreviado… El Hijo mismo es la Palabra; la Palabra eterna se ha hecho pequeña, tan pequeña como para estar en un pesebre. Se ha h
Artículo
El equipo de rugby "Los Espartanos" podría integrar la lista de los "inventos" surgidos un poco por azar, pero cu
Artículo
    Elon Musk anunció el jueves que había lanzado todas las patentes del fabricante de automóviles eléctricos Tesla, como parte de un esfuerzo
Artículo
La Gioconda Para la ópera de Amilcare Ponchielli, véase La Gioconda (ópera). «Mona Lisa» redirige aquí. Para otras acepciones, véase Mo