|
Ejemplo de una historia de usuario de Kent Beck. Fuente: Extreme Programming Explained, de Kent Beck |
Brevísima historia detrás
de la historia de las historias de usuario
Durante un entrenamiento
a entrenadores de historias de usuario, hace poco nos preguntaban a
Jorge y
a mí sobre el origen de las historias de usuario. Por alguna razón olvidada
para mí, en el libro omitimos ese pequeño detalle, aunque mencionamos a
Connextra cuando hablamos de la forma más usual que suelen tomar las historias
de usuario:
Como rol deseo característica Para beneficio
Bueno, aquí les escribo lo que les contamos a los
entrenadores:
La historia de las
historias de usuario
No es la primera vez que nos preguntan y durante todos estos
años, he visto a mucha gente en las redes sociales hacer lo mismo. Por ejemplo,
me encontré con este tuit de Seb Rose en octubre de 2019:
Hola,
historiadores de Scrum, tengo algunas preguntas:
- Las historias
de usuarios comenzaron con XP, documentadas por primera vez en el '98. ¿Es eso
cierto?
- Sutherland
ejecutó el primer proyecto Scrum en el '93. ¿Usaron historias (o similares)?
- Las historias
de usuario ahora están integradas en la práctica de Scrum. ¿Cuándo sucedió eso?
Hay todo un hilo de respuestas. Entre estas, una de Mike
Cohn, quien fue convocado por algunos otros tuiteros:
Rachel Davies
escribió sobre esto en un artículo. Luego escribí sobre eso en mi libro.
Se refería a ese formato que él mismo popularizó en su libro
sobre historias de usuario.
Por supuesto, la intervención de la misma Rachel Davies no
se hizo esperar:
Tuve
conversaciones con @mikewcohn en la XP2001 donde presenté un póster que incluía
la plantilla de la historia de Connextra y fui revisora de su libro sobre
Historias de usuario. Él fue influenciado por XP en ese momento ya que el libro
de Scrum acababa de salir.
Ya en 2014 había tenido la oportunidad de conocer sobre
Rachel Davies vía una versión cruda y sin editar del libro User Story Mapping
de Jeff Patton.
En el libro, Patton muestra una fotografía de su amiga:
Rachel
Davies mostrando una tarjeta de historia.
Fuente: User Story Mapping by Jeff Patton,
Peter Economy
Sobre el
origen de las historias de usuario y de sus formas
Es bien
conocido que las Historias de usuarios se originaron con eXtreme Programming
(XP). Lo que es poco conocido es que su primera descripción escrita en 1998 solo afirma que los clientes
definen el alcance del proyecto "con
historias de usuarios, que
son como casos de uso".
En lugar de
ofrecerse como una práctica distinta a XP, se describen como una de las
"piezas del juego" utilizadas en el "Juego de Planificación” (Planning
Game) del mismo XP.
Recordemos
que eXtreme Programming (XP) fue desarrollada por Kent Beck en 1996 y a partir
de allí la refinó hasta publicarla en su libro Extreme Programming
Explained en 1999.
De hecho, Jeff Patton indagó con el mismísimo Kent sobre el
origen específico de las historias de usuario:
Lo que estaba
pensando era en la forma en que los usuarios a veces cuentan historias sobre
las cosas nuevas y geniales que hace el software que usan. [Por ejemplo,] Si
escribo el código postal y se completa automáticamente la ciudad y el estado
sin tener que tocar un botón.
Creo que ese fue
el ejemplo que desencadenó la idea. Si puedes contar historias sobre lo que
hace el software y generar interés y visión en la mente del oyente, ¿por qué no
contar historias antes de que lo haga el software?
- Kent Beck a Jeff Patton, por
correo electrónico personal, agosto de 2010
Figura 7. Ejemplo de Tarjeta de Historia
Fuente: Extreme Programming Explained, by Kent Beck
En el libro,
Beck no dice mucho sobre las historias, hacen parte de las prácticas primarias,
junto con otras que conocemos ampliamente como Pair Programming, Continuous
Integration y Test-First Programming, sí, esa que a la postre se convertiría en
la Test-Driven Development de hoy, entre algunas otras. Sobre las historias
(que aún no eran “de usuario”), Kent enfatiza:
“Escribe las historias en fichas y colócalas en una pared por la que pases
con frecuencia. La Figura 7 es una tarjeta de muestra de una historia que deseo
que implemente mi programa de escáner. Cada
intento que he visto de informatizar historias ha fallado en proporcionar una
fracción del valor de tener cartas reales en una pared real. Si necesitas
informar el progreso a otras partes de la organización en un formato familiar,
traduce las tarjetas a ese formato periódicamente”.
Fuente: Extreme Programming Explained, by Kent
Beck
La
advertencia de registrar las historias en herramientas ya venía desde entonces.
Recordemos que XP, junto a Scrum, eran los dos marcos de trabajo dominantes cuyos
autores estuvieron presentes en la declaración del Manifiesto Ágil.
Más
adelante, en 2001, Ron Jeffries propone el modelo de Tarjeta, Conversación,
Confirmación, para distinguir historias de usuarios "sociales" de
prácticas de requisitos "documentales", como los casos de uso. Pueden leer su artículo en:
Como nota
tangencial, este modelo lo llamamos aliteración
Carta, Conversación, Confirmación en nuestro libro de historias de usuario.
Ese mismo
año, 2001, Rachel Davies presentó su charla "Tuning XP" en el XPDay
con Tim Mackinnon, donde presentaron el formato de historia que usaban en
Connextra:
"As a role
I want feature so that benefit"
Años más
tarde, en 2006, Davies reflexionaba sobre esta “plantilla” antes de dar a
conocer sobre un ejercicio que usó en uno de sus entrenamientos. Ella decía
que:
“Este formato puede llevar a las
personas a centrarse más en los intereses de los usuarios finales que en la
perspectiva de la persona que presenta el caso de negocio. Además, cuando se
les da una plantilla, las personas pueden comenzar a tratar las tarjetas de
historias escritas de esta manera como especificaciones de requisitos mínimos que
se centran en las palabras escritas en lugar de usar historias como
herramientas para conducir una conversación. Peor aún, las historias que no se ajustan a esta
forma serán maltratadas hasta que lo hagan”.
Rachel tiene razón. Esta es una de las grandes anomalías o
antipatrones que hoy por hoy siguen presentándose con el uso de las historias
de usuario y por ello insistimos tanto a lo largo y ancho de nuestro libro que
las historias de usuario son un instrumento de conversación y de colaboración.
Pero no nos desviemos de nuestra historia.
En 2003, Bill Wake
creó el mnemotécnico INVEST para iniciativas ágiles de desarrollo de
software, como un recordatorio de las características de un elemento de Product
Backlog de buena calidad.
Según el mismo Wake
este elemento, PBI para abreviar, puede
escribirse comúnmente en forma de historia de usuario, pero no es obligatorio. Como
sabemos estos PBI se pueden usar en un Product Backlog tipo Scrum, en un
tablero Kanban o un proyecto XP.
En 2004,
Mike Cohn publica su libro: User
Stories Applied:
For
Agile Software Development,
donde ayuda a popularizar el formato de Davies y su equipo en Connextra. En
el hilo de Seb Rose alguien le dice a Mike que fue él (Cohn) quien popularizó
el formato, además de los puntos de historia y de la velocidad, ampliamente
usados con Scrum. Mike lo corrige:
He contribuido a la popularidad de ellos pero no originé ninguno.
Y todo ello nos trajo hasta aquí.
Epílogo
En lo
personal, me parece una historia fantástica. Una a la que hemos asistido en
nuestro tiempo. Tardé en empezar a usar historias de usuario pero cuando llegué
a ellas hará unos ocho o nueve años, me ayudaron a derrumbar los antiguos
paradigmas con los que venía trabajando hasta entonces.
Y en el
futuro me gustaría que alguien hablara de mi Lienzo para Conversar sobre Historias
de Usuario como parte de la historia de las historias de usuario. Por eso quise
terminar la historia a nuestros entrenadores con esta parte:
En 2018,
Jorge Abad y Lucho Salazar publican finalmente su libro: Historias
de usuario: una visión pragmática, que incluye el
User StoriesConversation Canvas, un lienzo para que los usuarios, Dueños de Producto,
Gerentes de producto y otros interesados
mantengan
conversaciones efectivas con los miembros de los equipos de desarrollo de
productos y se construyan productos o servicios extraordinarios.
Fuente:
¡conversaciones con Jorge y Lucho!
Fin de
la Historia de las Historias de Usuario
Referencias
Además de las fuentes explícitas, pueden consultar algunas
otras para saber más sobre esta genial historia: