0% encontró este documento útil (0 votos)
264 vistas9 páginas

Lean Software Development

Lean Software Development es una metodología que busca maximizar el valor para el cliente eliminando desperdicios y optimizando procesos en el desarrollo de software. Utiliza roles como el equipo de desarrollo y el líder de equipo, así como artefactos como el tablero Kanban y el producto mínimo viable. Ejemplos de su aplicación incluyen empresas como Intel y Spotify, que han mejorado su eficiencia y adaptabilidad mediante estos principios.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
264 vistas9 páginas

Lean Software Development

Lean Software Development es una metodología que busca maximizar el valor para el cliente eliminando desperdicios y optimizando procesos en el desarrollo de software. Utiliza roles como el equipo de desarrollo y el líder de equipo, así como artefactos como el tablero Kanban y el producto mínimo viable. Ejemplos de su aplicación incluyen empresas como Intel y Spotify, que han mejorado su eficiencia y adaptabilidad mediante estos principios.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Ingeniería en Sistemas de Información

Comisión A

Sede Posadas

Paradigmas y Lenguajes de Programación I

Alumnos:
Valentina Carajabal (45.645.605)

Leandro Nicolas Aguilera Danese (46.831.966)

Agustin Ezequiel Schenone Bravo (49.640.256)

Priscila Avril Itatí Galeano (46.478.627)

Bruno Daniel Lopez (47.109.622)


Lean Software Development

1.​ ¿Qué es y cuál es su objetivo principal?


2.​ ¿Qué roles o artefactos utiliza? (ej: Scrum Master, tablero Kanban)
3.​ ¿Qué prácticas o ceremonias son típicas? (ej: Sprints, Pair
programming).
4.​ Ventajas y desventajas.
5.​ Un caso de estudio real (ej: Spotify usa Scrum, Toyota aplica Lean).
1) Lean Software Development (LSD) es una metodología de desarrollo de software basada
en los principios del Lean Manufacturing de Toyota. Su enfoque se centra en eliminar
desperdicios, optimizar el flujo de trabajo y entregar valor rápidamente al cliente.

Objetivo principal
El objetivo principal de Lean Software Development es maximizar el valor para el cliente
minimizando el desperdicio. Esto se logra optimizando procesos, reduciendo tareas
innecesarias y asegurando que cada esfuerzo del equipo contribuya directamente a la entrega
de software de alta calidad.

Principios clave
1.​ Eliminar el desperdicio (waste removal) → Evitar tareas innecesarias, código
redundante, documentación excesiva y retrasos en la entrega.
2.​ Amplificar el aprendizaje → Fomentar la experimentación, la retroalimentación
rápida y la mejora continua.
3.​ Tomar decisiones lo más tarde posible → Reducir riesgos y permitir flexibilidad en el
desarrollo.
4.​ Entregar lo más rápido posible → Iteraciones cortas y entregas frecuentes para
responder mejor a las necesidades del usuario.
5.​ Empoderar al equipo → Fomentar la autonomía y la toma de decisiones en los
desarrolladores.
6.​ Construir calidad en el proceso → Detectar errores temprano y aplicar pruebas
continuas.
7.​ Optimizar el conjunto, no solo las partes → Mejorar el flujo de trabajo general en
lugar de solo optimizar tareas individuales.
Esta metodología es especialmente útil en entornos ágiles y ayuda a los equipos a ser más
eficientes y adaptables a los cambios del mercado o del cliente.
2) ¿Qué roles o artefactos utiliza?

Lean no define roles formales como Scrum (Scrum Master, PO, etc.), pero en la
práctica los equipos suelen asumir responsabilidades que se alinean con estos
principios:

a.

Equipo de Desarrollo

●​ Multidisciplinario y autónomo.
●​ Se encarga de programar, probar, diseñar e implementar.
●​ Participa activamente en la toma de decisiones.

b.

Líder de equipo / Facilitador

●​ Similar al rol del Scrum Master, pero más enfocado en eliminar


desperdicios y mejorar procesos.
●​ Ayuda a identificar cuellos de botella y fomenta la mejora continua.

c.

Stakeholders

●​ Participan desde el inicio.


●​ Proveen feedback constante.
●​ Ayudan a definir el valor real del producto.

d.

Responsables de producto (a veces un Product Owner)


●​ Aunque no es obligatorio, suele haber alguien encargado de definir la
visión del producto, priorizar funcionalidades y representar al cliente.

Artefactos

Los artefactos en Lean se centran en visualizar el flujo de trabajo y eliminar lo


que no aporta valor:

a.

Kanban Board (Tablero Kanban)

●​ Herramienta visual para gestionar el flujo de trabajo.


●​ Muestra tareas en columnas como: Por hacer – En progreso – En testing –
Hecho.
●​ Permite detectar cuellos de botella.

b.

MVP (Producto Mínimo Viable)

●​ Versión inicial del producto con lo mínimo necesario para generar valor y
recibir feedback.

c.

Ciclo de retroalimentación

●​ Puede ser una demo, entrevista con usuario o prueba de usabilidad.


●​ Se usa para aprender y ajustar lo antes posible.

d.

Métricas Lean
●​ Lead Time: Tiempo desde que se inicia una tarea hasta que se entrega.
●​ Cycle Time: Tiempo que tarda una tarea en completarse una vez que
comienza.
●​ Throughput: Cantidad de trabajo completado en un período de tiempo.

e.

Documentación ligera

