Вы находитесь на странице: 1из 27

LEAN

Paola Celis L
• Puesto en práctica por Toyota y Honda
• Toma el concepto Just In Time (JIT)
introducido por Toyota, donde se ordenaban
partes en pocas cantidades, basándose en
ciclos de producción a corto plazo, de modo
de disminuir la mantención de bodegas de
inventario.
• Enfocado a entregar el máximo valor para el
cliente, con los mínimos recursos.

Paola Celis L
• LEAN toma el concepto de JIT y reexamina el valor del cliente.
• El primer paso en LEAN, es determinar qué es lo que los
clientes valoran del producto.
• Para LEAN, en cada paso de la producción del producto se
agrega algo de valor que requiera el cliente.

Calidad de
sonido

Precio

Portabilidad
Paola Celis L
Método de desarrollo ágil para proyectos a medio
plazo.
• Se concibe una idea
• Se programa
• Se lanza un prototipo que se ofrecen a un
conjunto de personas para que lo prueben y
poder analizar su comportamiento
• Una vez analizado, se toman decisiones, se varía
el rumbo, se desarrolla rápidamente y se repite el
análisis con un nuevo prototipo

Paola Celis L
Filosofía LEAN
• Construir sólo lo necesario.
• Eliminar todo aquello que no añade valor.
• Parar si algo no va bien

Paola Celis L
Principios

“Pensar en grande, actuar en pequeño, equivocarse rápido y aprender con rapidez”

Paola Celis L
Eliminar desperdicios
Por desperdicio o basura se considera todo aquello que no
aporta valor al cliente. En Lean y en su nombre original en
japonés se conoce como Muda 無駄
Procesos
extras
Trabajo
Actividades
parcialmente
de gestión
hecho

Desper Características
Defectos
dicios extras

Movimientos Cambio de
innecesarios tareas

Esperas
Paola Celis L
Eliminar desperdicios
Trabajo parcialmente hecho:
Es una de las fuentes de desperdicio más peligrosas, puesto que un
trabajo no se considera como terminado hasta que no se encuentra en
el sistema en producción y, si no llega a estarlo, puede llegar a suponer
la pérdida de toda la inversión realizada.
• Documentación sin codificar: documentos de requisitos y de diseño
técnico que aún no se comienzan a implementar.
• Código sin consolidar: Minimizar situaciones como código sin subir
al repositorio o desarrollos paralelos de un mismo recurso.
• Código sin probar
• Código sin documentar
• Código sin desplegar: Los resultados deben ponerse en producción,
evitando demoras

Paola Celis L
Eliminar desperdicios
Procesos extra:
Se deben evitar los documentos que no vayan a utilizarse.
• Código sin documentar : la documentación justa y necesaria en el
momento del desarrollo evita el coste de reaprendizaje en una
modificación posterior del mismo.
• Planificación deficiente: si la asignación de tareas a cada miembro
del equipo de trabajo no toma en consideración su conocimiento
previo de las mismas se dan situaciones de reaprendizaje.
• Calidad deficiente: si un error llega hasta el entorno de producción,
puede incrementar la dificultad para localizar su causa e implicar el
reaprendizaje incluso si el desarrollador que aborda la corrección es
el mismo que realizó el código que lo provoca.
• Tareas en paralelo, o excesivo cambio de tarea: cada vez que se
retoma una tarea hay un coste de este tipo.
• Comunicación / gestión del conocimiento deficiente.

Paola Celis L
Eliminar desperdicios
Características extra:
• Cada línea de código debe responder a una
característica que se sabe con certeza que es
necesaria

Paola Celis L
Eliminar desperdicios
Cambio de tarea:
Cada vez que el código pasa de una mano a otra, existe riesgo
de coste añadido por la transmisión de conocimientos.
La asignación de personas a más de un proyecto puede inducir
a desperdicio de tiempo.
Considerar:
• Formar equipos multidisciplinares que permitan la
formación dentro del propio equipo.
• Comunicación fluida: fomentar la comunicación cara a cara,
la observación directa, la interacción con prototipos.
• Mostrar avances del trabajo que se está realizando para
obtener feedback tan pronto como sea posible

Paola Celis L
Eliminar desperdicios
Esperas:
• Retrasos en el comienzo del proyecto
• Retrasos en la asignación de recursos
• Retrasos en revisiones y validaciones
• Retrasos en las pruebas
• Retrasos en las implantaciones

Paola Celis L
Eliminar desperdicios
Movimientos innecesarios:
• Se consideran los movimientos de los miembros
de los equipos de trabajo para cuestiones como
resolver dudas o realizar reuniones.
• También se consideran como movimientos la
dificultad para localizar determinados artefactos
necesarios para realizar el trabajo: documentos,
fragmentos de código, librerías, etc.

