O introducere în SCRUM
Metodologia Agile – SCRUM
Dezavantajele metodelor clasice de management a proiectelor
Rezultatul metodelor clasice
Soluţia?
Ce este Agile?
Caracteristicile Agile
Metodologii care derivează din Agile
Pierdem ștafeta…
Originea Scrum-ului
Scrum-ul a fost folosit de:
Scrum-ul a fost folosit pentru:
Caracteristici
Manifestul Agile –o declarație de valori
„Nivelul de zgomot” dintr-un proiect
Scrum
În concluzie…
Sprint-uri
Dezvoltare secvențială vs. suprapusă
Fără schimbări în timpul unui sprint
Cadrul Scrum (framework)
Scrum framework
Product owner
ScrumMaster-ul
Echipa
The team
Scrum framework
Planificarea sprint-ului
Scrum-ul zilnic
Toată lumea răspunde la 3 întrebări
Sprint review
Retrospectiva sprint-ului
Start / Stop / Continuă
Scrum framework
Product backlog
Un exemplu de product backlog
Scopul sprint-ului
Gestionarea sprint backlog-ului
Gestionarea sprint backlog-ului
Un sprint backlog
Un sprint burndown chart
Scalabilitate
Scalarea folosind scrum-uri de scrum-uri
Scrum de scrum-uri de scrum-uri
Mai multe informații
De citit pe tema Scrum
De citit pe tema Scrum
Notița de copyright
Informații de contact

O introducere în SCRUM

1. O introducere în SCRUM

Ion Coșuleanu
Februarie 2014
Mountain Goat Software,
LLC

2.

O introducere în Scrum
Prezintă:
Ion Coșuleanu
Februarie 2014
Mountain Goat Software,
LLC

3. Metodologia Agile – SCRUM

Mountain Goat Software,
LLC

4. Dezavantajele metodelor clasice de management a proiectelor


Forțe uriaşe în timpul etapei de planificare;
Resurse enorme pentru modificarea cerinţele
tehnice într-un mediu ce se schimbă rapid;
Tratarea personalului ca factor de producţie;
Mountain Goat Software,
LLC

5. Rezultatul metodelor clasice


Haos datorită schimbării cerinţelor - cerinţele
unui proiect pot să se schimbe în faza de design,
implementare şi chiar lansare. În mai toate
metodologiile de dezvoltare, analiza este făcută în
partea de început a proiectului, şi nici o schimbare
nu mai este permisă pînă spre final.
Estimări nerealiste de timp, cost şi calitate a
proiectelor - managerul de proiect şi dezvoltatorii
tind să subestimeze cît timp şi resurse sunt
necesare pentru un proiect, şi cîte funcţionalităţi
pot fi livrate. Acestea nu pot fi niciodată prevazute
100% în faza de început a ciclului de dezvoltare.
Mountain Goat Software,
LLC

6. Soluţia?

Agile Software Development –
nume preluat de la sportul de
Rugby unde toată echipa acţionează
împreună - analogie se face la
dezvoltarea software unde echipa
lucrează împreună pentru a dezvolta
cu succes produse de calitate.
Mountain Goat Software,
LLC

7. Ce este Agile?


Metodologie de management a proiectelor ce
încearcă să micşoreze riscurile de dezvoltare şi timpul
de execuţie prin implementarea proiectelor în formă
foarte flexibilă şi interactivă.
Mountain Goat Software,
LLC

8. Caracteristicile Agile


Este iterativ: o iteraţie are între 1-4 saptămîni,în
rezultat sunt livrate anumite funcţionalităţi ale
proiectului.
Este bazat pe timp:durata iteraţiei e fixă şi nu poate fi
modificată pe parcursul proiectului. În acest fel există
întotdeauna un rezultat productiv la finalul iteraţiei.
Deschis către client:la finalul fiecărei iteraţii există un
rezultat care poate fi prezentat clientului.
Bazat pe livrarea de versiuni intermediare ale
produsului: fiecare iteraţie va implementa complet
toate “task-urile” cuprinse în acea iteraţie
Mountain Goat Software,
LLC

9. Metodologii care derivează din Agile


