O introducere în SCRUM

Содержание

Слайд 2

Ion Coșuleanu Februarie 2014 Prezintă: O introducere în Scrum

Ion Coșuleanu
Februarie 2014

Prezintă:

O introducere în Scrum

Слайд 3

Metodologia Agile – SCRUM

Metodologia Agile – SCRUM

Слайд 4

Dezavantajele metodelor clasice de management a proiectelor Forțe uriaşe în timpul

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;
Слайд 5

Rezultatul metodelor clasice Haos datorită schimbării cerinţelor - cerinţele unui proiect

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.
Слайд 6

Soluţia? Agile Software Development – nume preluat de la sportul de

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.
Слайд 7

Ce este Agile? Metodologie de management a proiectelor ce încearcă să

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ă.
Слайд 8

Caracteristicile Agile Este iterativ: o iteraţie are între 1-4 saptămîni,în rezultat

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
Слайд 9

Metodologii care derivează din Agile AGILE există în mai multe feluri:

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, dar o implementează în moduri diferite.
Слайд 10

Pierdem ștafeta…

Pierdem ștafeta…

Слайд 11

Scrum e un proces agil care ne permite să ne concentrăm

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.

Scrum în 100 de cuvinte

Слайд 12

Originea Scrum-ului Jeff Sutherland Primele scrum-uri la Easel Corp în 1993

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
Слайд 13

Scrum-ul a fost folosit de: Microsoft Yahoo Google Electronic Arts High

Scrum-ul a fost folosit de:

Microsoft
Yahoo
Google
Electronic Arts
High Moon Studios
Lockheed Martin
Philips
Siemens
Nokia
Capital One
BBC
Intuit

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

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

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 Producția progresează într-o serie de

Caracteristici

Echipe care se organizează singure
Producția progresează într-o serie de „sprint”-uri lunare
Cerințele

sunt capturate ca elemente într-o listă formând un “product backlog”
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”
Слайд 16

Manifestul Agile –o declarație de valori Sursa: www.agilemanifesto.org în loc de

Manifestul Agile –o declarație de valori

Sursa: www.agilemanifesto.org

în loc de

în loc

de

în loc de

Слайд 17

„Nivelul de zgomot” dintr-un proiect Simplu Complex Anarhie Complicat Tehnologie Cerințe

„Nivelul de zgomot” dintr-un proiect

Simplu

Complex

Anarhie

Complicat

Tehnologie

Cerințe

Departe de ceea ce s-a cerut

Aproape de

ceea ce s-a cerut

Siguranță

Nesiguranță

Sursa: Strategic Management and Organizational Dynamics de Ralph Stacey în Agile Software Development with Scrum de Ken Schwaber și Mike Beedle.

Слайд 18

Scrum Product backlog

Scrum

Product
backlog

Слайд 19

În concluzie… Imagine disponibilă la www.mountaingoatsoftware.com/scrum

În concluzie…

Imagine disponibilă la www.mountaingoatsoftware.com/scrum

Слайд 20

Sprint-uri Proiectele ce folosesc Scrum progresează într-o serie de “sprint-uri” Analog

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
Слайд 21

Dezvoltare secvențială vs. suprapusă Sursa: “The New New Product Development Game”

Dezvoltare secvențială vs. suprapusă

Sursa: “The New New Product Development Game” de

Takeuchi și Nonaka. Harvard Business Review, ianuarie 1986.

În loc să facă un singur lucru la un moment dat...

...echipele ce folosesc Scrum fac cate puțin din fiecare tot timpul

Cerințe

Proiectare

Codare

Testare

Слайд 22

Fără schimbări în timpul unui sprint Planifică durata sprint-urilor în funcție

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

Planifică durata sprint-urilor în funcție de

cât timp te poți angaja să ții modificările înafara sprint-ului

Modificare

Слайд 23

Cadrul Scrum (framework)

Cadrul Scrum (framework)

Слайд 24

Scrum framework Product backlog Sprint backlog Burndown charts Artefacte

Scrum framework

Product backlog
Sprint backlog
Burndown charts

Artefacte

Слайд 25

Product owner Definește funcționalitățile produsului Decide când va fi lansat produsul

Product owner

Definește funcționalitățile produsului
Decide când va fi lansat produsul și ce

va conține
E responsabil pentru profitabilitatea produsului (ROI – Return On Investment)
Prioritizează funcționalitățile în funcție de valoarea pe piață
Modifică funcționalitățile și prioritățile în fiecare iterație, după cum e necesar 
Acceptă sau respinge ceea ce s-a produs
Слайд 26

ScrumMaster-ul Reprezintă conducerea în cadrul proiect-ului Responsabil pentru punerea în practică

ScrumMaster-ul

