Documente Academic
Documente Profesional
Documente Cultură
Programacin Extrema
Origen de Extreme
Programming (XP)
(*)http://www.xprogramming.com/publications/dc9810cs.pdf
El Problema
El desarrollo de software falla en las
entregas y falla en la entrega de valor.
Esta falla tiene un enorme impacto tanto
humano como econmico.
Necesitamos encontrar una nueva
manera de desarrollar el software
Kent Beck (y muchos ms!!!)
Nuestra misin
Si aceptamos el RIESGO del proyecto como
el problema a ser resuelto,
Dnde vamos a buscar la solucin?
Lo que necesitamos es inventar un estilo
de desarrollo de software que enfrenta
esos riesgos.
Debemos comunicarla a:
Programadores, gerentes y clientes.
Opciones
La gerencia del proyecto de software tiene las
siguientes cuatro opciones:
Opcin de abandono: podemos lograr algo de valor si lo
cancelamos ahora.
Opcin de cambiar: cambiar la direccin del proyecto a
pedido del cliente. Mientras ms frecuentemente cambien
los requerimientos, mejor.
Opcin de diferir: podemos esperar hasta que la
situacin se ordene. Mientras ms se difiera la inversin,
mejor.
Opcin de crecer: si el mercado parece que despega
podemos crecer rpidamente para sacar ventaja. Mientras
ms rpidamente crezca el proyecto, mejor.
Cuatro variables
Controlaremos cuatro variables en
nuestros proyectos:
Costo
Tiempo
Calidad
Alcance
Cuatro variables
Algunos gerentes y clientes presionan por
lograr lo mximo de cada variable, con eso
slo se logra sacrificar la calidad:
Costo
CLIENTES
Tiempo
Calidad
GERENTES
Alcance
Cuatro variables
La solucin es hacer visibles las cuatro
variables.
Si todos (programadores, clientes y
gerentes) pueden ver las cuatro variables,
ellos elegirn concientemente que variables
controlar.
Costo
Tiempo
Calidad
Alcance
Enfocndose en el ALCANCE
Mucha gente entiende que el costo, calidad y
tiempo son variables de control, pocas
comprenden la cuarta variable: EL ALCANCE.
Una de las decisiones ms poderosas en la
gerencia de proyectos es la gestin del
ALCANCE.
Si administramos activamente el ALCANCE,
podemos brindarles a los clientes y gerentes
control sobre el costo, la calidad y el tiempo.
Enfocndose en el ALCANCE
Una de las mejores cosas que pasan con el
ALCANCE es que es una variable que VARIA
mucho.
Los clientes no nos pueden decir que es lo
que ellos quieren. Cuando les entregamos lo
que ello dijeron que queran, no les gusta.
Esto es totalmente cierto!
Los requerimientos nunca estn claros al inicio
porque los clientes nunca pueden decirte
exactamente lo que quieren.
Enfocndose en el ALCANCE
El desarrollo de una pieza de software
cambia a sus propios requerimientos!
Tan pronto como el cliente ve el primer
release, ellos aprenden que es lo que
ellos desean en el siguiente release
o
QUE ES LO QUE REALMENTE QUERIAN EN
EL PRIMER RELEASE
Enfocndose en el ALCANCE
Podramos ver esta poca firmeza de los
requerimientos del cliente como una
oportunidad y no como un problema?
Si es as, el ALCANCE se convertira en la
variable ms sencilla de las cuatro variables
de control.
Si creamos una disciplina de desarrollo de
software basada en este modelo, podramos
resolver los problemas de tiempo, calidad y
costo de cada pieza de software.
Enfocndose en el ALCANCE
En esa nueva disciplina de desarrollo de
software, conforme el desarrollo progrese,
podramos ajustar el continuamente el
ALCANCE para que coincida con las
condiciones conforme las vayamos
encontrando.
Debe TOLERAR el CAMBIO fcilmente
porque el proyecto podra cambiar de
direccin con frecuencia.
Enfocndose en el ALCANCE
Para lograr eso la Programacin Extrema (XP)
usa dos estrategias:
Continuar
tarde posible
implementar
Principios bsicos
Los cuatro valores nos dan un criterio para
una solucin exitosa, pero son muy vagos
an para indicarnos qu prcticas utilizar.
Necesitamos destilar los valores en principios
concretos que podamos usar.
Estos principios nos ayudarn a elegir entre
las alternativas. Preferiremos las alternativas
que cumplan ms con los principios que
aquellas que no lo hacen.
Principios bsicos
Estos son los principios fundamentales de
la Programacin Extrema (XP):
Rpida retroalimentacin
Adoptar la simplicidad
Cambio incremental
Adoptar el cambio
Trabajo de calidad
Rpida retroalimentacin
La psicologa del aprendizaje ensea que el tiempo
Adoptar la simplicidad
Trate cada problema como si pudiese ser resuelto
Cambio incremental
Los grandes cambios hechos todos a la vez
simplemente no funcionan.
Encontraremos que el cambio incremental es
aplicable a la Programacin Extrema (XP) de
muchas maneras.
El diseo cambia un poco en cada vez, el plan
cambia un poco en cada vez, el equipo
cambio un poco en cada vez.
Incluso la adopcin de la Programacin
Extrema (XP) debe ser hecha en pequeos
pasos.
Adoptar el cambio
Trabajo de calidad
A nadie le gusta trabajar con negligencia.
A todos nos gusta hacer un buen trabajo.
De las cuatro variables del desarrollo de
Las Prcticas
El juego del planeamiento: rpidamente determine
Las Prcticas
Diseo simple: el sistema debe disearse tan
Las Prcticas
toda la produccin
de cdigo es escrita con dos programadores en
cada mquina.
Propiedad colectiva: cualquiera puede
cambiar cualquier cdigo en cualquier parte del
sistema en cualquier momento.
Integracin continua: integrar y construir el
sistema muchas veces al da, cada vez que una
tarea sea terminada.
Programacin por pares:
Las Prcticas
40 horas a la semana: como regla, no
Mantenimiento
Muerte
Programadores
Clientes
Probadores
Rastreadores
Entrenadores
Consultores
Gran jefe
CASO PRCTICO
Modelo de Organizacin
Los 6
Elementos
4
Modelo de Organizacin
Comit de
Direccin
Comit de
Riesgos
rea de produccin a
rea de produccin b
rea de produccin c
.
rea de produccin d
rea de investigacin f
rea de investigacin g
rea de investigacin h
rea de investigacin i
Canales de comunicacin
Comit de
Talento
TO
N
E
L
A
1
Lder 9
Lder 8
Lder 7
Lder 6
Lder 5
Lder 4
Lder 3
Lder 2
Canales de Comunicacin
Lder 1
Produccin
Investigacin
Comit de
Cliente
Canales de Comunicacin
rea de produccin e
T
E
M
T
I
C
A
S
Comit de
TI
Canales de comunicacin
R
E
A
S
COMITS
LDERES DE PROYECTO
Tutor A
Tutor B
Tutor C
Tutor D
Tutor E
Tutor F
Tutor G
Tutor H
Tutor I
T
U
T
O
R
E
S
Conclusiones
Todas las metodologas estn basadas en el
miedo. Uno trata de establecer hbitos que
eviten que nuestros temores se hagan realidad.
La diferencia est en los miedos que estn
incrustados en la Programacin Extrema (XP).
Yo tengo miedo a:
Hacer el trabajo que no importe.
Tener proyectos cancelados por falta de progreso
tcnico.
Tomar malas decisiones en el negocio.
Tener gente del negocio tomando malas decisiones
tcnicas.
Hacer un trabajo del que no me sienta orgulloso.
Conclusiones
La Programacin Extrema (XP) tambin
refleja cosas a las que no les tengo
miedo:
Codificar.
Cambiar mi mente.
Proceder sin saber todo respecto al futuro.
Confiar en otra gente.
Cambiar el anlisis y diseo de un sistema en
ejecucin.
Escribir pruebas.
Enlaces de inters
Historia y orgenes de la Programacin
Extrema (XP)
http://www.agilespain.com/modules.php?op=modload&
name=Sections&file=index&req=viewarticle&artid=1&
page=1
http://gmodulo.sourceforge.net/docs/html/manual/ch
02s04.html#manual-methodology-312
corvus@usmp.edu.pe
Si deseas una copia de estas diapositivas
ingresa a: http://
es.mayeticvillage.com/corvus
Luego ingresa a la opcin Transferencias
Pblicas para descargar este archivo.
USMP
Programacin Extrema