Lean Software Development . La metodología “LSD”
Enviado por eduardocrema1993 • 24 de Abril de 2019 • Informe • 2.112 Palabras (9 Páginas) • 1.619 Visitas
Lean Software Development
La Metodología de Lean Software Development que es sus siglas se resume como “Metodología LSD” y lo que significa es básicamente que es una metodología ágil, fina y o esbelta a la hora del desarrollo y la gestión; es un tipo de proceso que se basa en los principios y las practicas de la forma de producir de “Lean manufacturing” o “production ajustada” que a su vez esta es un modelo de gestión que se enfoca en minimizar las pérdidas de los sistemas de manufactura y maximizar el valor del producto final para él cliente. Para poder realizar esto Lean manufacturing utiliza la mínima cantidad de recursos y se focaliza en la reducción de ocho tipos de desperdicios
Estos 8 tipos de desperdicios son:
- Sobreproducción.
- Tiempo de espera.
- Transporte.
- Exceso de procedimientos.
- Inventario.
- Movimientos.
- Defectos.
- No utilizar la creatividad de la gente.
Esta metodología para desarrollo de sistemas de software, proviene de la Empresa Toyota en Japón creada dicha metodología entre 1946 y 1975, y su implementación por primera vez se adjudica a el Sistema de producción llamado en su momento como metodología de “Producción Justo-a-tiempo” ya que de igual manera se basaba en producir sólo lo necesario, en el momento justo y en la cantidad necesaria; esto hablando a nivel de manufactura y producción, pero con el tiempo implementado en todas las áreas de la empresa.
El término de Lean Software Development se utilizó por primera vez como título de una conferencia organizada por la iniciativa ESPRIT de la Unión Europea para hablar de desarrollo ágil de software. La idea principal de la Metodología de Lean Software Development es aplicar un método sistemático que consistente en eliminar los innecesario, o en otras palabras el trabajo que no aporta valor al resultado final del producto o servicio que se desea entregar. Aunque “LSD” viene de que muchos creadores de métodos ágiles, que estuvieron influenciados por los métodos “Lean Manufacturing”, como por ejemplo Mary y Tom Poppendieck.
Mary 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.
La metodología “LSD” se fundamenta en construir un equipo muy preparado, motivado y unido de personas o en este caso desarrolladores, que sean capaces de llevar a cabo cualquier tarea en poco tiempo, enfocándose mas a la eficiencia, la relación entre los componentes y descartando la mayoría de procesos burocráticos que conlleva normalmente la producción de un desarrollo de sistema de software.
Los activos más importantes a tener en cuenta cuando se está desarrollando un proyecto bajo la metodología “LSD” no son tanto el tiempo o el dinero que se está invirtiendo (claro que de igual manera son muy importante dentro del desarrollo del sistema) sino el grado de compromiso y, sobre todo, cuánto está aprendiendo el equipo ya que se considera que cuanto más hayan aprendido los miembros del equipo y más unidos se sientan, la cantidad de tiempo y dinero necesaria para llevar a cabo los desarrollos de sistemas será cada vez menor.
La Metodología “LSD” como tal se basa o se puede resumir en 7 Grandes Principios:
- Eliminar desperdicios/restos
- Amplificar el aprendizaje
- Tomar decisiones lo más tarde posible
- Entregar lo antes posible
- Potenciar el equipo
- Crear la integridad
- Visualizar todo el conjunto
[pic 1]
De los Cuales se detallarán a continuación.
- Eliminar desperdicios/restos
Por desperdicio o resto se considera todo aquello que no sea necesario o no aporte valor al cliente. Como evitar definir los requerimientos a detalle tan temprano cuando se sabe que se van a solicitar mas cambios, apurar el desarrollo del software, código generado con funcionalidades no deseadas o innecesarias.
- Amplificar el aprendizaje
Es muy importante 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 no quiere decir que no pueda aprender de otros compañeros o de otros proyectos.
- Tomar decisiones lo más tarde posible
A diferencia de las metodologías tradicionales como por ejemplo la de ciclo de vida en Cascada en donde los requerimientos se toman al principio lo más detallado posible, en “LSD” se comienza a trabajar con requisitos muy generales, ya que 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. Dejar las decisiones para el final introduciendo opciones en el desarrollo, aunque cueste más desarrollar las opciones, la reducción del riesgo lo compensara.
- Entregar lo antes posible
Entregar lo antes posible y con una buena velocidad, esto mejora el aprendizaje y dará transparencia en el proceso. Por este motivo, cada entrega incluirá funcionalidades que necesitan los usuarios lo antes posible basadas en prioridades, impacto, valor o cualquier otro motivo.
- Potenciar al Equipo
Facilitar que los desarrolladores y las personas encargadas del proyecto participen en la toma de decisiones ayudará a la priorización de las mismas y además hacen que los miembros del equipo se sientan parte importante en él. Las Empresas de software a su vez tienen que dejar un tiempo para invertir en formación, reestructuración, y organizar recursos para así poder crecer.
- Crear la Integridad
Se necesita contar con un buen sistema de integración continua (Integridad significa que los componentes separados del sistema funcionan bien juntos, como en un todo, logrando equilibrio entre la flexibilidad, mantenibilidad, eficiencia y capacidad de respuesta) que este incluya pruebas automatizadas, builds, pruebas de usabilidad ya que son críticas para que un sistema o software sea fácil de mantener, de mejorar y de reutilizar.
- Visualizar todo el Conjunto
Hay que ver el conjunto, no solo el producto o el proceso, y siempre aplicando sentido común. “Pensar en grande, actuar en pequeño, equivocarse rápido y aprender con rapidez” podrían resumir estos siete principios de “LSD”. Analizar las interacciones de nuestro software con el resto de sistemas dentro de la Empresa permitirá estudiar posibles mejoras y cambios que aporten un mayor valor para el cliente y para el equipo del proyecto.
...