Calidad sustentable con agile & lean
-
Upload
miguel-insaurralde -
Category
Technology
-
view
239 -
download
0
Transcript of Calidad sustentable con agile & lean
Miguel Insaurralde [email protected]
40 JAIIO Septiembre 2011
Córdoba
calidad sustentable
con
Agile & Lean
debemos pensar en valor antes que en características, funciones y atributos
Eli Goldratt Necesario pero
No Suficiente
valor resultados
rápido clientes ventas
fácil
valor resultados
clientes ventas rápido
fácil
PérezX Inc. TodoXSoft S.A.
PerezX Inc.
perspectiva del “cliente”
del software
TodoXSoft S.A.
perspectiva del “constructor” del software
…podrían ser empresas, áreas, grupos reducidos,
grupos masivos, etc.
PérezX Inc. TodoXSoft S.A.
solución
PérezX Inc. TodoXSoft S.A.
operación negocio sistema software hardware infraestructura TI
aprendizaje
solución
PérezX Inc. TodoXSoft S.A.
aprendizaje
concepto diseño
producto
producto de software
El desarrollo de software es, esencialmente, un proceso de aprendizaje
Mary & Tom Poppendieck
Lean Software Development
cuanto fluido el proceso de aprendizaje
mejor solución
PérezX Inc. TodoXSoft S.A.
aprendizaje
yo te voy a
decir lo que
vos me tenés
que hacer…
yo te voy a
decir lo que
vos necesitás…
bestia biz
bestia tecno
PérezX Inc. TodoXSoft S.A.
aprendizaje
considerando el
contexto del
negocio, estaría
bueno que…
podríamos
usar la
tecnología…
bestia biz
bestia tecno
valor = resultados
SW = aprendizaje
negocio vs tecnología
evolución de la industria de SW
Agile manifesto
‘01
XP ‘96
Scrum ‘95
Lean Kanban ‘03
’70 ’80 ’90 ’00 ’10
enfoque predictivo
enfoque adaptativo
crisis & ingeniería SW ‘68
code + fix
código horas-silla
proceso robusto
código robusto
¿chau
código?
CASE ‘82
CMM PMBOK
‘87
enfoque predictivo
enfoque adaptativo
concepto
producto
plazo de entrega
c1
p1
c2
p2 pn
cn
plazo de entrega
el enfoque adaptativo permite
ciclos de aprendizaje capacidad de reacción
calidad sustentable
entregar valor de manera frecuente a lo largo del tiempo
TodoXSoft S.A.
calidad sustentable
iteraciones cortas ≤ 1 mes generar producto “potencial”
equipos pequeños ≤ 8 personas co-responsabilidad
colaboración reuniones diarias 15’ con cliente
subconjunto priorizado de requerimientos
entregas frecuentes
gestión por prioridades
proyectos Ágiles Scrum
obtener producto “potencial” en cada iteración
disciplina en diseño de SW
colaborar & aprender
ser “usuarios” de nuestro código test driven development: test – código – refactorización
prácticas eXtreme Programming
experimentar & aprender spikes: pruebas de concepto
pair programming: mejores diseños + aprendizaje
calidad interna
simplicidad
YAGNI: You Are Not Going to Need It
calidad interna
diseño eficiente
principios y prácticas de diseño modelado y semántica arquitectura
buenos modelos
observaciones de la realidad cambiar sin perder estas propiedades
el software puede evolucionar
uso eficiente de la tecnología
modelo del software
representadas en…
PérezX Inc. TodoXSoft S.A.
los cambios
son bienvenidos
entregas frecuentes aprendizaje
XP + calidad interna SW que puede evolucionar
proyectos ágiles prácticas XP
recién cuando el SW puede
evolucionar y mantener la calidad
podemos decir
“bienvenidos los cambios”
ahora bien… SW funcionando
no proveer valor
para ello, debe dar los
resultados esperados
ampliar conocimiento ensayar, probar, romper y aprender
foco en el valor generado ciclo concepto – producto
integridad conceptual: cohesión del sistema
organización Lean
enfoque sistémico ver el “todo” y sus patrones de cambio, la dinámica por sobre los detalles
generar valor
percibida: valor antes que tecnología
“disparado” por demanda
Martin Fowler
un buen proyecto ágil tendrá que desarrollar algo mejor que lo planeado originalmente
The New Methodology
enfoque adaptativo
sustentable = valor en t
Agile + XP + Lean
creación de conceptos
sistema de producción
equipo de trabajo
diseño de frameworks
estrategia de inversión creación de conceptos
captura entrevistas, viajes focus groups early adopters
pruebas de concepto demos
historias de usuario especificaciones
formulación
feedback
conceptos sobre necesidades reales
estrategia de inversión sistema de producción
infraestructura plataforma de desarrollo
negocio, operación proyectos
definición de procesos
automatización
eficiencia de concepto a producto
tests caja blanca, integración, sistema,
carga, aceptación
código análisis estático, dinámico
builds, setup
proceso IDE, trazabilidad, métricas, políticas
TI virtualización, labs, deployment
estrategia de inversión equipo de trabajo
conformación
reclutamiento capacidades: diagnóstico y plan asignación de funciones
aprendizaje
sinergia y flexibilidad
capacitación foros colaborativos
estrategia de inversión diseño de frameworks
abstracción funcionalidad genérica
foco en la solución
facilita cambios s/funcionalidad genérica
flexibilidad
productividad
optimiza construcción de producto final
prácticas XP calidad interna
organización Lean concepto - producto
proyectos ágiles entregas frecuentes
estrategia de inversión conceptos, producción, equipo, frameworks
entregar valor
de manera frecuente
a lo largo del tiempo
calidad sustentable
desafíos
adopción de Scrum
mejora organizacional
prácticas XP calidad interna
organización Lean concepto - producto
proyectos ágiles entregas frecuentes
estrategia de inversión conceptos, producción, equipo, frameworks
disciplina conocimiento herramientas infraestructura
¿porqué es tan difícil implementar
prácticas XP +
estrategias de inversión?
desafíos prácticas XP
estrategia de inversión
inversión mediano
plazo
procesos de adopción
procesos de adopción re
nd
imie
nto
tiempo
el iceberg
calidad interna inversión
valor potencial
activo que “no se ve”
activo que “se ve” funcionalidad
necesitamos hacer que
se “vea” lo que “no se ve”
primero que nada en los equipos de ingeniería
done
done con tests aut. p
un
tos
his
tori
a
t
hal
lazg
os
t
todos críticos
t
todas críticas p
un
tos
his
tori
a
rayos-X
cobertura de tests automáticos
technical debts
análisis de código
producto – característica – módulo
bugs, tests,
activo que “no se ve”
inversión
adopción
PérezX Inc. TodoXSoft S.A.
calidad interna
inversión
una vez que lo “vemos” a nivel técnico, necesitamos que se pueda traducir en
términos financieros
¿qué ve cada uno?
PérezX Inc. TodoXSoft S.A.
TCO costo total de la propiedad
modelo de throughput
ROI retorno de inversión
dado un t
producir y
vender comprar y
usar
TodoXSoft S.A.
modelo de throughput
modelo de throughput
ROI throughput gastos operativos
inversión
creación de conceptos
sistema de producción
equipo de trabajo
diseño de frameworks
$ de producto entregado
$ para convertir concepto en producto
entregado
la tendencia natural es a reducir
inversión y gastos operativos
pero eso no necesariamente
maximiza el ROI
calidad interna
+ inversión
ROI
modelo throughput
inversión $ activo que “no se ve”
sobreingeniería overengineering
subingeniería underengineering
inversión óptima
dado un plazo p
costo total de la propiedad
CTO
PérezX Inc.
costo total de la propiedad
análisis financiero sobre costos
directos indirectos
de un producto o sistema
en un tiempo dado
gastos operativos
no disponibilidad
software & hardware garantías y licencias
gastos no corrientes upgrades
programada no programada
degradación de performance
crecimiento
SO - middleware
escalabilidad
resultados tangibles
capacitación y soporte requerido
costo total de la propiedad
calidad interna
+ inversión TCO
$
inversión $ activo que “no se ve”
sobreingeniería overengineering
subingeniería underengineering
dado un plazo p
inversión óptima
muchos de los problemas de hoy vienen de las soluciones de ayer
Peter Senge La Quinta Disciplina
ROI
throughput + TCO
inversión óptima
PérezX Inc. TodoXSoft S.A.
calidad interna
+ inversión
TCO
Lean Agile
XP
calidad sustentable
TodoXSoft S.A. PérezX Inc.
calidad interna
valor
frecuencia
estrategia de inversión
ROI
inversión óptima
TCO
PérezX Inc. TodoXSoft S.A.
agradecimientos
Ricardo Pérez concepto de “valor”
Elvio Marchisone debajo del “iceberg”
buen material
Eli Goldratt libro “La Meta” y “Necesario
pero No Suficiente”
Peter Senge libro “La Quinta Disciplina”
Mary & Tom Poppendieck
libro “Lean Software Development:
an Agile Toolkit”
Martin Fowler paper “The New Methodology”
Jeff Patton
charlas “Embrace Uncertainty” y “Us and Them”
David Anderson libro “Agile Management –
Applying Theory of Constraints”
backup