Requisits àgils
User stories que es poden fer, provar i estimar
El backlog és el cor del projecte: si les històries estan ben escrites, planificar, estimar i demostrar que esteu avançant és fàcil. Aquí teniu el format, exemples bons i dolents, i un parell de jocs per practicar.
El format
Cada història diu qui vol què i per què. El "per què" no és decoració: és el que permet prioritzar i decidir quan la història aporta valor.
Podeu escriure-les en català, castellà o anglès, però sempre amb la mateixa plantilla. Les històries s'agrupen en èpiques, es descomponen en tasques i es mesuren amb story points.
Com a ciclista, vull veure les estacions amb bicis lliures a prop meu de manera que no hagi de caminar en va.
Como ciclista, quiero ver las estaciones con bicis libres cerca de mí de manera que no tenga que caminar en vano.
As a cyclist, I want to see stations with free bikes near me so that I do not walk for nothing.
Toca cada lletra
INVEST: les sis preguntes de control
Abans i després
Cinc històries reescrites
Exemples d'una app de mobilitat que fa servir les dades obertes del Bicing.
Fer l'endpoint /estacions amb Express.
És una tasca tècnica: no diu qui la vol ni per què.Com a ciclista, vull veure les estacions amb bicis lliures a prop meu de manera que no hagi de caminar en va.
L'endpoint serà una de les tasques d'aquesta història.Com a usuari, vull una xarxa social de ciclistes.
Massa gran: és una èpica, no una història.Com a ciclista, vull seguir altres ciclistes de manera que vegi les seves rutes al meu feed.
Una peça concreta de l'èpica "Comunitat".L'app ha de ser ràpida.
RNF impossible de comprovar.Criteri: el 95 % de les peticions que no són cerques responen en menys d'1 segon.
Mesurable, i es comprova a les històries on aplica.Com a usuari, vull un botó verd a dalt a la dreta.
Imposa la solució i no diu per a què serveix.Com a usuari, vull reservar una bici des del mapa de manera que la tingui garantida quan arribi.
El disseny del botó es decideix a les maquetes.Com a usuari, vull iniciar sessió.
Sense benefici ni criteris: quan està feta?Com a usuari, vull iniciar sessió amb Google de manera que no hagi de recordar una contrasenya nova.
Criteris: entra amb un compte vàlid, mostra un error clar si cancel·la, la sessió dura 30 dies.Criteris d'acceptació
Afegeixen el detall que falta a la història i diuen exactament quan està complerta. Es validen amb proves d'acceptació, idealment automatitzades. Escriviu-los a Taiga, dins de cada història.
Un format que funciona molt bé és Donat / Quan / Aleshores (Given / When / Then): context, acció i resultat esperat.
Al Fag-2 ja es demanen els criteris més importants de cada història del backlog, encara que no estiguin molt detallats.
Donat que sóc a 300 m de dues estacions i només una té bicis lliures Quan obro el mapa Aleshores veig les dues estacions i la que té bicis apareix destacada amb el nombre de bicis disponibles
Donat que no tinc connexió Quan obro el mapa Aleshores veig les dades de l'última càrrega amb l'hora d'actualització
Requisits no funcionals (RNF)
- Si afecten tot el sistema (rendiment, seguretat, idiomes), creeu-ne una història pròpia i identifiqueu tants criteris d'acceptació com pugueu. Després es comproven a cada història on apliquen.
- Si són locals (privacitat al login, per exemple), poseu-los directament com a criteri d'acceptació de la història.
- En tots dos casos: mesurables i realistes. "Ràpid" no; "menys d'1 segon el 95 % de les vegades" sí.
- Deixeu clar on viuen a Taiga: és un dels aspectes metodològics que es valoren.
Story points i planning poker
Els punts són una mesura abstracta de complexitat, no d'hores. Feu servir una escala com 1-2-3-5-8-13 i estimeu cada història per analogia (s'assembla a una altra), judici expert o desagregació (la partiu mentalment).
El planning poker combina les tres: tothom vota alhora; si hi ha molta dispersió, qui ha votat més alt i més baix ho expliquen i es torna a votar. Proveu-ho aquí amb l'equip simulat:
Quan cal dividir una història
- Si encara és massa gran per a un sprint, o si hi cabria però no queda espai.
- Dividiu-la per dades (primer estacions, després carrils bici), per funcionalitat (veure, filtrar, reservar), traient aspectes transversals (multiidioma a part) o per prioritat.
Com prioritzar
Valor econòmic, cost de desenvolupament, coneixement nou que aporta (del producte i del projecte) i risc que elimina.
Practica