How do I apply Payday Loans But now, you have an extra

Los 7 principios del desarrollo Lean

El Desarrollo de Software Lean tiene sus inicios en el Sistema de Producción de Toyota (TPS) y ayuda a las organizaciones de software a optimizar sus procesos y sus métodos de producción de manera de poder entregar sus productos al mercado de manera más rápida y con mejor calidad. El movimiento Lean puede considerarse como un nuevo método de desarrollo que intenta identificar y erradicar todos los problemas y "desventajas" de metodologías antiguas, como Cascada.

 

Lean hace énfasis en las personas y la comunicación - si se respeta a las personas que producen software y se pueden comunicar de forma eficiente, es más probable que logren entregar un buen producto y satisfacer al consumidor final.

 

Los 7 principios

El Desarrollo de Software Lean fue la base para los métodos del Desarrollo Ágil de Software, y sus representantes principales como Scrum o Crystal Clear. Para muchos que conocen el tema, Ágil es tan solo otra palabra para referirse a Lean.

En uno de los libros más populares sobre Lean (Implementing Lean Software Development - from Concept to Cash) , Mary y Tom Poppendieck explican cómo implementar Lean siguiendo siete principios.

1. Eliminar el desperdicio

  • Brindar un liderazgo técnico y de mercado - la organización puede ser exitosa si produce productos innovadores y tecnológicamente avanzados, pero es importante comprender lo que valoran nuestros clientes y conocer la tecnología que se está usando.
  • Crear sólamente cosas de valor - debemos ser cuidados con todos los procesos que sigamos. Por ejemplo, debemos asegurarnos que todos estos procesos son útiles y están enfocados en crear valor.
  • Escribir menos código - mientras más código se tenga, más pruebas se van a necesitar, por lo que se necesitará más trabajo. Si escribiemos pruebas para funcionalidad que no se necesita estamos perdiendo el tiempo.

2. Crear conocimiento

  • Crear equipos de diseño y construcción - el líder del equipo de desarrollo tiene que escuchar a los miembros y hacerles preguntas inteligentes que los insite a buscar respuestas y volver lo más pronto posible con los problemas que surgen, o con las soluciones inventadas.
  • Mantaner una cultura de mejora continua - crear un ambiente en donde las personas estén mejorando continuamente en lo que trabajan - deben saber que no son y no deben ser perfectas - y que siempre tienen algún área que pueden mejorar.
  • Enseñar métodos de resolución de problemas - los equipos de desarrollo deberían comportarse como pequeños centros de investigación, estableciendo hipótesis y realizando varios experimentos rápidos para verificar su validez.

3. Embeber a la calidad

  • Sinronizar - para lograr una alta calidad en el software nos debemos empezar a ocupar de él antes de empezar a escribir una sola línea de código.
  • Automatizar - automatizar las pruebas, la construcción, las instalacionoes, y cualquier cosa que sea rutinaria. Hay que automatizar de una manera inteligente, de forma que las personas puedan mejorar el proceso y cambiar cualqueir cosa que quieran sin preocuparse por si el cambio hace que las cosas dejen de funcionar.
  • Refactor - eliminar la duplicación de código a CERO - cada vez que aparezca la oportunidad, realizar el refactor del código, de las pruebas y de la documentación para minimizar la complejidad.

4. Postergar el compromiso

  • Agendar las decisiones irreversibles hasta el último momento responsable - debemos saber hacia donde queremos ir pero no conocemos el camino del todo, lo vamos descubriendo día a día - lo más importante es mantener la dirección correcta.
  • Romper con las dependencias - los componentes deben estar lo más desacoplados posible para que puedan implementarse en cualquier orden.
  • Mantener opciones - desarrollar múltiples soluciones para todas las decisiones críticas y ver cuales funcionan mejor.

 5. Optimizar el total

  • Enfocarse en el flujo completo de valor - enfocarse en ganar la carrera completa (que es el software). No hay que gastar esfuerzo en optimizar ineficiencias locales, sino en ver el todo y optimizar a la organización en su totalidad.
  • Entregar un producto completo - los equipos necesitan tener buenos líderes, y también buenos ingenieros, vendedores, especialistas de marketing, secretarias, etc. Todos juntos pueden entregar un gran producto final a los clientes.

6. Entregar rápido

  • Trabajar en bloques pequeños - reducir el tamaño del proyecto, acortar los ciclos de entrega, estabilizar el ambiente de trabajo (escuchá lo que te dice la velocidad), repetir lo bueno y erradicar las prácticas que crean obstáculos.
  • Limitar el trabajo a la capacidad - limitar la cola de tareas al mínimo (una o dos iteraciones por delante es suficiente), no hay que tener miedo al quitar elementos de la cola - rechazar cualquier trabajo hasta que se haya vaciado un lugar en la cola.
  • Enfocarse en el tiempo del ciclo, no en la utilización - agregar tareas pequeñas a la cola que no puedan atascar al proceso por un tiempo largo - reducir el tiempo del ciclo y tener pocas cosas para procesar en la cola

 7. Respetar a las personas

  • Capacitar a los líderes de equipo - darles a los líderes de equipo entrenamiento, guías y espacio libre para implmenetar el pensamiento Lean en su ambiente.
  • Mover la responsabilidad y la toma de decisiones al nivel más bajo posible - dejar que las personas piensen y decidan por su cuenta - ellos saben mejor que nadie cómo implementar algoritmos dificiles y aplicar tecnologías de última generación.
  • Fomentar orgullo por el trabajo - fomentar la pasión y la participación del equipo hacia lo que hacen y cómo lo hacen.
Basado en Seven principles of Lean Software Development
Compartir
  • No se han encontrado comentarios

Deja tus comentarios

0

El nuevo Dos Ideas.

Nuevo logo, nuevo buscador, nueva portada, podcast mensual... ¡y muchas novedades más!

Más novedades en Dos Ideas

Los Comentarios.

Javi
Se están cargando Java. Están mezclando un montón de cosas que no son orientadas a objetos y esta sa...
es increíble como una situación mala negativa me trajo hasta este sitio para saber que yo era una pe...
Hola. Muy bueno el post. Quisiera saber que versión de REST es recomendable. RestEasy (JBoss) jerse...
Muy bueno, super claro y lo mejor funciona y deja super claro te felicito
jrg
me gustaría empezar a utilizar Zk, alguien puede decirme como configurar ZK en un proyecto simple.
Tihuilo
Soy nuevo en el desarrollo de software y he escuchado sobre el tema paro no se por donde iniciar, co...

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw