Lean Software Development

Páginas: 11 (2575 palabras) Publicado: 20 de febrero de 2013
Lean software development (LSD)
La metodología de desarrollo de software Lean (LSD) es una translación de los principios y prácticas de la manufactura esbelta (Lean manufacturing: filosofía de gestión enfocada a la reducción de los ocho tipos de "desperdicios" en productos manufacturados) hacia el dominio del desarrollo de software. 

El origen del desarrollo Lean se encuentra en el Sistema deProducción Toyota de los años 80 (primera empresa que lo utilizó) y el método Just in Time (producir los elementos que se necesitan, en las cantidades que se necesitan, en el momento en que se necesitan).
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).

La filosofía Lean analiza los procesos de producción y elimina todo aquello que no produzca valor para el cliente. Es una forma de trabajar que se ha demostrado útil y universal en cualquier negocio.
El LSD pertenece a un método ágil de desarrollo de software. Y comométodo ágil promueve iteraciones en el desarrollo a lo largo de todo el ciclo de vida del proyecto.

El desarrollo Lean puede resumirse en siete principios, similares a los principios de manufactura esbelta:

Eliminar los desperdicios
Consiste en evitar todo aquello que no agregue valor al proyecto.
Todo lo que no añade valor al cliente se considera un desperdicio. Un desperdicio podría sercualquier actividad que puede ser excluida o puede darse el mismo resultado sin llegar a hacerse; los procesos que no son usados por el cliente; los defectos y la baja calidad…
Para distinguir y reconocer los desperdicios existe un mapa de flujo de valor (value stream mapping) y señalar las fuentes de estos. 
Esto debe hacerse iterativamente.

Ampliar el aprendizaje
El mejor enfoque paraencarar una mejora en el ambiente de desarrollo de software es ampliar el aprendizaje. La acumulación de defectos debe evitarse ejecutando pruebas tan pronto como el producto este hecho en lugar de añadir más características.
Este proceso se acelera con unas iteraciones de corta duración.
Los clientes comprenden mejor sus necesidades basándose en el resultado de los esfuerzos del desarrollo y losdesarrolladores aprenden a satisfacer mejor estas necesidades.
Otra idea es promover la solución a través del diálogo con el cliente, así concentran la comunicación en soluciones futuras y no en las posibles.
En resumen, ampliar el aprendizaje es llevar a cabo muchos experimentos rápidos, crear documentación concisa y aplicar la mejor alternativa.

Decidir lo más tarde posible
Hay que hacerque el producto sea tolerante al cambio y aprender lo máximo posible antes de haber tomado una decisión ya irreversible.
El desarrollo siempre tiene asociado una incertidumbre, los mejores resultados se alcanzan con un enfoque basado en opciones por lo que se pueden retrasar las decisiones tanto como sea posible hasta que éstas se basen en hechos y no en suposiciones y pronósticos inciertos. Cuantomás complejo es el proyecto, éste debe estar más dispuesto al cambio, así que los compromisos importantes en las iteraciones deben permitir algún tipo de retraso.
Las iteraciones promueven este principio adaptarse a los cambios y corregir los errores ya que corregir un error puede resultar costoso si se detecta demasiado tarde.

Reaccionar tan rápido como sea posible
Es aconsejable reducir eltiempo de las iteraciones con lotes pequeños y menos cantidad en los pasos y también limitar el trabajo a la capacidad del grupo.
Cuanto más cortas sean las iteraciones, mejor es el aprendizaje y la comunicación dentro del equipo. Cuanto antes se entrega un producto final más pronto se reciben propuestas para incorporarlas en la siguiente iteración. Esto les da la oportunidad de demorarse...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Adaptive Software Development
  • Agent based software development
  • Kanban for software development
  • Development
  • Development
  • Lean
  • No lo lean.
  • lean

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS