Desarrollo de Software Esbelto

16
Desarrollo de Software Esbelto Juan Carlos Olivares Rojas

description

Desarrollo de Software Esbelto. Juan Carlos Olivares Rojas. Orígenes. 1800 - Partes intercambiables Sin artesanos 1900 - Personas intercambiables Producción en masa 1960 – Toyota Production System Manejando la complejidad: JIT+Autonomation Sin stock y sin inspecciones 1990 - Lean. Lean. - PowerPoint PPT Presentation

Transcript of Desarrollo de Software Esbelto

Page 1: Desarrollo de Software Esbelto

Desarrollo de Software Esbelto

Juan Carlos Olivares Rojas

Page 2: Desarrollo de Software Esbelto

Orígenes• 1800 - Partes intercambiables– Sin artesanos

• 1900 - Personas intercambiables– Producción en masa

• 1960 – Toyota Production System– Manejando la complejidad: JIT+Autonomation– Sin stock y sin inspecciones

• 1990 - Lean

Page 3: Desarrollo de Software Esbelto

Lean• JIT (Just in Time)– Pull system– Kanban card

• Autonomation (aka Jidoka, aka stop-the-line)

• Los que hacen son los que saben

• Lotes chicos

Page 4: Desarrollo de Software Esbelto

Desarrollo de Software Esbelto• Mary y Tom Poppendieck han logrado

transferir los principios de la manufactura esbelta al software.

• El entendimiento de ésta filosofía puede ser el paso previo El entendimiento de ésta filosofía puede ser el paso previo al uso de técnicas de las llamadas Ágiles.

Page 5: Desarrollo de Software Esbelto

Desarrollo de Software Esbelto• En una era donde ser esbelto es lo in ,

¿podemos poner a dieta nuestros procesos de desarrollo de software?

• No existe una definición formal de metodologías esbeltas simplemente se usan los principios del pensamiento ágil. Cada autor varía los principios manejados. A continuación se muestran algunos principios básicos.

Page 6: Desarrollo de Software Esbelto

Principios• Eliminar el desperdicio

• Construir con calidad

• Crear conocimiento

• Postergar compromiso• Entregas rápidas• Repetar a las personas• Optimizar el todo

Page 7: Desarrollo de Software Esbelto

Eliminar el desperdicio• Tiempo entre pedido y entrega

• ¿Qué es desperdicio?– Lo que no agrega valor– Retraso en la entrega

• ¿Qué es valor?• Ejemplos– Stock: WIP, Requerimientos, Diseño, Bugs, …– Funcionalidad no usada

• Mito: Especificación temprana reduce el desperdicio

Page 8: Desarrollo de Software Esbelto

Construir con calidad• Inspección para prevenir o para detectar

defectos

• Listas de bug: desperdicio

• Pruebas automatizadas antes que el código– De aceptación– Unitarias

• Mito: trabajo del tester es encontrar defectos

Page 9: Desarrollo de Software Esbelto

Hacerlo bien la primera vez• Cuidado…– El código cambia–Mucho código es desperdicio–Menos código, menos oportunidad de

defectos

• Solución – KISS– Refactoring

Page 10: Desarrollo de Software Esbelto

Crear conocimiento• No es posible – Conocer las necesidades al inicio– Diseñar sin implementar

• Desarrollo de producto como aprendizaje y mejora– Del producto / negocio– Del proceso– Difundir el conocimiento!

• Mito: las predicciones crean predictibilidad

Page 11: Desarrollo de Software Esbelto

Postergar compromiso• Tomar decisiones irreversibles ALAP

• Buscar soluciones reversibles

• Mito: Planificación es compromiso

Page 12: Desarrollo de Software Esbelto

Entregas rápidas Alta calidad

Bajo costo

Menos cambios

Habilita a pruebas de concepto y mayor conocimiento del cliente

Mito: Apuro causa desperdicio

Page 13: Desarrollo de Software Esbelto

Respetar a las personas• Líderes emprendedores

• Expertos técnicos

• Control basado en objetivos

• Mito: existe la mejor manera de hacerlo

Page 14: Desarrollo de Software Esbelto

Optimizar el todo• Ejemplos:– El cliente quiere algo para ayer– Testing está sobrecargado

• Las cadenas de valor que cruzan entre empresas pueden ser costosas

• Mito: optimizar por descomposición

Page 15: Desarrollo de Software Esbelto

¿Preguntas?

Page 16: Desarrollo de Software Esbelto

Referencias• Gabardini, J. (2009) Lean Software

Development. Facultad de Ingeniería – UBA, Argentina

• Wikipedia Fundation, Software Esbelto, http://www.wikipedia.org, Agosto 2009.

Puede eliminar este (o

cualquier diapositiva), pero

debe dar crédito de la fuente

en algún lugar de su

presentación. Utilizar el

logotipo y el nombre de la

empresa (como en la parte

inferior izquierda, por ejemplo)

o incluir una diapositiva en

algún lugar diciendo que parte

(o todo) de su presentación son

de esta fuente. Gracias.