Introducció
En aquest activitat formativa farem servir el projecte TIME per aprendre els principis bàsics d’Scrum.
El projecte el podeu trobar en aquest enllaç: https://proven.youtrack.cloud/projects
Quan un grup de persones s’ajunten per per un treball conjunt són necessàries unes regles bàsiques perquè s’obtinguin resultats.
Per això, la majoria d’equips a nivell professional fan servir Scrum, i tu has d'aprendre les regles bàsiques d’Scrum per poder treballar en equip.
Rols
El primer que has de saber és que de la mateixa manera que en un equip de futbol hi ha jugadors, entrenadors i directius, en un equip Scrum també hi ha aquests tres rols fonamentals.
La gent que va crear Scrum pensava en el rugby, perquè a diferència del fútbol, en el rugby els jugadors es deixen la pell literalment.
Per tant, per entendre Scrum hem de parlar d’un partit de rugby.
En terminologia Scrum hi ha dos rols fonamentals:
1.- Developers
En un partit de rugby l’objectiu és guanyar i els jugadors han de treballar en equip i esforçar-se al màxim per aconseguir aquest objectiu.
El ritme d’un partit de rugby és semblant al d’un projecte: reunions ràpides, reaccionar ràpid als imprevistos, improvitzar en molts casos, etc. amb un únic objectiu: aconseguir punts.
Desenvolupar un projecte és el mateix, i l’equip de projecte ha de funcionar de manera semblant.
2.- Product Owner
El product owner és l’entrenador.
A diferencia del fútbol, els entrenador es situen a la grada per analitzar el desenvolupament tàctic del partit i verificar que es compleixen els plans de joc.
En tot projecte és necessita algú que el gestioni i que estigui fora del camp de joc per tenir una visió global del que està passant.
Ja saps que molts jugador pensen que l’entrenador no té ni idea i que jugarien millor sols, i molts entrenadors pensen que els jugadors no saben res i que el que han de fer és callar i fer el que els manen.
Però la realitat és que els dos rols són necessaris, i per això Scrum deixa clar que l’entrenador és l’entrenador i els jugadors són els jugadors, però els dos es necessiten l'un a l’altre
El tercer rol fonamental és el:
3.- Scrum Master
És la persona que ajuda tothom a entendre la teoria, pràctiques, regles i valors de l’Scrum.
I la directiva? Són els Stakeholders, els que marquen les estratègies de l’entitat.
Com pots veure Scrum no es cap novetat, només deixa clar qui és qui.
Scrum: Treball d’equip
Com estudiants sabeu per experiència que treballar en grup és complicat perquè cadascú vol fer les coses de manera diferent, no us poseu d’acord, alguns treballen menys que els altres, hi ha companys que no responen, però com que és l’Institut no passa res.
Però les empreses no estan per romanços, i si un equip no funciona ja buscaran a algú altre.
I el context més exigent és un equip de rugby, on els teus companys esperen el màxim de tu i han d’anar tots a la una, sobretot quan es fa Scrum:
I si encara no tens idea de que és un Scrum mira aquest vídeo:
L’organització on treballareu espera el màxim de vosaltres i que sapigueu treballar en equip. Nosaltres com a professors, volem que els estudiants treballeu en equip quan feu un projecte en grup.
I us hem d’ensenyar com.
Però com podem aconseguir això? Aplicant la metodologia Scrum.
Valors
Scrum considera que tots els membres de l’equip han de respectar i creure en cinc valors fonamentals.
Però molts equips pensen que això dels valors fonamentals només són paraules, i que hi ha coses més importants.
Això és així perquè no juguen a rugby i no s’han hagut d’enfrontar a la selecció de Nova Zelanda, que és la que més respecta i transmet al camp el seus valors fonamentals:
I els altres equips han après a respondre a la Hakka perquè cada equip té els seus valors:
El mateix passa en els equips de treball que no respecten el valors fonamentals d’Scrum:
No poden competir amb els altres equips de treball que si que respecten els valors fonamentals d’Scrum.
YouTrack
Per treballar amb Scrum farem servir una eina que es diu YouTrack.
Crea una instància al núvol
El primer que ha de fer el Product Owner del vostre grup és anar a https://www.jetbrains.com/es-es/youtrack/ i crear un instància de Youtrack al núvol.
Heu de seleccionar un nom per al vostre equip.
El nom seleccionat no cal que tingui relació amb el vostre projecte perquè una instància de Youtrack està dissenyada per gestionar molts projectes a la vegada.
A continuació rebràs un un correu per verificar el teu compte:
Fes clic a Verify me and go! i identifica’t a la nova pàgina on has de ficar el password del compte que has creat:
Un cop cliquem a Siguiente, trigarà una estona en 'Preparando la instancia'.
Invita als membres del teu equip
El Product Owner ha d’invitar al reste dels membres del grup.
1.- Has d'anar a Settings → Users
2.- Has de fer clic a New User..., escriure les adreces de correu electrònic dels teus companys de grup, i fer clic al botó que posa Invite per enviar les invitacions.
3.- Els teus companys han d’acceptar les invitacions que els hi han arribat per correu electrònic.
Han de fer clic a Set Up My Account i registrar-se a la instància de YouTrack que acabes de crear.
4.- 4.- Una altra opció és registrar directament els teus companys i dir-li el seu nom d'usuari i contrasenya. Però no cal, al cap i a la fi fem educació presencial i l’assistència és obligatòria.
Crea un nou projecte
Per defecte Youtrack et crea un nou projecte Demo perquè aprenguis a fer servir YouTrack, però només és útil si ja saps Scrum.
Ves a Projects i fes clic a Create Project:
Introdueix el nom del teu projecte, escriu una descripció realista del teu projecte i selecciona un projecte de tipus Default:
I ja tenim el nostre projecte a punt per començar a treballar.
Team
YouTrack permet gestionar molts projectes al mateix temps.
El primer que has de fer és crear el Team del teu projecte escollint alguns usuaris registrats en la teva instància de YouTrack (en el teus cas tots)
Fes clic al menú Team:
Afegeix un usuari al teu equip:
Fes que sigui un membre actiu del projecte (que hagi de pencar):
Product Backlog
El "Product Backlog" és una pila de tasques que has de fer per construir el producte final.
Com ja has de saber la manera és que es fa un una tasca és dividint la tasca en tasques més petites, i dividir aquestes tasques en tasques més petites, i … suposo que ja has captat la idea.
Product Goal
El projecte Calçotada està molt bé, però els alumnes del proven necessitem un repte millor.
Què et sembla el projecte Time?
La primera tasca sempre és l’objectiu del projecte (el Product Goal).
Selecciona l’opció de crear una nova tasca (Issue):
I ja pots crear la primera tasca!
Recorda que has de complir amb aquest objectiu, i si no compleixes amb aquest objectiu el projecte es considera fallit per molt d’esforç que hagueu dedicat al projecte.
Els professors sabem que els estudiants us hem de donar una mica de peixet, però en el món laboral un projecte fallit és una inversió perduda i en alguns casos el final de l'empresa.
Tasques
A continuació el "Product Owner" ha de crear les tasques de segon nivell que serviran per definir els sprints que es faran en el projecte Scrum.
Recorda que tota tasca ha de ser subtasca d’alguna tasca, excepte la primera tasca que és l’objectiu del projecte!
Fes clic a New Issue i omple els camps corresponents:
I de mica en mica vas construint l’arbre de tasques:
I ves fent, que això és feina teva, no de l'Scrum Màster.
L'Scrum Màster només ha d’ensenyar com aplicar Scrum.
Product Backlog
El resultat de crear totes aquest tasques és el product backlog, que traduït al català vol dir:
Totes les tasques del project pendents de fer i que no s’han començat a fer.
Sprint
Un Sprint és un subprojecte que ha de durar pocs minuts en el rugby, i entre 1 i 4 setmanes en las nostra feina.
En el Rugby està clar que si no aconsegueixes fer un assaig l’Sprint no haurà servit per a res.
Per això recorda que encara que l’Sprint sigui un subprojecte no deixa de ser un projecte!
Per tant ha de donar un resultat incremental que sigui útil.
Tauler de treball
Scrum no diu res respecte taulers perquè és una eina, no un principi bàsic.
Per poder treballar necessiteu un tauler de treball específic per l’equip, i els equips Scrum normalment fan servir taulells semblants als de Kanban
El primer que has de fer és seleccionar un Tauler Scrum:
I a continuació has d’omplir les dades que et demanen:
En el tauler podras veure que en el Backlog estan totes les tasques pendents del projecte:
Estar clar que no podem construir la màquina del temps per art de màgia, i de moment no disposem d’una vareta màgica per crearla amb un “abracadabra”.
El món real és més complexe, però la solució és molt senzilla.
Sprint Goal
El que ha de fer el "Product Owner" és seleccionar aquella tasca de segon nivell que serà l’objecte del primer Sprint.
Si volem fer moltes coses al mateix temps mai acabarem de fer res, i Scrum ens diu que ens hem de centrar en un subconjunt de tasques que han d’estar relacionades, i com equip fer un scrum.
En el nostre cas seleccionem la tasca de segon nivell “Aconseguir un mini-reactor nuclear”, però tu pots triar una altre si vols.
TODO (revisar: millor consulta) Si mires en que consisteix el Backlog pots veure que és un consulta guardada de tots els assumptes del projecte time que no estan assignats:
Sprint Backlog
Ja deus saber que no és el mateix aconseguir un mini-reactor nuclear que comprar un mòbil.
Aquest és el motiu pel qual és una tasca de segon nivell i no de quart o cinquè nivell, i el primer que hem de fer és dividir la tasca en subtasques de nivell 3:
Tots els membres de l’equip poden ha d’anar dividint les tasques en subtasques fins que aquestes subtasques siguin realitzables per l’equip de treball.
Per exemple, un membre de l’equip pot afegir a la subtasca “Comprar reactor” una subtasca “Negociar amb Seaborg”
Potser així es veu més clar:
Quan un membre de l’equip considera que ja es pot treballar amb una de les subtasques, la incorpora a l’inici de la línia de treball del tauler fent clic a la icona corresponent:
I ja tenim la tasca a l’inici de la línia de treball!
Si vas a la tasca pots veure el seu estat:
Creació contínua
En algunes ocasions se sap exactament tot el que s’ha de fer, en altres se sap més o menys el que s’ha de fer, i el que és pitjor, bastantes vegades no se sap gaire el que s’ha de fer.
Cap problema, a l’inici de l’Sprint no cal que estiguin totes les tasques a fer a l’Sprint Backlog.
Només recorda el principi fonamental de la informàtica:
Divideix una tasca en tasques més petites, i aquestes en altres tasques més petites, fins que apareguin les tasques que sí que es poden portar al tauler de treball.
Però t’ha de quedar ben clar que, encara que es poden afegir tasques i modificar tasques, que és el més habitual:
-
Mai es pot modificar la tasca principal, l’Sprint Goal.
-
No es poden afegir tasques que no siguin subtasques, directes o indirectes, de l’Sprint Goal.
Vosaltres com equip us heu compromès a aconseguir un objectiu, l’Spring Goal.
Cada jugada és diferent, molts cops passen coses inesperades, us heu d’adaptar, canviar d’estratègia, però si al final no aconseguiu fer un assaig, tot l’esforç no haurà servit per res.
Documents
En Scrum hi ha uns esdeveniments obligatoris que han de quedar documentats.
YouTrack té una “Base de coneixements” en la què pots crear documents: Knowledge Base
Sprint Planning
El primer document que heu de crear a cada Sprint és el de la planificació de l’Sprint en el què s’ha de decidir quin serà l’Sprint Goal i definir el treball que s’haurà de realitzar.
Tot l’equip Scrum ha de participar, i el Product Owner ha d’assegurar-se de què tots els participants estan preparats per poder planificar i treballar en aquest Sprint.
El Scrum Team també pot convidar altres persones a participar en el Sprint Planning i donar consells.
Aquest document es crea en cada Sprint que feu.
Daily Scrum
Cada dia, el primer que heu de fer, és una reunió ràpida de màxim 10 o 15 minuts per comentar com va el projecte i planificar que aneu a fer durant el dia.
Afegeix un subarticle:
Sprint Review
Un cop hem acabat l’Sprint, hem de valorar els resultats obtinguts i decidir que fer a continuació.
Sprint Retrospective
També hem de parlar de tot el que no ha funcionat com equip en aquest Sprint, i tractar d’identificar que hem de fer per millorar i com podem fer-ho