viernes, 12 de julio de 2013

Lean software development

Después de un par de charlitas de introducción a Lean Software Develoment resumo lo siguiente:

Lean es un paradigma y no una metodología. Similar al paradigma ágil, pero las "metodologías" serían por ejemplo SCRUM, KANBAN, XP.

Los principios son:

  1. Eliminar Desperdicios (Elimine la grasa)
  2. Ampliar el aprendizaje (Mente abierta)
  3. Decidir lo mas tarde posible (No se acelere)
  4. Entregar y/o reaccionar lo mas rápido posible (Cambiar con el cambio)
  5. Potenciar el equipo (Todos ponen y todos pueden)
  6. Crear la integridad (Cara a cara) (diferentes aspectos de la solución, no solo el producto)
  7. Ver el todo (Con cucharita) (Visión general, pero aborde cada cosa)


Un poco mas de estos principios:

Eliminar Desperdicios 
Se trata de simplificar y eliminar si es posible aquellas actividades, funcionalidades, esperas, documentos u otros elementos innecesarios que no aporten valor 

Ampliar el aprendizaje 
Se trata de entender que el desarrollo de software requiere de un aprendizaje continuo y que tiene un grado de incertidumbre mayor entre mas temprana sea la fase.  Es por esto que se deben usar diferentes técnicas para ampliar el aprendizaje del producto como por ejemplo los prototipos

Decidir lo mas tarde posible 
Como se mencionó en el principio anterior, siempre va a haber un grado de incertidumbre, por lo cual no debemos tomar decisiones apresuradas y se debe retrasar las decisiones al ultimo momento responsable para tomarlas. Es decir, ni antes, ni despues de cuando deben ser. 


Entregar y/o reaccionar lo mas rápido posible 
El desarrollo ágil debe ser iteractivo e incremental y esto permite que se realicen entregas más rápidas que vayan generando valor a los clientes y usuarios. También se busca obtener retroalimentación lo más pronto posible para disminuir los riesgos y costos de no estar realizando el producto correcto o correctamente

Potenciar el equipo 
El equipo del proyecto debe tener autonomía y auto-gestión, dándoles la confianza para ello y los administradores o directores le deben indicar a los trabajadores que hacer y no como


Crear la integridad 
La idea es lograr un balance entre los distintos aspectos del proyecto y producto para tener en cuenta todo lo que gira al rededor del este como por ejemplo la divulgación , el costo, los requisitos no funcionales, etc. 

Ver el todo 
Se trata de tener una visión completa del proyecto y producto y cada una de sus partes y abordarlas una a una en el momento adecuado

"Piensa en grande, actúa en pequeño, equivócate rápido; aprende con rapidez"