AGILE există în mai multe feluri:
XP
SCRUM
DSDM,
Crystal,
Feature Driven
Lean Development
etc.
Toate folosesc principii de baza ale filozofiei AGILE,
darSoftware,
o implementează în moduri diferite.
Mountain Goat
LLC

10. Pierdem ștafeta…

“A aborda dezvoltarea unui produs precum
o … „ștafetă” … poate intra în conflict cu
dorința de a maximiza viteza și flexibilitatea.
În schimb, o abordare holistică sau similară
cu cea din rugby—unde o echipă încearcă
să parcurgă distanța împreună, pasând
mingea înapoi și înainte—ar putea fi mai
utilă în cazul cerințelor competitive de azi.”
Hirotaka Takeuchi și Ikujiro Nonaka, “The
New New Product Development Game”,
Harvard Business Review, ianuarie 1986.
Mountain Goat Software,
LLC

11.

Scrum în 100 de cuvinte
• Scrum e un proces agil care ne permite să ne concentrăm pe
livrarea a ceea ce e mai valoros pentru o afacere în timpul cel
mai scurt.
Ne permite ca în mod rapid și repetat să evaluăm software care
într-adevăr funcționează (odată la două săptămâni sau lunar).
Clientul setează prioritățile. Echipele se organizează singure
pentru a determina cel mai bun mod de a livra funcționalitățile
cele mai prioritare.
Odată la două săptămâni sau cel mult lunar oricine poate vedea
un software funcțional și să decidă să îl lanseze așa cum e, sau
să continue să îl îmbunătățească în următorul sprint.
Mountain Goat Software,
LLC

12. Originea Scrum-ului


Jeff Sutherland
• Primele scrum-uri la Easel Corp în 1993
• IDX și 500+ de persoane practică Scrum
Ken Schwaber
ADM
Scrum-ul e prezentat la OOPSLA 96
împreună cu Sutherland
Autor a trei cărți despre Scrum
Mike Beedle
Scrum patterns în PLOPD4
Ken Schwaber și Mike Cohn
Co-fondator al Scrum Alliance în 2002,
inițial în cadrul Agile Alliance
Mountain Goat Software,
LLC

13. Scrum-ul a fost folosit de:

•Microsoft
•Yahoo
•Google
•Electronic Arts
•High Moon Studios
•Lockheed Martin
•Philips
•Siemens
•Nokia
•Capital One
•BBC
•Intuit
Mountain Goat Software,
LLC
•Intuit
•Nielsen Media
•First American Real Estate
•BMC Software
•Ipswitch
•John Deere
•Lexis Nexis
•Sabre
•Salesforce.com
•Time Warner
•Turner Broadcasting
•Oce

14. Scrum-ul a fost folosit pentru:


Software comercial
Aplicații in-house
Aplicații la comandă
Proiecte cu preț fix
Aplicații financiare
Aplicații certificate ISO
9001
Sisteme înglobate
(embedded)
Sisteme cu cerințe de
disponibilitate 99.999%,
24x7
programul Joint Strike
Fighter
Mountain Goat Software,
LLC
• Dezvoltarea de jocuri video
• Sisteme aprobate de FDA, life-
critical
Software de control al sateliților
• Site-uri web
• Software pentru dispozitive
mobile
Telefoane mobile
• Aplicații de switching în rețele
• Aplicații ISV (vânzători de
software independenți)
Unele din cale mai mari
aplicații in uz

15. Caracteristici


Echipe care se organizează singure
Cerințele sunt capturate ca elemente într-o listă
formând un “product backlog”
Producția progresează într-o serie de „sprint”-uri
lunare
Fără practici inginerești specifice prescrise în avans
Folosește reguli ce evoluează și se dezvoltă in timp
(generative rules) în scopul a crea un mediu agil
pentru ducerea la bun sfârșit a proiectelor
Unul din “procesele agile”
Mountain Goat Software,
LLC

16. Manifestul Agile –o declarație de valori

Indivizi și interacțiune
în loc
de
Procese și unelte
Software ce
funcționează
în loc
de
Documentație
detaliată
Colaborare cu clientul
în loc
de
Negocierea
contractului
A răspunde la
schimbări
în loc
de
A urma un plan
Sursa: www.agilemanifesto.org
Mountain Goat Software,
LLC

