Top Banner

of 19

Ingineria Software Metodologii de Dezvoltare Software Metoda Scrum

Feb 27, 2018

Download

Documents

Mega Stefan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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