Reprezintă conducerea în cadrul proiect-ului
Responsabil pentru punerea în practică a valorilor

și practicilor din Scrum
Îndepărtează impedimentele
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
Слайд 27

Echipa De obicei 5-9 persoane Multi-funcțională: Programatori, testeri, designeri pentru user

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)
Слайд 28

The team Echipele se auto-organizează Ideal, fără „titluri”, dar uneori e

The team
Echipele se auto-organizează
Ideal, fără „titluri”, dar uneori e posibil
Membrii echipei

ar trebui schimbați doar între sprinturi
Слайд 29

Scrum framework

Scrum framework

Слайд 30

Sprint planning meeting Specificul afacerii Capacitatea echipei Product backlog Tehnologia Produsul curent

Sprint planning meeting

Specificul afacerii

Capacitatea echipei

Product backlog

Tehnologia

Produsul curent

Слайд 31

Planificarea sprint-ului Echipa selectează elementele din product backlog la care se

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.

Слайд 32

Scrum-ul zilnic Parametrii Zilnic 15 minute Se stă în picioare Nu

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
Слайд 33

Toată lumea răspunde la 3 întrebări Acestea nu reprezintă un raport

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

Acestea nu reprezintă un raport pentru

ScrumMaster
Sunt angajamente în fața unor egali
Слайд 34

Sprint review Echipa prezintă ce a realizat în timpul sprint-ului De

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ă
Слайд 35

Retrospectiva sprint-ului Periodic se aruncă o privire pe ce merge și

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
Слайд 36

Start / Stop / Continuă Întreaga echipă se adună și discută

Start / Stop / Continuă

Întreaga echipă se adună și discută ce

ar dori să:

Înceapă să facă

Înceteze să facă

Continue să facă

Слайд 37

Scrum framework

Scrum framework

Слайд 38

Product backlog Cerințele utilizatorului O listă cu tot ce se dorește

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
Reprioritizat la începutul fiecărui sprint

Acesta e product backlog-ul

Слайд 39

Un exemplu de product backlog

Un exemplu de product backlog

Слайд 40

Scopul sprint-ului O scurtă declarație despre ce va fi mai important

Scopul sprint-ului

O scurtă declarație despre ce va fi mai important în

timpul sprint-ului

Aplicație pentru baze de date

Servicii financiare

Științele vieții

Asigură funcționalitățile necesare pentru studiul populațiilor genetice.

Asigură mai mulți indicatori tehnici decât firma ABC, cu date în timp real, livrate în flux.

Fă ca aplicația să se execute pe SQL Server, nu doar Oracle.

Слайд 41

Gestionarea sprint backlog-ului Fiecare persoană își alege ce va lucra după

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
Слайд 42

Gestionarea sprint backlog-ului Orice membru al echipei poate sa adauge, șteargă

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
Слайд 43

Un sprint backlog Tasks-uri Impl. interf. cu utilizatorul Impl. middle tier-ul

Un sprint backlog

Tasks-uri

Impl. interf. cu utilizatorul

Impl. middle tier-ul

Testează middle tier-ul

Scrie help-ul

online

Impl. clasa foo

L

Ma

Mi

J

V

Слайд 44

Un sprint burndown chart Ore

Un sprint burndown chart

Ore

Слайд 45

Ore 40 30 20 10 0 L Ma Mi J V

Ore

40

30

20

10

0

L

Ma

Mi

J

V

Task-uri

Impl. interf. cu utilizatorul

Impl. middle tier-ul

Testează middle tier-ul

Scrie help-ul online

L

8

16

8

12

Ma

Mi

J

V

50

Слайд 46

Scalabilitate Echipa tipică e formată din 7 ± 2 persoane Scalabilitatea

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
Слайд 47

Scalarea folosind scrum-uri de scrum-uri

Scalarea folosind scrum-uri de scrum-uri

Слайд 48

Scrum de scrum-uri de scrum-uri

Scrum de scrum-uri de scrum-uri

Слайд 49

Mai multe informații www.mountaingoatsoftware.com/scrum www.scrumalliance.org www.controlchaos.com scrumdevelopment@yahoogroups.com

Mai multe informații

www.mountaingoatsoftware.com/scrum
www.scrumalliance.org
www.controlchaos.com
scrumdevelopment@yahoogroups.com

Слайд 50

De citit pe tema Scrum Agile and Iterative Development: A Manager’s

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
Слайд 51

De citit pe tema Scrum Agile Software Development Ecosystems de Jim

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
Слайд 52

Notița de copyright Sunteți liber: Să împărtașiti― sa copiați, distribuiți și

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.
Pentru mai multe informații, vedeți: http://creativecommons.org/licenses/by/3.0/