Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contrucciondesoftware Adelanto
Contrucciondesoftware Adelanto
]
c o l á s P ae U N T REF
© Ni dición
d e e s t a e
i o n a l de Tres
©
e r s i d a d Nac duntref
(Univ a ra E
F e b r e r o ) p
U n i v e rsidad
de d e la rero).
i t o r i a l e F e b
(Ed
a l d e Tres d e re chos
i o n s d
Nac
a d o s todos lo a Edun-
Reserv e d i c ión pa i 2736,
r
a n
de est REF), Mosco e nos
( U N T e B u
tref ñ a , P cia. d
Pe .ar
Sáenz w.unt r e f. e d u
r e s . w w
Ai
Construcción de software: una mirada ágil
z . . . [ e t.al.]
c o l á s P ae U N T REF
© Ni dición
d e e s t a e
i o n a l de Tres
©
e r s i d a d Nac duntref
(Univ a ra E
F e b r e r o ) p
U n i v e rsidad
de d e la rero).
i t o r i a l e F e b
(Ed
a l d e Tres d e re chos
i o n s d
Nac
a d o s todos lo a Edun-
Reserv e d i c ión pa i 2736,
r
a n
de est REF), Mosco e nos
( U N T e B u
tref ñ a , P cia. d
Pe .ar
Sáenz w.unt r e f. e d u
r e s . w w
Ai
Construcción de software:
una mirada ágil
F e b r ero) p
U n i v e rsid d a
de d e la rero).
i t o r i a l e F e b
(Ed
a l d e Tres d e re chos
i o n s d
Nac
a d o s todos lo a Edun-
Reserv e d i c ión pa i 2736,
r
a n
de est REF), Mosco e nos
( U N T e B u
tref ñ a , P cia. d
Pe .ar
Sáenz w.unt r e f. e d u
r e s . w w
Ai
EDUNTREF
Editorial de la universidad nacional de tres de febrero
Coordinación editorial
Néstor Ferioli
Corrección
Licia López de Casenave
Ilustraciones
María Compalati
Directora de diseño editorial y gráfico
Marina Rainis
Diseño y diagramación
Valeria Torres
Coordinación gráfica
Marcelo Tealdi
z . . . [et.al.]
i c o lás P a e
n U N TREF
© N edici ó
e e s t a a l d e Tres
© d Nacio n
s i d a d
(Unive r
a r a Eduntref
F e b r ero) p
U n i v e rsidad
de de la r ero).
t o r i a l e F e b
(Edi d e Tres d e chos
i o n a l s d e r
Nac
d o s to dos lo E dun-
r v a
seMaría Compalati. –1a a r a
Repor ónSáenzpPeña: i 2736,
Construcción de software: una mirada ágil / Nicolás Paez...
[et.al.]; ilustrado
e d i c ied.–
Universidad Nacionale tade Febrero, 2014.Moscon
desTres
296 p.: il.; 23d xe F),
15 cm.
f ( U N T R E
. d e B uenos
tre
ISBN 978-987-1889-43-3
ñ a , II.Pcia
Pe du.ar
Sáeilus.nz e
1. Software. 2. Informática. I. Paez, Nicolás
n t r e f.
ww.u
Compalati, María,
Aires. w
CDD 005.3
Prólogo....................................................................................................9
Agradecimientos....................................................................................13
Prefacio.................................................................................................15
t.al.]
Iterativo por naturaleza...........................................................................31
z . . . [ e
c o l á s P ae U N T REF
Delineando el alcance............................................................................39
© Nnoi es predecir...........................................................................49
dición
e de Tres
Estimar
e e s t a a l
© d
Planificación
Nac i o n
constante..........................................................................59
s i d a d ................................................................71
(Univ
Empezando e
por rla aceptación.
a r a Eduntref
F e b
Arquitectura y diseño r eenro ) p
U n i v e rsidad
emergencia......................................................87
de d e la rero).
i t o r i a e F e b
Probar, probar, probar..l.........................................................................105
Esto (está
a l d e Tres d
Edlisto......................................................................................125
e r e chos
i o n s d
Integrando
a d o s t odos lo a Edun-
Naelcproducto al instante.........................................................137
Reserv e d ic ión pa i 2736,
r
En retrospectiva...................................................................................155
ta oscon
de es............................................................................175
Reuniendo al equipo.
M
T R E F ) , u e nos
( U N e B
cia. d
Irradiando información.........................................................................183
tref ñ a , P
e n z P e e d u .ar
¿Quién manda a quién?........................................................................197
S á r e f .
s . w w.unt
No hay como un buen ambiente...........................................................209
w
La fantasíaA r e
deievitar los cambios..........................................................221
Formalizando compromisos.................................................................229
Construyendo con calidad día tras día..................................................241
Un día de desarrollo ágil.......................................................................249
Todo muy lindo pero............................................................................261
La riqueza de la diversidad...................................................................273
Bibliografía y referencias......................................................................290
Prólogo
. . . al.]
[et.colaboración
A Juan Gabardini e
s P a z
por su gran
T R E F
en la revi-
lá
©ANMaríao Compalati
sión delic
contenido.
i c UN
ión embarcarse
s ta e d
por aceptar e es ilus-
Trcomo
d e e n a l d
© de esta obra.
tradora
s i d a d Naciode Tres de Febrero por su
r
vela publicaciónpdearesta
A la iUniversidad
(Unpara
Nacional
a Eduntref
apoyo
F e b r ero) obra.
U n i v e rsidad
de de la r ).
roautores
eLos
t o r i a l e F e b
(Edi d e Tres d e chos
i o n a l s d e r
Nac
d o s to dos lo E dun-
r v a a r a
Rese e d i c ión p 2 7 36,
s ta c o n i
de e ), Mos
f ( U N T R E F
. d e B uenos
tre ñ a , Pcia
Pe du.ar
Sáenz n t r e f. e
ww.u
Aires. w
Prefacio
Audiencia
El libro está dirigido a todas las personas que trabajan en
desarrollo de software, pero que aún no han experimenta-
do profundamente con el desarrollo ágil, tal vez porque no
han sabido cómo hacerlo, tal vez por falta de conocimien-
tos y hasta tal vez porque lo miran con cierta prevención.
Los gerentes en general pueden encontrar en este libro
nuevas ideas sobre gestión, los comerciales pueden incor-
porar otra mirada sobre el tema, los clientes de equipos de
desarrollo pueden usarlo para mejorar su interacción con
los mismos, los analistas de negocio y funcionales van a ha-
llar formas novedosas y muy efectivas para interactuar con
usuarios y desarrolladores. Los testers se encontrarán con
filosofías y técnicas de trabajo que le otorgan mucho valor
. .] puntos de vis-
[et.alnuevos
a sus tareas, a la vez que les
a e z . .
proponen F
TREsoluciones
i c o lás P en fin,
ta. Los desarrolladores,
N i ó n
podrán U N
encontrar
a© t a edhoyicsoportan Tres
coneresignación.
muchas cuestiones
d e e s que
n a l d
© No es este un libro
a d
para
N a cio
expertos en métodos ágiles. Los
(Upueden rsid
niveexperimentado
que ya han abundantemente
r a untref
Edprecisos con el agilis-
mo
ero
encontrar ) p a
consejos más
rsen idaladcomu-
F e b r U n i v e
de
nidad ágil, que en América
d e l a
Latina y en España
r e r
está muy
o).desde
desarrollada.
i t o r i
En a lparticular, las JornadasFÁgiles,
e e b que
2008 (Esedvienen d
haciendoe s d ciudades c
Tenredistintas os
dehAmérica
i o n a l s d e re
Nac de losoéxitos
Latina, son un espacio
s
muy
to
rico s lo
dy oerrores
para compartir experien-
dun- a
cias, aprenderrv a d r a
ajenos, yEescuchar
se de todo elicmundo.
Revenidos ión p a
oradores
ta e d o n i 2 7 36,
de e deseen s sc
F), Moleyendo sobre
No obstante, quienes hayan incursionado en algunas
prácticas ágiles y N T R Econtinuar B uesus s
nofun-
f ( U
tre complementación . d e
ciaotras prácticas y méto-
damentos,
P e ñ a , Pcon .ar para com-
dos, tienenáe
S z libro un importante
enneste
r e f. e dualiado
n t
w.uefectivamente.
prender cómo trabajar
Aires. wwmás
Estructura del libro
Los primeros dos capítulos son una introducción al tema
del desarrollo de software ágil y construyen un puente en-
tre las premisas básicas tradicionales de la comunidad de
desarrollo de software y los pilares de la filosofía ágil. El
resto de los capítulos están organizados de acuerdo a nues-
tra experiencia en proyectos reales de desarrollo de soft-
Prefacio • 17
Traducciones
z . . . [ e t.al.]
c o l á s P ae en este libro U N T REF su ori-
Muchos
© en Niinglés. En nuestro
términos utilizados
e icióden hacer unaTobra
dafán
tuvieron
sen cas-
gen
d e s t a
eintentado proveer i o n a l de re
©
tellano hemos
d a d N ac traducciones para todos
ellos. ivers i duntref
Etraducción
Unlos casos de términos
(En p a r a dad
F e b r ro)
ehemos con una
U n i v e rsiampliamen-
de
te establecida, la la
utilizado. En los casos de
).
términos
con diversas t o r i a l d e
e F e sibno laotienen,
r e r
Ed i
nos (aventuramos
traducciones o directamente
es d a proponer
Trmayoría os
i o n a en d
l suegran
s d e re clahnuestra,
Nac
indicando siempre el término
s to d o s lo
original en una nota
d u -
al pie.
n
Finalmente, r v aendo algunos pocos casos, a ra E
hemos decido
e
Reslos términosedoriginales ión por p no encontrar6tra-
mantener
s ta i c
c o n i 2 73 ,
d
duccionese e
apropiadas que no M
alteren
, osla esencia del término
U
(user story, backlog). N T R E F )
e B u e nos
tref ( P cia. d
e ñ a ,
S áenz P .untref.edu.ar
Qué viene despuéswww
Aires.
Más allá de leer este y otros libros, y de experimentar en
proyectos propios, creemos que para hacer desarrollo ágil
es necesario aprender de otros, de los que tienen caminos
parecidos y de los que ya han recorrido un largo trecho, de
sus errores y también de sus aciertos. Para eso no hay un lu-
gar mejor que la comunidad ágil, un espacio de pertenen-
cia en el que practicantes de distintas extracciones com-
parten conocimientos y organizan eventos para aprender
en conjunto. El sitio central de la comunidad ágil de Amé-
18 • Construcción de software: una mirada ágil
z . . . [et.al.]
i c o lás P a e
n U N TREF
© N edici ó
e e s t a a l d e Tres
© d Nacio n
s i d a d
(Unive r
a r a Eduntref
F e b r ero) p
U n i v e rsidad
de de la r ero).
t o r i a l e F e b
(Edi d e Tres d e chos
i o n a l s d e r
Nac
d o s to dos lo E dun-
r v a a r a
Rese e d i c ión p 2 736,
s ta c o n i
de e ), Mos
f ( U N T R E F
. d e B uenos
tre ñ a , Pcia
Pe du.ar
Sáenz n t r e f. e
ww.u
Aires. w
¿Por qué cambiar? • 19
Leyendas fundacionales
Casi todas las actividades económicas y las disciplinas cien-
tíficas tienen leyendas fundacionales. Por ejemplo, dicen
que la física moderna nació cuando a Newton, que dormía
bajo un manzano, le cayó una fruta en la cabeza. Los pri-
meros filósofos, según nos cuenta
. [ e .]
t.laaltradición, compartían
P a e z . . T R E F idílico
sus conocimientos
i c o l á s en el ágora de Atenas,
U N un lugar
© Ndiscípulos ión debatir Tabiertamente
dicpodían
e de res
donde y maestros
e e s t a a l
d
sus preocupaciones.
i o n
©Y así pasa con atodas
e r s i d d Nlasaccienciasdyuntref actividades huma-
(U
nas. n
Pocoi v importa si son
p a ra
ciertas E
o no esas leyendas.d Pro-
r o )
bretengan de verdad, r s i d a
iveparte haya sido
de FPero
bablemente ealgo l a Uynotra
inventada.
t o r i a l d
lo cierto e es que influyen
F e b ero). per-
en rnuestra
(Ed
cepción i
actual. Y el r
desarrollo e sd de e
software no podía ser
menos. ional d e T e re c hos
c
Nanostálgicos oshubo s d
lo un tiempouenn-que
Los
a d o s
asegurantodque a Ednos deja-
R e s e r v n p a r
dició
los clientes nos decían que aplicación deseaban,
ban trabajandospor t a unelargo tiempo, yccuando o n i 2736,
volvíamos
con eld e e Mos porqueecumplía
),se alegraban
producto
U N T E
desarrollado,
R F
e B u nos
plenamente (
tref con susverexpectativas. P . dno sólo los clien-
cEsiamás,
e ñ a , ar la eje-
enz Psino quentampoco .desarrolladores
tes no necesitaban a los desarrolladores durante
Sáproyecto, t r e f. e d u
cución del
s . w w w.u con los
Ai
necesitábamos r e comunicarnos los clientes, ya que con-
tábamos con una documentación tan exhaustiva y lograda
sobre el producto a construir, que cualquier comunicación
podía arruinar nuestro trabajo.
Se nos ha contado que en aquellos tiempos, los clientes
desconocían que el software era un producto modificable,
aunque ya algunos se estaban preguntando qué significa-
ba el prefijo “soft” en la palabra en cuestión. Por otro lado,
ese no era un problema, pues ¿quién querría modificar al-
go tan perfecto?
20 • Construcción de software: una mirada ágil
o lás P
bería serlo también de ae nuestro trabajo.
U RE en los
NTcambios
© N i c
Precisamente, i ó n
dic no puedaneserTrígidos.
la necesidad de realizar
proyectos llevaeasque
d e t a loseplanes
i o n a l d res Hay
©entender que aladplanificación
que
s i d Nac debe ser algo vivo, algo
( U iv
que senpuede e r adaptar en tiempos,
r a end
E untref
alcance, e incluso por
p a
ero)de la incertidumbre rsidaelddiseño
F e b
cuestiones derivadas r U n i v e sobre
de
de la solución.
d a
ees el lcosto ).
rono
reque
i t o r i
Otrodinconvenientea l d e
del F e
cambio,b por
( E e T r e s h o s
ser posible es barato.
a c i o n al dAdicionalmente, s lo s erecempeora
ese costo
d si
N
el diseño es complicado
o
y
sque el o
toddesarrollamos
código poco legible.
E un-
dtremen-
Además, e r v a d
s complejo queicielóde
el software p a r a hoy es
Remás e d n décadas 2 6,
73com-
damente
e s t a s c o n i
atrás. Esa
plejidaddeno se puede Rencarar E F ), conMoprocesos nos
de desarrollo
e
( U N T e B u
trefLo mismo aplica cia. dun producto com-
que solo funcionan razonablemente bien con pequeños
programas. e ñ a , aP la calidad:
P
Sáenserz construido f. e d u armente. Esta
.en
plejo necesita con r e
w.unt al producto a posteriori.
la calidad
no puede ser algo
r e s . w
quewagregamos
Ai lado, los roles con objetivos contrapuestos pue-
Por otro
den hacer perder el objetivo principal, que es entregar va-
lor al cliente. Este valor no puede estar en los documen-
tos, que son artefactos que nos sirven a los desarrolladores
durante la construcción. ¿O alguno de nosotros, cuando
quiere que le construyan una casa, está dispuesto a recibir
planos a cambio?
Los clientes exigentes nos obligan a que tengamos cri-
terios de aceptación, sin ambigüedad, que nos indiquen
24 • Construcción de software: una mirada ágil
r e r o ) pa investigar,
e r s i a
son todos
d d pro-
e Fque
blemas b
e acarrean frustración i v
Uyncuestan bastante más
d d e laun buen r ro).enfo-
edebe
t o r i
de lo que parece.a l Por eso,
i permitir que Tlasrepersonas e e b
gerente
F
(Eden
carse
d e s d trabajen ccómodas h o s y
a l e re
acion más que
eficientemente
N s to d o s losquedtrabajen”.
en “hacer
duy nen- los
• Y por último,
r v a d
hayo que confiar en lasrpersonas
a a E
Reseque las personas
equipos
e d i c ón p Si uni gerente
iconforman. 2 7 36,vi-
e e s ta osc o n
ve obsesionado
d por desarmar
F ) , Mequipos
Epor temor a queeformen
que disfrutan
n o
del
s
(UNTRcon
trabajo en conjunto,
d Bue grupos
trefterminará
elitistas,
ñ a , P c i
trabajadores a . poco motivados y
P e . a r
S enz venw
menos áproductivos. Si solo considera
. u n t duque están traba-
ref.ecódigo,
es. wwcon sus colegas, investigan solucio-
jando cuando los escribiendo y no cuando
Airconversan
piensan,
nes en la web o se reúnen espontáneamente, solo va a
lograr una actitud defensiva y poco productiva.
El manifiesto ágil
Así como Copérnico cuestionó los principios de la astro-
nomía de su tiempo, o como Colón impugnó la teoría de
la Tierra plana, hubo un conjunto de personas que se die-
¿Por qué cambiar? • 29
5
Tengamos en cuenta, no obstante, que el 77% de los encuestados son empre-
sas europeas o estadounidenses, lo que no dice mucho de la adopción en los
países de habla castellana.
Iterativo por naturaleza • 31
z . . . [et.al.]
P a e TREF
Nicoládes software
El©desarrollo
edici
como ó n U
proceso
N iterativo
e s t a a l d e Tres
de confusión N
La©principal a
reinantecio n
alrededor del proceso de
desarrollo e a d
rsid como vimos untref
dcapítulo
nivconsiste,
(Umirada p a r a
en el
E anterior, en
ddiseño,
una
Fe
basada en
b r ro) etc.) queUson
actividades
epruebas, disjuntas
n i v e rsidaacabo
(análisis,
d e
implementación,
d e l a llevadas
e r o ) . por
al poco y smal,dprincipalmente Feb r
(Editori Estadconfusión
gente que se comunica a través
r e e fácil
de documentos.
i o n a l T
e con el modelo denecascada,
hace
s r choess im-
identificar
e
N ac
plícitamente el proceso
s to d o s lo d u n -de-
ado de actividades E prime-
raejemplo,
Reserv y después
cir, con una secuencia (por
ó n p aAún
ro implementación i
a edic tiendeosa cdificultar
pruebas). cuando 6,sea
ni 2la73aplica-
no
s t
explícita,eestaepreconcepción o
d
ción de un proceso N T R E F), M
iterativo. B uenos
f ( U
trebien ¿Qué es ñunaproceso . d e
ciaiterativo? Es un proceso
Ahora
P e , alPresultado r nos per-
á enz
de aproximaciones
S sucesivas
t r e f. e u.aque
dfinal,
u n
el.producto
w
s. wdelwresultado.
mite ir ajustando tanto como el proceso para
maximizar Aielrevalor Un ejemplo es la escritu-
ra de este libro: produjimos varios borradores hasta llegar al
resultado final.2 En concreto, es un proceso donde las acti-
vidades se repiten en cada iteración, permitiendo obtener
y analizar los resultados de esas múltiples actividades y uti-
lizarlos para nutrir a las demás (por ejemplo, las pruebas se
ejecutan en cada iteración sobre lo construido).
1
Véase el capítulo “Planificación constante”.
2
En este momento, estamos haciendo un refinamiento de este capítulo.
Iterativo por naturaleza • 33
Figura 2.1
Una obra iterativa y
por incrementos.
z . . . [ e t.al.]
c o l á s P ae U N T REF
© Ni dición
d e e s t a e
i o n a l de Tres
©
e r s i d a d Nac duntref
(Univ a ra E
F e b r e r o ) p
U n i v e rsidad
de d e la rero).
i t o r i a l e F e b
(Ed
a l d e Tres d e re chos
i o n s d
Nac
a d o s todos lo a Edun-
Reserv e d i c ión pa i 2736,
r
a n
de est REF), Mosco e nos
( U N T e B u
tref ñ a , P cia. d
Pe .ar
Sáenz u
Un proceso iterativo nos ayuda a:
r e f. e d
• Innovar: podemos . w w w.una
usar unot varias iteraciones para ex-
i r e s
plorarAalternativas. Si las alternativas son descartadas, el
proceso nos permite limitar el esfuerzo dedicado a ellas
mediante la asignación de un número acotado de itera-
ciones a esa exploración. Si las alternativas son seleccio-
nadas, pueden refinarse en futuras iteraciones.
• Minimizar el costo de nuestros errores: como cada itera-
ción aborda solo una parte del problema completo, si
nos equivocamos, no estamos arriesgando todo nuestro
proyecto.
34 • Construcción de software: una mirada ágil
z . . . [et.al.]
i
Un proceso c o a e
ás P por incrementos
literativo n U N TREF
© N ici
editerativo ó rescada ite-
e
Para ser efectivo, e sunt aproceso a l d
depende e deTque
d
© produzca resultados Na n
cio que nos den sensación
ración
r s i d a d concretos
untref
UniveSin esa sensación
de(avance.
a Edrevisar
esradifícil la planificación
y garantizareque
F b r e
el r o )
proyecto p en su
n i
conjunto
U v e rsidenaladdirec-
vaya
ción e
dcorrecta (es decir,dque e vaya la a cumplir con sus o).
eelrobjetivos).
t o r i a l e F e b r
( E
Para diayudar en esa tarea,
T r e s
es d
común dividir
h
produc-
os
to en incrementos,
o n a l e
dparticiones que spueden d e r e c
desarrollarse
i
Nac iteraciones o
dos lplanificar
en distintas
a d o s o
y tpermiten el trabajo
E n-pa-
duconjun-
r
Rese En eestev a r a
ra cumplir con el alcance
d i c ión p
completo mediante
i
un
2 7 6,
3produ-
to de iteraciones.
s t a
e eincrementoEoFrefina
modelo, n
cada iteración
c o
osanterior,
ce un d nuevo
T R ), Muno B
de n
u e os
manera
f
tal que alefinal ( U N . d e
, Pcia
todos los incrementos han sido construidos
tr ñ a
mediante sucesivos P e
refinamientos.
du.ar
Sáenz n t r e f. e
ww.u
Aires. w
No estamos solos
Este modelo de proceso iterativo y por incrementos no es
una característica exclusiva del desarrollo de software. Co-
3
Véase el capítulo “En retrospectiva”.
4
Entendemos por sustentable un nivel de esfuerzo que puede mantenerse du-
rante todo el proyecto, como opuesto a los esfuerzos excesivos como traba-
jar cuarenta horas extra por semana, que si se mantienen en el tiempo causan
serios problemas, incluyendo la rotación de personal (véase [DeMarco 1987],
capítulo 3).
Iterativo por naturaleza • 35
Delineando el alcance
Backlog de producto
El primer paso en el proceso de materialización de la vi-
sión es la definición del alcance. En términos ágiles, está
representado por el backlog de producto.1 Este backlog de
1
El término backlog de producto, en inglés product backlog, fue acuñado en
Scrum, pero en la actualidad se lo usa más allá de Scrum.
40 • Construcción de software: una mirada ágil
2
La sigla WBS hace referencia a Work Breakdown Structure, un artefacto de
uso muy común en la gestión tradicional de proyectos.
Delineando el alcance • 41
Figura 3.1.
Vista conceptual
del Story Map
de e
Identificar s t
lasa e
funcionalidades
ional de Tres
© aplicar la técnica
d a ac contar con marcadores,
desNnecesario
Para
e r s i
nivpapel, tarjetas) (opanotas Eduntref
(Ude
cinta
o r a autoadhesivas)
i d de d
a al me-
r
ebredistintos y una r s
Univededetrabajo
de oFmesa
nos tres colores superficie (una
d e l a o
rer tra- ) .
pizarra
i t o r i a l
amplia). Sobre la superficie
e F e b trabajo
d papel: el eje horizon-
(Eddos ejes utilizando
zaremos
d e es de
rcinta
Tmientras e hos re-
cvertical
i o
tal representará n a
el ltiempo, s
que d r
eleeje
Nacimportancia s t s lo (cuanto más
odelonegocio n-
duarriba,
presentará
e r v a d o para
a ra E
Res
más importante).
edici ón p i 2 736 ,
e s t a c o n
de
TR E F ), Mos B u e nos
(U N e
tref ñ a , P cia. d
P e .ar
Sáenz w.unt r e f. e d u
r e s . w w
Ai Figura 3.2.
Superficie de trabajo
para el VSM.
Figura 3.3
Identificación de
procesos de
negocio y
actividades
Rese rv a r
ión p
Visual Story Map
ta e d ic
on i 2 736,
de e s c
T R E F ), Mos B uenos
tref ( U N . d e
e ñ a , Pcia
Sáenz
P
n t r e f. e du.ar
ww.u
Aires. w
User stories
dezVisual
e et.al.]
... [ Story Mapping F ha-
Al describir la técnica
c o l á s P a U N T REhemos
© Ndei funcionalidades
blado n
ióaplicación.
ddeiclasuelen En los contextos
d e
ágiles dichas e s t a e
funcionalidades
i o n a l d Trescon user
e
representarse
© Alguien podría
stories.
s i d a Nacque las user stories son espe-
d pensar
( e
cificaciones r
Univ de requerimientos, a r a duntref
loEcual no es correcto. La
b
definición purista r e r o )
indica pque una user i v
storyees ad
rsunidrecordatorio
F e
derelevante que debe U n
la con el usuario,rloercual
de algo
r i a l d ehablarse F e b o).hace
( ito las userdestories
que aElodsumo
T r e s deconsiderarse
puedan
e c h
el título
os
i o n
de un requerimiento. a l s d e r
Las ac stories tienentoundoforma
Nuser s s lomuy simple,duconsiste n-
e rv a d o p a r a E
Res
en una oración escrita
e
en
d
el
ic
lenguaje del
iónel siguiente
negocio
7
que
3 6
ge-
,
neralmente se expresa
e es ta utilizando
osco ni 2
patrón:
d<rol> quiero R
Como EF), M para <beneficio>
T <funcionalidad> Buenos
f (UNcomunes, dePuser
treejemplos c de para un portal
ia.stories
a
nz Peñpodríantreser:f.edu.ar
Algunos
Sáeelectrónico
de comercio
w.un
i r e s
• ComoAcomprador . w wquiero buscar productos por rango
de precio para ver solo aquellos que estén a mi alcance.
• Como vendedor quiero poder duplicar una publicación
pasada para evitar cargar toda la información otra vez.
• Como moderador quiero editar las publicaciones para
asegurarme que respeten las políticas de la empresa.
Las user stories son un artefacto propuesto por Extreme
Programming, cuyo uso y popularidad se ha extendido
mucho más allá de este método particular. Posiblemente
44 • Construcción de software: una mirada ágil
z . . . [et.al.]
detalle la funcionalidad que el programador debe implemen-
i c o lás P a e
n U N TREF
tar. Por su parte, las user stories son intencionalmente vagas,
© N edici ó
pues lo que buscan es promover el diálogo entre quien debe
e e s t a a l d e Tres
© d n
implementar la funcionalidad y quien la ha requerido. Es jus-
Nacio
s i d a d
to esta diferencia de enfoque la que lleva a que en general
(Unive r r a Eduntref
no se utilicen casos de uso al trabajar con métodos ágiles.
a
F e b r ero) p
U n i v e rsidad
N.P.
de de la r ero).
t o r i a l e F e b
(Edi
Propiedades INVEST
d e sd
Tseresuele e choascier-
Al hablar deouser
i n a l stories
s e r
hacerdreferencia
Nac deseables
tas propiedades s to doestas
que s lodebieran cumplir.d un-Di-
r v a d o a r a E
chas R ese
propiedades enunciadas n
d i c ióen inglésp forman la 6sigla
7 3 ,
INVEST: s ta e c o n i 2
de e (independiente): E F ), enMoelssentido nos
• Independent U
f ( N TR
. d e B ueindepen-
de
trede las demás;ñesto
diente a , nos ia más libertad a la
Pcbrindará
P
enz y al mismo
deáplanificar e e u.ar ayudarnos
ddebería
horaS
n t r e f.
tiempo
wwa.ula hora de estimar.
Aires. w
a evitar ambigüedades
• Negotiable (negociable): una user story no es un contrato
de funcionalidad, pues sus detalles van evolucionando y
definiéndose conjuntamente entre el cliente y el desa-
rrollador a medida que se desarrolla.
• Valuable (valiosa): si una story no tiene valor para el
cliente entonces no tiene razón de ser.
• Estimable (estimable): si una story no puede ser estima-
da por el equipo entonces no es posible que este pueda
asumir un compromiso para su construcción.
Delineando el alcance • 45
Story Cards
Durante el proceso de análisis,
z . . . [ e t.aseal.]que se useFla técni-
ya
ca de Visual o ás PMapping
lStory ae o no, las user U TREsuelen es-
Nstories
N i c i ó n
© en fichastabibliográficas
cribirse
e s edic que seddenominan e s Story
Tlareuser
© d
Cards. Cada e story card tiene
cel i on a l
enunciado de story
N a
(Como <rol>
nivnegocio idad <necesidad>
ersquiero E d untref
para <beneficio>), el
(Ude
valor que tiene
o ) p a r
la a story y la cantidad
i d aded story
b r e r i v e r s
d e Fe
points que el equipo le asignó en
la poca Un
la estimación.
).
Las user stories
i t o r i a l d e
brindan muy
e e b
información
F rerorespec-
to de(Eladfuncionalidad,
l d e Treso
por es esdque se suele r e ch osque
decir
a c
son simplementeion a un recordatorio
s lodesd e
algo que debe ha-
N o d o
s tconsecuencia,arloaimportante Edu no n -
rvadenosí,
blarse con el cliente. En
esestories
son lasRuser
ición
sino la p
discusión que se
73 ,
da en6tor-
no a ellas. esta ed c o n i 2
e
Pordúltimo, F ), M os nos
( U N R
paraTdejar E bien u e
en claro las expectativas
e B
respectotredef la funcionalidad P cia. por
provista d cada user story,
e ñ a , .lasarcondiciones
al dorso de la n
S á e z P
story card se suelen
r e d
escribir
f . e u
de aceptación de la story,
w uncuales
w.tenga
las t funcionan como una
Ai
especificación r e s .
para w quien que implementarla.
En resumen, estas tres particularidades suelen ser referi-
das en inglés como CCC:
• Card: la tarjeta física donde se escriben las stories.
• Conversation: la discusión que debe darse entre el
cliente y el equipo de desarrollo en torno a cada user
story.
• Confirmation: los criterios de aceptación que verifican
el cumplimiento de las user stories.
46 • Construcción de software: una mirada ágil
Figura 3.5.
Story Card
z . . . [et.al.]
i c o lás P a e
n U N TREF
© N edici ó
e e s t a a l d e Tres
© d Nacio n
s i d a d
(Unive r
a r a Eduntref
F e b r ero) p
U n i v e rsidad
de de la r ero).
t o r i a l e F e b
(Edi temprana
Épicas y Temas
d e es d es común
Trproyecto e hosno se
cque
En una etapa n
i o a l del
s d e r
lo funcionalidades.
ac
tengaNdemasiado t o dosalgunas n-
r v a d o s
detalle sobre
a r a E dufuncio-
R se
Más alláede esto, puede
e
que
d i c
ya
n p
se sepa que
iyóseguramente algunas
2 7 ,
36más
nalidades serán muy
s ta grandes
c o n i
requieran
e e para serEimplementadas.
de unaditeración F ), Mos A estas user s
nosto-
( U N T R d e B u e
tre f
ries “grandes”, que por serlo no
cia .
cumplen
, Pépicas.
con las propieda-
des INVEST, se las P e ñ a r
duya.asea
suele llamar
Sáelado,nzen ocasiones tresulta r e f. e
Por otro
w w w . u n útil, por cues-
Aires.
tiones de negocio o de planificación, agrupar
user stories solo para facilitar su identificación. Estos con-
conjuntos de
Otras técnicas
Existen algunas otras técnicas de uso común en contextos
ágiles para la identificación del alcance del proyecto.
Una de estas técnicas es la conocida como Impact
Mapping, desarrollada por Gojko Adzic [Adzic2012]. Esta
técnica va más allá de la identificación del alcance, trabaja
sobre la planificación estratégica, con un foco importante
. . [ e l.] los involucrados
t.aentre
en la comunicación y colaboración
s P ae z . T REF
técnicos yo
c delánegocio.
Ni técnica de análisis U N
©Otra t a e cióesn la denominada
diágil resProduct
TVisual
e
Canvas d[Pichler s
e 2013]. Esta, alioigual n a l d e
© N a c
adalternativa alEclásico
que el Story
ersidhace
Mapping propone
(UnLaivmisma
una
a r a untref
dfoco Product Backlog
lineal.
r e r o )unpimportante
e rsida d
en los destinata-
d e
rios del F e b
software en construcción
a U y n i
estáv basada en varios
e l
dse ubican sobre un o )
rerfísico. .
elementos visuales
i t o r i a l que
e F e b
canvas
(Ed
Por último, nos pareceTrelevante
l d e res d destacarreque c h o
máss allá
a
naquí mencionadas, e
d herramientas
Naciocomo
de las técnicas
o s to d o sUML os otras
lhay
E un-
dactivida-
tradicionales
e r v a d los diagramas
a
de clases,
r a
des y R es que suelendresultar
estados,
e i c iónmuypútiles para i 736,
compren-
2
der el dominio e s ta
de un negocio. Asimismo,
os c o nes importante
deque cuando seRE F ), M s
nomis-
,elos
destacar
( U N T utilizan diagramas UML
d e B u
mos notrse efsuelen generarautilizando, P cia.software, sino que se
P e ñ r
nz informal
Sáeleentendimiento
dibujan de manera
u n t r e f. e .a pues el fin
en pizarrasdoupapel,
es facilitar
w w. y no la documentación.
Aires. w
En resumen
En este capítulo hemos analizado un conjunto de técni-
cas y artefactos de uso común al trabajar con métodos ági-
les. Como puede notarse en la descripción de cada técni-
ca, se propone trabajar cara a cara con el cliente, valiéndose
de herramientas físicas. Esto no impide que luego de cada
actividad todo sea volcado en algún software, pero es im-
48 • Construcción de software: una mirada ágil
z . . . [et.al.]
i c o lás P a e
n U N TREF
© N edici ó
e e s t a a l d e Tres
© d Nacio n
s i d a d
(Unive r
a r a Eduntref
F e b r ero) p
U n i v e rsidad
de de la r ero).
t o r i a l e F e b
(Edi d e Tres d e chos
i o n a l s d e r
Nac
d o s to dos lo E dun-
r v a a r a
Rese e d i c ión p 2 736,
s ta c o n i
de e ), Mos
f ( U N T R E F
. d e B uenos
tre ñ a , Pcia
Pe du.ar
Sáenz n t r e f. e
ww.u
Aires. w