●​ Solo se documenta lo necesario para evitar desperdicio. Se prioriza la


comunicación directa.

3)Prácticas típicas en Lean Software Development:

a). Eliminación del desperdicio (Waste)

●​ Revisión continua del proceso para eliminar tareas que no agregan valor (por ejemplo:
documentación innecesaria, trabajo no utilizado, multitarea, espera entre etapas, etc.).

b). Entrega rápida (Fast Delivery)

●​ Entregas frecuentes y pequeñas (por ejemplo: despliegues continuos o entregas


incrementales).
●​ Minimizar el lead time (tiempo desde que se plantea una idea hasta que se entrega al
usuario).

c). Desarrollo basado en el aprendizaje

●​ Feedback continuo: demostraciones frecuentes, pruebas tempranas con usuarios.


●​ Pruebas automatizadas y validación continua.
●​ Revisión de hipótesis antes de desarrollar soluciones complejas.

d). Toma de decisiones lo más tarde posible (Decidir lo más tarde posible)

●​ Evitar decisiones prematuras, mantener opciones abiertas hasta tener la mayor


cantidad de información posible.
●​ Diseño evolutivo.

e). Compromiso del equipo (Empower the team)

●​ Equipos autoorganizados.
●​ Participación en la toma de decisiones.
●​ Fomento del aprendizaje colectivo.

f). Construcción de calidad desde el principio

●​ Integración continua.
●​ Desarrollo guiado por pruebas (TDD).
●​ Refactorización constante.

g). Optimización del todo

●​ Pensar en el sistema completo en lugar de optimizar por partes.


●​ Alinear los objetivos del negocio con los del equipo técnico.

Ceremonias (inspiradas en Lean y comunes en equipos ágiles que aplican LSD):

Aunque no son obligatorias ni formales como en Scrum, algunos equipos Lean


utilizan ceremonias como:

●​ Daily Stand-up: reuniones diarias rápidas para sincronizar al equipo.


●​ Kanban Board Reviews: seguimiento del flujo de trabajo visual (WIP – trabajo en
proceso).
●​ Retrospectivas: revisar el proceso y aplicar mejoras continuas.
●​ Reuniones de planificación ligera: sesiones breves para priorizar el trabajo según el
valor.

4) Ventajas de Lean Development:


●​ Eliminación de Residuos: La eliminación de los residuos conduce a la
eficiencia global del proceso de desarrollo. Esto a su vez acelera el proceso
de desarrollo de software que reduce el tiempo y el costo del proyecto.
●​ Entrega Oportuna: La entrega temprana del producto es una ventaja
definitiva. Esto significa que su equipo de desarrollo puede ofrecer mayor
funcionalidad en un corto periodo de tiempo, por lo tanto, permite que más
proyectos puedan ser entregados. Esto va a satisfacer tanto su departamento
de finanzas, como a los clientes finales.
●​ Empoderamiento del equipo: El empoderamiento del equipo de desarrollo
ayuda a desarrollar la capacidad de decisión de los miembros del equipo que
a su vez, crea un equipo más motivado.

Desventajas de Lean Development:

●​ Dependencia del equipo: El proyecto depende en gran medida de la cohesión


del equipo y los compromisos individuales de los miembros del equipo. En la
mayoría de las profesiones esto podría ser un factor muy importante.
●​ El éxito depende del equipo: El éxito del proyecto depende de la disciplina de
los miembros del equipo así cómo sus habilidades técnicas. Si usted no tiene
un equipo de personas con buenas habilidades que se complementen entre sí,
entonces usted tiene un problema inmediato.
●​ Toma de decisiones tardías: Por lo regular la toma de decisiones es
complicada, dado que se tiene un cierto miedo al tomarlas al momento y es
por ello que se toman muy tarde. Debe existir la toma de decisiones de
manera segura y a su tiempo correspondiente.
●​ Personal Correcto: Se tiene que tener al personal correcto trabajando en el
área correcta para no tener problemas al momento de hacer su trabajo.

5. Un caso de estudio real - Lean Software Development:

Un caso real del uso de Lean Software Development es Intel. La empresa


adoptó principios Lean para mejorar la eficiencia en sus procesos de desarrollo
de software. Aplicaron prácticas como la eliminación de desperdicios, entrega
rápida, mejora continua (Kaizen) y calidad incorporada desde el inicio. Esto les
permitió reducir los tiempos de entrega, aumentar la productividad y adaptarse
mejor a los cambios del mercado. El enfoque Lean ayudó a Intel a crear
productos de mayor calidad de forma más ágil y eficiente.

Otro ejemplo representativo es Toyota, ya que el modelo Lean nació a partir del
Sistema de Producción de Toyota (TPS). Aunque surgió en la industria
automotriz, sus principios fueron adaptados al desarrollo de software,
manteniendo el enfoque en la eficiencia, la mejora continua y la eliminación de
desperdicios.

Otros casos conocidos de empresas que han aplicado principios Lean en su


desarrollo de software incluyen:

●​ Spotify, combinando Lean con Scrum para mantener entregas continuas y

adaptabilidad.​

●​ Basecamp, enfocándose en la simplicidad, evitando funciones

innecesarias.​

●​ Ericsson, utilizando Lean para escalar sus procesos ágiles y mejorar la

calidad del producto.​

Estos ejemplos demuestran cómo Lean puede adaptarse a distintos contextos y


tipos de empresa.

También podría gustarte