Paola Celis L
Eliminar desperdicios
Defectos:
Cuando antes se detecte, menor será su
impacto.
Práctica recomendada:
• probar inmediatamente
• integrar el código frecuentemente
• actualizar el sistema en producción a la mayor
brevedad posible
Paola Celis L
Eliminar desperdicios
Actividades de gestión:
• No aportan directamente valor al producto,
pero tiene un alto impacto en el desperdicio
de una organización.
• Igualmente señala que los sistemas de control
y seguimiento de proyecto deben mantenerse
simples y su complejidad puede ser un
indicador de otros desperdicios en la cadena
de producción.

Paola Celis L
Amplificar aprendizaje
• Es importante que todos los miembros del
equipo de desarrollo trabajen con una
mentalidad de aprendizaje continuo.
• Estamos en una era en la que la tecnología
puede cambiar radicalmente en unos días. Por
este motivo los principales implicados tienen
que estar en un constante aprendizaje.

Paola Celis L
Amplificar aprendizaje
Incrementar el feedback:
• En lugar de acumular defectos, testear el
código apenas se termine de crear.
• En lugar de agregar documentación o detallar
planificación, probar las ideas a través de
código.
• En lugar de estudiar qué herramientas ocupar,
escoger máximo 3 de ellas y probarlas

Paola Celis L
Amplificar aprendizaje
Iteraciones:
• Proveen un incremento en el feedback
• Las iteraciones cortas permiten al sistema
responder a hechos en lugar de supuestos.
• Son un punto de sincronización entre los
diferentes equipos y el cliente.
• Obligan a tomar decisiones

Paola Celis L
Amplificar aprendizaje
Planificación de la iteración
• El objetivo es implantar un set coherente de
historias de usuario a cada iteración
• Si una historia de usuario no puede ser liberada
en una sola iteración, entonces debe ser dividida
en iteraciones menores
• Si las iteraciones son cortas y la entrega es
confiable, al cliente no le importará esperar hasta
la próxima iteración para un nuevo
requerimiento.
Paola Celis L
Decidir lo más tarde posible
• Este principio es primordial. 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.
• En un modo tradicional (sin aplicar Lean) el proyecto parte
de unos requisitos iniciales que condicionan todo el ciclo de
desarrollo de software y cualquier cambio plantea
replanificación y adición de basura al proyecto.
• En Lean, los requisitos suelen ser sustituidos por historias
de usuario que están más cerca de la necesidad real. Por
este motivo podemos esperar a construir el software hasta
que la historia de usuario esté definida claramente y sin
ambigüedades.

Paola Celis L
Decidir lo más tarde posible
¿Cómo se logra?
• Compartir un diseño parcialmente terminado.
• Evitar características extras.
• Desarrollar rápida capacidad de respuesta.

Paola Celis L
Entregar lo antes posible
• En LEAN, las entregas de software son más
frecuentes incluyendo requisitos alineados con
las historias de usuario. Por este motivo, cada
entrega incluirá funcionalidades que necesitan los
usuarios lo antes posible basadas en prioridades,
impacto, valor o cualquier otro motivo.
• Se deben favorecer ciclos cortos de diseño,
implementación, feedback, mejora. El cliente
recibe lo que necesita hoy, no lo que necesitaba
ayer.

Paola Celis L
Entregar lo antes posible
• Cronograma de desarrollo de software:
Planificaciones de alto nivel
• Utilizar un sistema de planificación que
comunique mediante señalizaciones, de modo
de crear mecanismos de compromiso en el
equipo y que éste pueda distribuir su tiempo.
• Herramientas: Kanban

Paola Celis L
Paola Celis L
Potenciar el equipo
• Los desarrolladores saben qué tareas cuestan
más, cuales menos y qué implicaciones tienen
el ciclo de vida del proyecto.
• Facilitar que los desarrolladores participen en
la toma de decisiones de tiempos asociados a
tareas, priorización de las mismas y demás,
hacen que los miembros del equipo se sientan
parte importante en él.
• Técnicas: Planning Poker

Paola Celis L
Crear integridad
• Contar con un buen sistema de integración
continua que incluya pruebas automatizadas,
builds y pruebas de usabilidad, son críticas para
que un software sea fácil de mantener, de
mejorar y de reutilizar. Con esto evitaremos
añadir basura al software e intentar aprovechar
lo aprendido de proyectos anteriores.
• Un software con integridad tiene una
arquitectura coherente, alta tasa de usabilidad y
cumple con su propósito. Además, es mantenible,
adaptable y extensible.

Paola Celis L
Visualizar todo en conjunto
• Analizar las interacciones de nuestro software
con el resto de sistemas dentro de la
compañía nos permitirán estudiar posibles
mejoras y cambios que redunden en una
mejor experiencia de usuario y aporten un
mayor valor para el cliente y para el equipo
del proyecto.

Paola Celis L

Вам также может понравиться