Metodologia SCRUM : Anàlisi i aplicació pràctica per a ...
Transcript of Metodologia SCRUM : Anàlisi i aplicació pràctica per a ...
Metodologia Scrum: Anàlisi i aplicació pràctica per a equips distribuïts
Judith Tierno BarrosoEnginyeria tècnica d’informàtica de gestió
Gener 2016
Treball de final de carrera – Resum executiu
1. Context del projecte
2. Gestió de projectes
3. Filosofia de les metodologies àgils
6. Conclusions
5. Cas pràctic
Continguts
4. Scrum
3
Context del projecte
¿Per què aquest projecte?
La inquietud de fer aquest projecte vedonada per la meva experiènciapersonal amb la gestió de projectes amb Scrum. Professionalment vaig tenir la oportunitat de participar en un projecte a on vàrem introduir metodologies àgils, però, la seva aplicació incorrecta va portar a un fracàs. És per això que en aquest projecte he volgut analitzar la metodologia Scrum i veure els seus pros i contres aplicant-lo a un projecte real.
Objectius del projecte • Veure els factors principals de la
gestió de projectes tradicional.
• Analitzar Scrum com a metodologia de gestió de projectes
• Aplicar Scrum sobre un supòsit que podria ser un cas real del projecte
• Analitzar els pros i contres de la metodologia
4
Blocs principals del projecte
El projecte es divideix en quatre blocs principals que segueixen un curs lògic per a poder portar a terme els objectius del projecte.
Al primer bloc s’analitza la gestió de projectes tradicional i el model en cascada, el més estès per a gestionar projectes avui dia.
Analitzem els pros i contres de la metodologia envers el cas real a més de veure altres factors aliens, però que també tenen influència.
Al segon bloc analitzem la metodologia d’Scrum en detall.
Veiem tots els seus components i el marc de treball que ens dóna.
Plantegem un cas pràctic que ens ajuda a veure com s’aplica la
metodologia Scrum a un cas real d’un projecte de desenvolupament.
1. Gestió de projectes
4. Conclusions
2. Metodologia Scrum
3. Supòsit de cas pràctic
Per a la gestió d’aquest projecte s’ha aplicat la metodologia Scrum, tant per a la seva planificació global com per al seguiment
5
Bases de gestió d’un projecte
El cicle de vida d’un projecte de gestió de Software
Quan ens plategem un nou projecte de software, sabem que existeixen un passosbàsics que ens marquen el procés a seguir.
Aquest procés ens ajuda a donar un ordre lògic al projecte i a prioritzar en cadamoment el que és més important. Els passos bàsics que se solen considerar són:
• Presa de requeriments• Anàlisi• Implementació• Proves i Validació• Posta en marxa
L’objectiu de seguir un procés es aconseguir resultats predictibles, que millorin laqualitat i la productivitat del projecte.
6
El model en cascada es el marc de treball que s’ha utilitzat històricament en eldesenvolupament de projectes IT.
El model en cascada
Definició abast
Requeriments
Anàlisis funcional
Disseny tècnic
Desenvolupament
Proves unitàries
Provesacceptació
Desplegament
El client no veu resultats fins al final del procés
El procés d’entrega s’allarga en el temps
No es contemplen canvis de requeriments
A la fase de proves poden detectar-se problemes complexos
7
Els projectes IT seguint el model en cascada parteixen de la base de que s’ha tancatprèviament l’abast del projecte, el temps de duració i el cost total. En el moment en que sorgeix alguna variació en qualsevol d’aquests tres factors, l'èxit del projecte pot estar en joc.
Factors crítics
Abast Temps
Cost • Amb un abast tancat és difícil gestionar canvis, ja que comporta renegociar les condicions contractuals amb el client.
• Durant el procés de desenvolupament, elclient no té feedback ni visibilitat sobre el resultat final.
• Qualsevol variació sobre aquests tres factors posa en risc el projecte.
8
Metodologies àgils
Les metodologies àgils tenen una filosofia en comú, aportant un enfoc de desenvolupament iteratiu en comptes de lineal per a fer front als punts febles que sorgeixen treballant amb les metodologies tradicionals.
El manifest àgil
Prioritzem…
ü Individus i interaccions
ü Programari que funciona
ü Col·laboració amb el client
ü Resposta al canvi
Per sobre de…
• Processos i eines
• Documentació exhaustiva
• Negociació de contractes
• Cenyir-se a una planificació
9
Amb les metodologies àgils
1. Desenvolupament iteratiu2. Desenvolupament centrat en
resultats i entregues3. Entregues parcials per rebre
feedback4. Acceptació de canvis al requisits
com a norma5. Auto-organització de l'equip6. El client forma part de l'equip
Diferències principals entre metodologies
Amb la metodologia en cascada
1. Desenvolupament lineal2. Desenvolupament centrat en
fases de validació (cascada)3. Entrega a la fase de proves4. Els canvis de requisits s’han de
negociar5. L’equip és gestionat per un
responsable 6. El client rep feedback als
seguiments, però no està integrat a l’equip
10
SCRUM¿Què és Scrum?
Scrum és un marc de treball para gestionar projectes segons la filosofia degestió àgil de projectes. Ens dóna una metodologia complerta per a lagestionar projectes seguint la filosofia àgil.
Pilars de la metodologia Scrum
En lloc d’una planificació i execució complerta del desenvolupament
Desenvolupament incremental01 Aconseguir
qualitat02Posant més èmfasi en el coneixement de l’equip i a seva auto-organització i no en els processos
Abordar diferents fases a la vegada03En comptes de fer-ho de manera seqüencial o en cascada
11
Introducció a Scrum
• Els desenvolupaments es basen en un procés iteratiu. Cada iteració té la mateixa duració (entre una i quatre setmanes) i s’anomena Sprint.
• Els requeriments del producte a desenvolupar estan recollits en el que s’anomena Backlog de producte, que ens serveix per a definir quin és l’abast del projecte.
• Cada sprint comença amb la selecció de tasques del backlog que s’abordaran a la propera iteració en base a la priorització feta pel client.
• L’equip de desenvolupament valora la carrega de feina a l’inici de cada sprint per a cada una de les tasques de l’sprint.
Conceptes bàsics d’Scrum
12
ElementsProduct backlogLlistat del requeriments del productea desenvolupar. Conté tantrequeriments funcionals definits pelclient, com requeriments de l’equipnecessaris per a portar a terme elprojecte.Sprint backlogSubconjunt de tasques del backlogque s'executaran al sprint en curs.Burn down chartGràfica de seguiment a on es mostra el grau d’avanç i l’esforç pendent. S’aplica al backlog i per cada sprint.
Components de la metodologiaScrum compta a la seva metodologia amb tres tipus de components:1. Elements: Reports de els graus d’avanç per al seguiment i control2. Reunions: Punts de seguiment, control i definició3. Rols: Figures involucrades per a la pràctica de la metodologia
ReunionsSprint planningReunió de planificació de la iteració a on se seleccionen les tasques i es valora l’esforç necessari.Daily meetingReunió de seguiment a on l’equip revisa l’sprint. Cada membre respon a: què faràs avui, què vas fer ahir i 3. quins impediments t’has trobat.Sprint reviewRevisió de l’sprint amb client a on es fa una demo del que s’ha desenvolupat.Sprint retrospectiveAnàlisi per part de l’equip de l’sprint finalitzat i àrees de millora.
RolsProduct ownerPropietari del producte. Normalmentés una figura representada pel cliento pel contacte de l’equip amb elclient.Scrum masterFacilitador del procés d’scrum.Responsable de vetllar pel bé delprocés i de fer complir la metodologia.Equip de desenvolupamentEquip encarregat deldesenvolupament de les tasques delprojecte planificades a un sprint.
13
El framework scrum
14
Gestió d’un projecte amb scrum
1. Definició del backlog
2. Sprint planning
3. Execució del sprint
4. Sprint Review
5. Sprint Retrospective
Release de producte
Modificar backlog?
Si
Iteració
15
Requeriments del supòsit
• Es desitja desenvolupar una webcorporativa prenent com a base ungestor de continguts. L’objectiu és construir un framework comú que permeti desenvolupar després la resta de portals de la companyia.
• Es desenvoluparan les plantilles Imòduls necessaris per a cumplir amb les necessitats de continguts del client.
• Existeixen funcionalitats comuns i transversals com: multi idioma, optimització seo, flux de publicació etc.
Cas pràcticExplicarem un supòsit d’un projecte que podria ser real, per tal de veure la seva implementació aplicant Scrum com a metodologia de gestió del projecte.
Browserwww.empresa.com
Home Corporació Accionistes Responsabilitatcorporativa Clients Activitats
Banner&principal
Imatge
Mòdul&de&text
Módul&de&text
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aeneancommodo ligula eget dolor. Aenean massa. Cum sociis natoquepenatibus et magnis dis parturient montes.
Nascetur ridiculus mus.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aeneancommodo ligula eget dolor. Aenean massa. Cum sociis natoquepenatibus et magnis dis parturient montes.
Nascetur ridiculus mus.
Contacta ambnostraltres
16
Planificació i costos
ID# Descripció# Prioritat# Estimació#1" Configuració,inicial,del,gestor,de,continguts, Alta" 40"2" Creació,de,menú,principal, Alta" 13"3" Creació,de,sub6menú, Alta" 8"4" Plantilla,de,pàgina,tipus,home, Alta" 20"5" Plantilla,de,pàgina,tipus,contingut, Alta" 20"6" Plantilla,de,pàgina,tipus,funcionalitat, Baixa" 3"7" Configuració,de,urls,semàntiques, Alta" 40"8" Configuració,multi6idioma, Mitja" 20"9" Configuració,de,rols,d’usuari, Mitja" 5"10" Alta,inicial,d’usuaris,de,la,plataforma, Mitja" 3"11" Integració,de,la,maqueta,lliurada, Alta" 40"12" Mòdul,columnes, Mitja" 20"13" Mòdul,text,html, Alta" 8"14" Mòdul,banner, Alta" 8"15" Mòdul,caixa,amb,icona,o,imatge, Mitja" 8"16" Mòdul,portfoli, Mitja" 13"17" Mòdul,Taula, Baixa" 5"18" Mòdul,Pestanyes, Baixa" 8"19" Mòdul,Caixes,de,call,to,action, Baixa" 5"20" Mòdul,Àrea,lateral,customitzable, Mitja" 20"
,
• Definim el backlog inicial del producte a on considerem tant les funcionalitats com les tasques de configuració
• Es prioritza amb el client les funcionalitats segons el seu criteri
• Es fa una estimació global del projecte per a cada tasca a desenvolupar.
• Tenim un total de 307 punts.
Backlog del producte i primera estimació
17
Planificació i costosEquip de projecte
Equip de Barcelona
• Product owner• Scrum master• Analista tècnic • Programador sènior • Programador junior
Equip de Saragossa
• Programador sènior • Programador junior x 2
Per a aquest supòsit comptem amb un equip distribuït.
18
Planificació i costos
• Amb l’equip configurat, tindrem en compte que ja han treballat junts anteriorment i per tant sabem que poden assumir entre 35 i 40 punts a cada sprint de 10 dies de duració.
Estimació de costos
Ubicació' Perfil'Dedicació'al'projecte'
Cost'jornada'
Dies'dedicació'al'projecte' Cost'total'
Barcelona) Product)owner) 50%) )100,00)€)) 90) )4.500,00)€))Barcelona) Scrum)master) 50%) )90,00)€)) 90) )4.050,00)€))Barcelona) Analista)tècnic) 100%) )80,00)€)) 90) )7.200,00)€))Barcelona) Progamador)S.) 100%) )60,00)€)) 90) )5.400,00)€))Barcelona) Programador)J.) 100%) )40,00)€)) 90) )3.600,00)€))Saragossa) Progamador)S.) 100%) )50,00)€)) 90) )4.500,00)€))Saragossa) Programador)J.)1) 100%) )35,00)€)) 90) )3.150,00)€))Saragossa) Programador)J.)2) 100%) )35,00)€)) 90) )3.150,00)€)))) )) )) '' Total' '35.550,00'€''!
• Tenim 307 punts en total, comptat que l’equip pot assolir 35 punts en cada sprint, es pot calcular que el projecte durarà 9 sprints, per tant, 90 dies laborables.
• Al cost total estimat, s’incrementarà un 10% el pressupost per tal de fer front als possibles canvis, ajustos o imprevistos.
19
Planificació i costos
• Definin el primer BurnDown chart tenint en compte el planificat anteriorment, es a dir, que la duració del projecte seran 9 sprints
• Es reparteixen els 307 punts de manera igual per a cada sprint
Planificació inicial
0,00
50,00
100,00
150,00
200,00
250,00
300,00
350,00
Sprint 1 2 3 4 5 6 7 8 9
Burn4down4 chart
Ideal Real!
20
Seguiment
Reunió Priodicitat Objectiu Participants Al nostre cas
Sprintplanning
Al inici de cada sprint
Definir tasques del proper sprint i valorar-es Tot l'equip
L’equip de Saragossa participarà per vídeo conferencia
Daily meeting DiàriamentSeguiment diari del sprinten curs
Equip de desenvolupament
Necessita especial atenció
Sprint reviewAl final de l'sprint
Demo al product ownerdel treball finalitzat Tot l'equip
L’equip de Saragossa no participarà. Seran informats dels resultats i conclusions.
Sprintretrospective
Al final de l'sprint
Analitzar com ha anat l'sprint Tot l'equip
L’equip de Saragossa participarà per vídeo conferencia
21
Seguiment
Analitzarem en detall com afrontar els seguiments diaris a on ha de participar tot l’equip.
Barcelona Saragossa
Task boardFísic
Task boarddigital
ActualitzaActualitza
Equip Equip
Analista
Sincronitza
Connexió telefònica
22
Anàlisi
Pros
• L’equip pot mantenir lacomunicació diària per a les reunions de seguiment
• És possible seguir la metodologia mantenint un task board virtual
• Es pot treballar tant elseguiment bàsic com les estimacions
Contres
• La comunicació telefónica pot fer que les reunions s’allarguin en cas d’haver de tractar certs temes
• Poden haver-hi distraccions o dificultat per coincidir tots a la vegada en fer la reunió per telèfon
• La sincronització de la informació és manual i depèn d’una persona
23
Conclusions• Les metodologies àgils ens mostren un nou paradigma per a la gestió de
projectes i semblen la evolució lògica cap a la que dirigir-se en el camp de lagestió de projectes.
• La constància i dedicació que requereix aquesta metodologia per tal de queel projecte funcioni i es gestioni amb èxit és clau.
• La maduresa de l’equip ha de ser un factor clau a l’hora de decantar-nos pera aplicar metodologies àgils de gestió a un projecte. En un equip immadur,poc compromès o que no entén el procés pot portar el projecte a un fracàsrotund.
• La jerarquia de l’equip ha de ser adequada. Si tenim un cap de projecte queprioritza per sobre de l’scrum master, la metodologia pot deixar-se d’aplicarper a deixar pas a altres prioritats.
• La negociació amb el client per a acordar factors no tancats pot ser implantejable avui dia als escenaris empresarials en que ens movem.
Gràcies per la vostra atenció