Lean Software Development

Lean Software Development

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Lean Software Development por Mind Map: Lean Software Development

1. Origen

1.1. Basado en los principios de Toyota Motor Company que ha sido un éxito para su negocio.

2. ¿Cómo emplearse en el proyecto? (Aprendizaje)

2.1. Al realizar esta tarea nos damos cuenta que Lean Software Development es una excelente base para un grupo de desarrollo de Software. Cada uno de los principios que este método establece son totalmente necesarios

2.2. El primer principio de Eliminar Desperdicios nos permite sobretodo el ahorro código como su mantenibilidad. Asímismo ahorrar tiempo en aspectos innecesarios, no realizar cambios en desarrollo, evitar retrasos y defectos.

2.3. El segundo principio establece que debemos ser conscientes de todo el aprendizaje que vamos adquiriendo. Debemos hacer retroalimentaciones e iteraciones constantes. Desarrollo basado en conjuntos es importante para basarnos en las restricciones primero y no cambiar tanto el código con una única solución.

2.4. El tercer principio siempre debe tener en consideraciones las fechas máximas para tomar decisiones y siempre manterse en buen tiempo pero utilizarlo al máximo para analizar las soluciones y opciones.

2.5. El cuarto principio nos dice que hay que hacer entregas rápidas, eficientes y constantes para mostrar el desarrollo listo al cliente lo antes posible.

2.6. El quinto principio nos funciona para delegar responsabilidades y conocer que debemos optimizar/potencializar a cada uno de los integrantes del grupo en lo que son mejores.

2.7. El sexto y séptimo principio nos sirven para tener integridad y ética en nuestro trabajo. Así como basarnos en un contrato para las entregas y tener mediciones y pruebas para verificar el Software en todas sus mediciones.

3. Principios

3.1. 1. Eliminar el desperdicio

3.1.1. Utilizar el tiempo para lo que realmente le da valor al cliente. No pensar en programar por si acaso si no fue definido en los requirimientos.

3.1.1.1. Trabajo sin terminar

3.1.1.2. Características Extras

3.1.1.3. Reaprendizaje

3.1.1.4. Cambio de persona asignada

3.1.1.5. Cambio de tarea

3.1.1.6. Retrasos

3.1.1.7. Defectos

3.2. 2. Amplificar el aprendizaje

3.2.1. Los problemas se resuelven con Feedback.

3.2.1.1. Herramienta 3: Retroalimentación

3.2.1.2. Herramienta 4: Iteraciones

3.2.1.3. Herramienta 5: Sincronización

3.2.1.4. Herramienta 6: Desarrollo basado en conjuntos

3.3. 3. Decidir tan tarde como sea posible

3.3.1. Mantener las opciones abierta el tiempo máximo necesario sin excederse.

3.3.1.1. Herramienta 7: Opciones de pensamiento

3.3.1.2. Herramienta 8: El último momento responsable

3.3.1.3. Herramienta 9: Tomar decisiones

3.4. 4. Entregar tan rápido como sea posible

3.4.1. Dar entregas e iteraciones usables lo antes posible que dan valor al cliente.

3.4.1.1. Herramienta 10: Sistemas de extracción

3.4.1.2. Herramienta 11: Teoría de Colas

3.4.1.3. Herramienta 12: Costo de demora

3.5. 5. Delegar la responsabilidad al equipo

3.5.1. Optimizar el grupo de trabajo y utilizar su máximo potencial.

3.5.1.1. Herramienta 13: Self-determination

3.5.1.2. Herramienta 14: Motivación

3.5.1.3. Herramienta 15: Liderazgo

3.5.1.4. Herramienta 16: Experiencia

3.6. 6. Construir con integridad

3.6.1. Crear arquitecturas integras, coherentes y usables.

3.6.1.1. Herramienta 17: Integridad percibida

3.6.1.2. Herramienta 18: Integridad Conceptual

3.6.1.3. Herramienta 19: Refactorización

3.6.1.4. Herramienta 20: Prueba

3.7. 7. Visión global

3.7.1. Hay que ver el conjunto, no solo pequeños detalles sin ignorarlos claro.

3.7.1.1. Herramienta 21: Mediciones

3.7.1.2. Herramienta 22: Contratos

4. Definición

4.1. Es un método de organización de trabajo centrado en la mejora continua, optimización y eliminación de todo aquella que no agrega valor.