Upload
mega-stefan
View
230
Download
0
Embed Size (px)
Citation preview
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
1/19
Ingineria Programarii
Tema nr.4Metodologii de dezvoltare software
Metoda Scrum
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
2/19
Creatorii Scrum
Jeff Sutherland
Ken Schwaber
Ken Schwaber i Jeff Sutherland au fost
primii care au co-prezentat Scrum la
conferin a PS!" #n $%%&.
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
3/19
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
4/19
Companii care utilizeaza Scrum si domenii de
aplicabilitate
Companii:
(0icrosoft
(3ahoo
(oogle
(Philips
(Siemens
(5lectronic "rts
(60C Software
(Time 7arner(66C
(!oc8heed 0artin
(9igh 0oon Studios
Domenii:
Software comercial"plicatii in-house"plicatii financiare
"plicatii certificate IS %::$Sisteme embeddedSoftware de control al satelitilorTelefoane mobile/ez+oltare de ,ocuri +ideoSisteme aprobate de ;/" life-critical
Site-uri webSoftware pentru dispoziti+e mobile
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
5/19
Componenta si rolurile Scrum
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
6/19
Principii de abordare Scrum
( Scrum foloseste o abordare iterati+a incrementala cu scopul de a optimiza
predictabilitatea si de a controla riscul.
( !i+rari frec+ente de regula o data la 4 saptamani clientul primind de fiecare data o
aplicatie ce contine un numar tot mai mare de functionalitati si care se afla in
perfecta stare de functionare.
( Se bazeaza pe o teorie empirica de control a proceselor adica luarea deciziilor pe
baza a ceea ce se cunoaste din e
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
7/19
Controlul procesului empiric
( Transparenta:
> Presupune ca aspectele de importanta ma "ceste aspecte trebuie sa fie definite de un standard comun pentru a facilita comunicarea intre
obser+atori.
( 5 ?n limba, comun referitor la proces trebuie sa fie impartasit de catre toti participantii> definitie comuna a ceea ce inseamna 1Produs ;inalizat2 trebuie sa fie agreata atat de cei
dez+oltatori cat si de beneficiari.
( Inspectia:
> Se refera la inspectia artefactelor si a progresului facut astfel incat sa se obser+e diferentele ce apar pe
parcurs. Inspectia nu trebuie sa se efectueze prea des deoarece poate afecta mersul general al proiectului.
> Cei care realizeaza inspectia trebuie sa fie bine pregatiti in domeniu respecti+.
( Adaptarea:
> In urma inspectiei daca se stabileste ca unul sau mai multe aspecte ale
procesului au depasit limitele de toleranta produsul de+enind inacceptabil
acea parte din proces trebuie sa fie a,ustata cat mai repede cu putinta pentru a
minimiza de+iatiile ulterioare.
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
8/19
Controlul procesului empiric
Eemplu:
(Putem aplica controlul procesului empiric intr-un code re+iew. Codul este re+izuit in functie de
coding standards si !est practices" # $Transparenta$ #%. Toti cei implicati in acest re+iew intelegpe deplin aceste standarde si bune practici.
(@e+izuirea codului se face atunci cand cine+a crede ca o sectie de cod sau o bucata de cod ce
reprezinta ce+a functional este completa"# &Inspectia$ #%'
(Cei mai e
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
9/19
Roluri
In cadrul unui proces Scrum sunt definite A roluri impartite in doua categorii.
(' )igs"porcii%- sunt direct implicati in procesul de dez+oltare anga,ati sa construiasca proiectul si totodata cei
trasi la raspundere.
a% Scrum Master> are un rol de pro,ect manager )dar nu este seful echipei* ce trebuie sa se asigure ca procesul e+olueaza in
conformitate cu tehnicile +alorile si regulile Scrum. 5l interactioneaza atat cu echipa de dez+oltare cat si cu clientii si
conducerea organizatiei a+and urmatoarele atributii=
i. 5limina impedimentele care distrag atentia echipei pentru ca producti+itatea sa fie ma este reprezentatul legitim al clientului fiind responsabil cu proiectarea administrarea controlul si
prezentarea produsului nerezol+at. 5l ia decizia finala cu pri+ire la sarcinile din produsul nerezol+at si le asociaza prioritati.
c% Scrum Team> este responsabila cu dez+oltarea produsului si in general este alcatuita din putine persoane )&-$:* cu di+erse
abilitati. "re autoritatea de a decide ce masuri trebuie luate pentru a rezol+a tas8-ul asociat fiecarui sprint si se poate auto-
organiza in acest scop.+' C,ic-en"puii% - nu sunt direct implicati in dez+oltarea proiectului dar se tine cont
de parerea lor. 5i trebuie sa ofere feed-bac8 cu pri+ire la rezultatele fiecarui Sprint.
a* ?sers > cei care +or folosi produsul software.
b* Costumers > cei care stabilesc scopul proiectului fiind implicati in procesul de dez+oltare cand are
loc e+aluarea unui sprint.
c* 0anagers > cei responsabili de luarea decizilor finala. Participa la stabilirea obiecti+elor si a conditiilor
de lucru.
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
10/19
5+enimentele Scrum)Scrum
5+ents*
Sprint-ul )The Sprint*
(5ste celula de baza a dez+oltarii
("re o durata de $-4 saptamani in care este creat un increment al produsului cu statusul
1;inalizat2)1/one2* utilizabil si potential li+rabil.
(5ste alcatui din = Sedinta de planificare a Sprint-ului)Sprint Planning 0eeting* Sedinta Scrum
Bilnica)/ail Scrums* acti+itatea de dez+oltare si re+izuire a Sprint-ului)@e+iew 0eeting* si
@etrospecti+a Sprint-ului)Sprint @etrospecti+e*.
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
11/19
5+enimentele Scrum)Scrum
5+ents*)lanificarea Sprint.ului"Sprint )lanning%
(Selectarea caracteristicilor care +or fi dez+oltate
(Pregatirea 6ac8log-ului cu intreaga echipa
(Scopul=/efinirea unui anga,ament pentru Sprint. 5
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
12/19
5+enimentele Scrum)Scrum
5+ents*
Sedinta Scrum Bilnica)/ail Scrum*
(Se realizeaza zilnic a+and o durata de $& minute
(Se sta in picioare
(F? se rezol+a probleme
(Toata lumea e in+itata(/oar membrii echipei Scrum0aster-ul si Product wner-ul pot +orbi
(?til pentru a e+ita meeting-uri inutile
(@aspunde la intrebarile=> Ce ai facut ieri'
> Ce +ei face azi'
> "i intampinat probleme'
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
13/19
5+enimentele Scrum)Scrum
5+ents*
@e+izuirea Sprint-ului)Sprint @e+iew*
(5chipa prezinta ce a realizat in timpul sprint-ului
(Se face un demo cu noile functionalitati
(0embri echipei asteapta feedbac8
(Toata echipa participa(Toata lumea e in+itata
@etrospecti+a Sprint-ului )Sprint @etrospecti+e*(5chipa reflecta asupra sprintului trecut
(/e obiceti $&-4: min(Participa toata echipa)Scrum 0aster Product wner 5chipa si posibil Clientii*
(Imbunatatirea continua a procesului
> Ce a mers bine sprintul trecut'
> Ce poate fi imbunatatit
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
14/19
"rtefacte Scrum
)roduct /ac-log(!ista a ceea ce +a fi construit ordonat dupa importanta
(Cerintele utilizatorului
(Prioritizare de catre Product wner
(@eprioritizarea la inceputul fiecarui sprint
(Pe masura ce un produs este folosit si capata +aloare si feedbac8-ul oferit de piata creste Product 6ac8log de+ine
o lista mai cuprinzatoare si mai completa.(Sarcinile se modifica in continuu astfel incat Product 6ac8log este un artefact +iu.
Sprint /ac-log
(@eprezinta un set de elemente ale Product 6ac8log-ului
selectate pentru Sprint plus un plan de li+rare al
Incrementului si de realizare a biecti+ului Sprint-ului.
Incrementul(@eprezinta suma tuturor elementelor din Product 6ac8log finalizate
de-a lungul unui Sprint alaturi de toate Sprint-urile anterioare.
(!a finalul unui Sprint noul Increment trebuie sa fie in stadiul de 1;inalizat2
(Incrementul trebuie sa fie utilizabil indiferent de decizia Product wner-ului
de a-l li+ar sau nu.
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
15/19
?n e
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
16/19
"+anta,e
( e+itarea 1efectului de tunel adic faptul de a obine rezultatul abia la li+rarea final Li de a nu#ntrezri nimic concret pe durata #ntregii faze de dez+oltare
( compunerea sec+enial a coninutului sprint-urilor permite efectuarea unei modificri sau adugareaunei funcionaliti care nu era pre+zut iniial. "cesta este principalul aspect care face ca aceastmetod s fie 1agilM
( metod participativ= fiecare membru al echipei este in+itat s #Li e
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
17/19
/eza+anta,e
( impactul emoional al eLecului pe membrii echipei #n cazul #n care
proiectul nu reuLeLte
( mrimea echipei e limitata
( bazarea pe e
7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
18/19
6ibliografie
http://www.infoq.com/minibooks/scrum-xp-from-the-trenches-2
http://agilemanifesto.org/
http://www.scrumguides.org/docs/scrumguide/v/scrum-guide-us.pdf
http://www.danube.com/docs/!ntro"to"#gile.pdf
https://www.scrumalliance.org/communit$/articles/2%&/'ul$/real-life-example-of-agile-in-infrastructure-pro'e
http://www.agilesoftwaredevelopment.com/scrum/simple-sprint-backlog
http://www.scrum-
institute.org/!ntroduction"to"(crum"#"Real")orld"*xample.php
https://en.wikipedia.org/wiki/(crum"+software"development,erminolog$
http://www.allaboutagile.com/how-to-implement-scrum-in-%-eas$-steps/
https://www.versionone.com/agile-%/what-is-scrum/
http://etutorials.org/icrosoft01roducts/#gile01ro'ect0anagement0with0(
crum/!ntroduction/
http://agilemanifesto.org/http://agilemanifesto.org/http://www.scrumguides.org/docs/scrumguide/v1/scrum-guide-us.pdfhttp://www.danube.com/docs/Intro_to_Agile.pdfhttps://www.scrumalliance.org/community/articles/2014/july/real-life-example-of-agile-in-infrastructure-projehttps://www.scrumalliance.org/community/articles/2014/july/real-life-example-of-agile-in-infrastructure-projehttps://www.scrumalliance.org/community/articles/2014/july/real-life-example-of-agile-in-infrastructure-projehttps://www.scrumalliance.org/community/articles/2014/july/real-life-example-of-agile-in-infrastructure-projehttp://www.danube.com/docs/Intro_to_Agile.pdfhttp://www.scrumguides.org/docs/scrumguide/v1/scrum-guide-us.pdfhttp://agilemanifesto.org/http://agilemanifesto.org/7/25/2019 Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum
19/19
Sfarsit
Intre!ari