Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum

download Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum

of 19

Transcript of Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum

  • 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