17. „Nivelul de zgomot” dintr-un proiect

Departe de
ceea ce s-a cerut
Anarhie
Mountain Goat Software,
LLC
Simplu
Siguranță
Aproape de
ceea ce s-a cerut
Sursa: Strategic Management and
Organizational Dynamics de Ralph
Stacey în Agile Software Development
with Scrum de Ken Schwaber și Mike
Beedle.
Tehnologie
esiguranță
Cerințe
Complex

18. Scrum

24 ore
Sprint
2-4 săptămâni
Scopul sprint-ului
Retur produs
Anulare comandă
Return
Cupoane
Gift
wrap
Ambalaj
cadou
Cancel
Product
backlog
Mountain Goat Software,
LLC
Sprint
backlog
Cupoane
Increment al produsului,
potențial livrabil

19. În concluzie…

Imagine disponibilă la
www.mountaingoatsoftware.com/scrum
Mountain Goat Software,
LLC

20. Sprint-uri


Proiectele ce folosesc Scrum progresează într-o
serie de “sprint-uri”
Analog cu iterațiile din Extreme Programming
Durata tipică e de 2–4 săptămâni sau o lună cel
mult
O durată constantă duce la un ritm mai bun
Produsul e proiectat, codat și testat în cadrul
sprintului
Mountain Goat Software,
LLC

21. Dezvoltare secvențială vs. suprapusă

Cerințe
Proiectare
Codare
Testare
În loc să facă un singur
lucru la un moment dat...
...echipele ce folosesc
Scrum fac cate puțin din
fiecare tot timpul
Sursa: “The New New Product Development Game” de
Takeuchi și Nonaka. Harvard Business Review, ianuarie 1986.
Mountain Goat Software,
LLC

22. Fără schimbări în timpul unui sprint

Modificare
Planifică durata sprint-urilor în funcție de cât timp te
poți angaja să ții modificările înafara sprint-ului
Mountain Goat Software,
LLC

23. Cadrul Scrum (framework)

Roluri
•Proprietarul (Product
owner)
•ScrumMaster „Ceremonii”
•Echipa
•Planificarea sprint-ului
•Sprint review
•Retrospectiva sprint-ului
•Daily scrum meeting
Artefacte
•Product backlog
•Sprint backlog
•Burndown charts
Mountain Goat Software,
LLC

24. Scrum framework

Roluri
•Product owner
•ScrumMaster
•Echipa
Ceremonii
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum meeting
Artefacte
•Product backlog
•Sprint backlog
•Burndown charts
Mountain Goat Software,
LLC

25. Product owner


Definește funcționalitățile produsului
Prioritizează funcționalitățile în funcție de valoarea pe
piață
Decide când va fi lansat produsul și ce va conține
E responsabil pentru profitabilitatea produsului (ROI –
Return On Investment)
Modifică funcționalitățile și prioritățile în fiecare iterație,
după cum e necesar
Acceptă sau respinge ceea ce s-a produs
Mountain Goat Software,
LLC

26. ScrumMaster-ul


Reprezintă conducerea în cadrul proiect-ului
Îndepărtează impedimentele
Responsabil pentru punerea în practică a
valorilor și practicilor din Scrum
Se asigură că echipa e complet funcțională și
productivă
Încurajează cooperarea strânsă între toate
rolurile și funcțiile
Protejează echipa de interferențele externe
Mountain Goat Software,
LLC

27. Echipa


De obicei 5-9 persoane
Multi-funcțională:
Programatori, testeri, designeri pentru user
experience, etc.
Membrii trebuie sa fie alocați tot timpul
Pot fi excepții (ex.: administrator de baze de date)
Mountain Goat Software,
LLC

28. The team


Echipele se auto-organizează
Ideal, fără „titluri”, dar uneori e posibil
Membrii echipei ar trebui schimbați doar
între sprinturi
Mountain Goat Software,
LLC

29. Scrum framework

Roluri
•Product owner
•ScrumMaster
•Echipa
Ceremonii
•Planificarea sprint-ului
•Sprint review
•Retrospectiva sprint-ului
•Daily scrum meeting
Artefacte
•Product backlog
•Sprint backlog
•Burndown charts
Mountain Goat Software,
LLC

30.

Capacitatea
echipei
Sprint planning meeting
Prioritizarea sprint-ului
Product
backlog
• Se analizează și evaluează
Specificul
afacerii
product backlog-ul
Se selectează scopul sprint-ului
Scopul
sprintului
Planificarea sprint-ului
• Se decide cum se va realiza scopul
Produsul
curent
Tehnologia
Mountain Goat Software,
LLC
sprint-ului (proiectare)
Se crează sprint backlog-ul (task-uri)
pornind de la elementele din product
backlog (user stories / funcționalități)
Se estimează sprint backlog-ul în ore
Sprint
backlog

31. Planificarea sprint-ului

• Echipa selectează elementele din product
backlog la care se pot angaja ca le vor finaliza
Sprint backlog-ul e creat
Taskurile sunt identificate și fiecare e estimat (1-16 ore)
Împreună, nu făcut separat de ScrumMaster
Design-ul de nivel înalt e discutat
Ca persoană ce îmi
planific vacanța,
vreau să vad
fotografii ale
hotelurilor.
Mountain Goat Software,
LLC
Implementează middle tier-ul (8 ore)
Implementează interfața cu utilizatorul (4)
Scrie test fixtures (4)
Implementează clasa foo (6)
Actualizează testele de performanță (4)

32. Scrum-ul zilnic

• Parametrii
Zilnic
15 minute
Se stă în picioare
• Nu se rezolvă probleme
Toată lumea e invitată
Doar membrii echipei, ScrumMaster-ul,
product owner-ul pot vorbi
• Util pentru a evita meeting-uri inutile
Mountain Goat Software,
LLC

33. Toată lumea răspunde la 3 întrebări

Ce ai făcut ieri?
Ce vei face azi?
E ceva ce te împiedică?
1
2
3
• Acestea nu reprezintă un raport pentru
ScrumMaster
Sunt angajamente în fața unor egali
Mountain Goat Software,
LLC

34. Sprint review


Echipa prezintă ce a realizat în timpul sprint-ului
De obicei are forma unei demonstrații în ce
privește noile funcționalități sau a arhitecturii pe
care se bazează
Informal
De regulă, 2 ore pentru
pregătire
• Fără slide-uri
• Toată echipa participă
• Toată lumea e invitată
Mountain Goat Software,
LLC

35. Retrospectiva sprint-ului

• Periodic se aruncă o privire pe ce merge și
ce nu merge
De obicei 15–30 minute
După fiecare sprint
Toata echipa participă
ScrumMaster
Product owner
Echipa
Eventual clienți și alte persoane
Mountain Goat Software,
LLC

36. Start / Stop / Continuă

• Întreaga echipă se adună și discută ce ar
dori să:
Înceapă să facă
Înceteze să facă
Acesta e doar
una din multele
modalități de a
face o
retrospectivă
asupra sprintului.
Mountain Goat Software,
LLC
Continue să facă

37. Scrum framework

Roluri
•Product owner
•ScrumMaster
•Echipa
„Ceremonii”
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum meeting
Artefacte
•Product backlog
•Sprint backlog
•Burndown charts
Mountain Goat Software,
LLC

38. Product backlog

• Cerințele utilizatorului
• O listă cu tot ce se dorește
să se implementeze în
proiect
• Ideal, formulată în așa fel
încât fiecare element are
valoare pentru utilizatorii sau
clienții produsului
• Prioritizat de către product
owner
Acesta e product • Reprioritizat la începutul
fiecărui sprint
backlog-ul
Mountain Goat Software,
LLC

39. Un exemplu de product backlog

Element în backlog
Estimare
Permite unui oaspete să facă o rezervare
3
În calitate de oaspete, vreau să anulez o
rezervare.
5
În calitate de oaspete, vreau să schimb datele
rezervării.
3
Ca angajat al hotelului, pot să execut rapoartele
RevPAR (revenue-per-available-room)
8
Îmbunătățește gestionarea excepțiilor
8
...
30
...
50
Mountain Goat Software,
LLC

40. Scopul sprint-ului

• O scurtă declarație despre ce va fi mai
important în timpul sprint-ului
Științele vieții
Aplicație pentru baze de date
Asigură funcționalitățile necesare
pentru studiul populațiilor genetice.
Fă ca aplicația să se execute pe
SQL Server, nu doar Oracle.
Servicii financiare
Asigură mai mulți indicatori
tehnici decât firma ABC, cu date
în timp real, livrate în flux.
Mountain Goat Software,
LLC

41. Gestionarea sprint backlog-ului


Fiecare persoană își alege ce va lucra după
propria dorință
Taskurile nu sunt niciodată asignate de
altcineva
Estimările sunt actualizate zilnic
Mountain Goat Software,
LLC

42. Gestionarea sprint backlog-ului


Orice membru al echipei poate sa adauge,
șteargă sau modifice sprint backlog-ul
Taskurile din cadrul sprint-ului sunt descoperite
în mod natural
Dacă o parte din ceea ce e de făcut nu e clar,
se poate defini un sprint backlog item cu o
durată mai mare care va fi spart in subtaskuri
ulterior
Se actualizează volumul de muncă rămas pe
măsură ce se obțin mai multe informații
Mountain Goat Software,
LLC

43. Un sprint backlog

Tasks-uri
Impl. interf. cu utilizatorul
Impl. middle tier-ul
Testează middle tier-ul
Scrie help-ul online
Impl. clasa foo
Adaugă logarea erorilor
Mountain Goat Software,
LLC
L
Ma
Mi
J
V
8
4
8
16
12
10
4
8
16
16
11
8
8
8
8
8
8
4
12
8

44. Un sprint burndown chart

Ore
Un sprint burndown chart
Mountain Goat Software,
LLC

45.

Task-uri
L
Impl. interf. cu utilizatorul
Impl. middle tier-ul
Testează middle tier-ul
Scrie help-ul online
8
16
8
12
Ma
Mi
4
12
16
8
10
16
J
7
11
50
Ore
40
30
20
10
0
Mountain Goat Software,
LLC
L
Ma
Mi
J
V
V
8

46. Scalabilitate


Echipa tipică e formată din 7 ± 2 persoane
Scalabilitatea se obține din echipe formate la rândul lor din
echipe
Factori ce afectează scalarea
Tipul aplicației
Dimensiunea echipei
Împrăștierea echipei
Durata proiectului
Scrum-ul a fost folosit in mai multe proiecte
de 500+ persone
Mountain Goat Software,
LLC

47. Scalarea folosind scrum-uri de scrum-uri

Mountain Goat Software,
LLC

48. Scrum de scrum-uri de scrum-uri

Mountain Goat Software,
LLC

49. Mai multe informații


www.mountaingoatsoftware.com/scrum
www.scrumalliance.org
www.controlchaos.com
[email protected]
Mountain Goat Software,
LLC

50. De citit pe tema Scrum


Agile and Iterative Development: A Manager’s Guide de
Craig Larman
Agile Estimating and Planning de Mike Cohn
Agile Project Management with Scrum de Ken Schwaber
Agile Retrospectives de Esther Derby și Diana Larsen
Mountain Goat Software,
LLC

51. De citit pe tema Scrum


Agile Software Development Ecosystems de Jim Highsmith
Agile Software Development with Scrum de Ken Schwaber
și Mike Beedle
Scrum and The Enterprise de Ken Schwaber
Succeeding with Agile de Mike Cohn
User Stories Applied for Agile Software Development de
Mike Cohn
Mountain Goat Software,
LLC

52. Notița de copyright


Sunteți liber:
Să împărtașiti― sa copiați, distribuiți și să transmiteți acest
material
să remixați― să adaptați acest material
Cu următoarele condiții
Atribuire. Trebuie să atribuiți această creație în modalitatea
specificată de autor sau cel ce a licențiat-o (dar nu în vreun
fel care sa sugereze ca aceștia vă susțin pe dvs. sau modul
in care folosiți materialul).
Nimic din această licență nu contravine sau
restricționează drepturile morale ale autorului asupra
operei.
•Mountain
Pentru
mai multe informații, vedeți:
Goat Software,
LLC http://creativecommons.org/licenses/by/3.0/

53. Informații de contact

Prezentat de: Mike Cohn
[email protected]
www.mountaingoatsoftware.com
(720) 890-6110 (office)
Mountain Goat Software,
LLC
English     Русский Правила