Documente Academic
Documente Profesional
Documente Cultură
Lifecycle Parte Trei v11 PDF
Lifecycle Parte Trei v11 PDF
RATIONAL
UNIFIED
PROCESS
Rational Unified Process
• Produs comercial ( Rational Corporation) -> sustinut de
IBM (2003) - > model incremental
• Se ofera un “framework” suport, tool-uri, template-uri
(costuri ):
– “RequisitePro templates” (urmarire a cerintelor)
– “Word Templates” pentru “Use Cases”
– “Project Templates”pentru MP
• Orientat pe obiecte
• Dezvoltare interactiva
• Management al specificatiilor
• Arhitectura bazata pe componente
• UML (Unified Modeling Language) modelare vizuala
• Folosit pentru sisteme complexe
Rational Unified Process
• Etape de dezvoltare:
– Inception Phase
– Elaboration Phase
– Construction Phase
– Transition Phase
• Bazat pe procese descrise de:
– Actori, ‘cine?’
– Activitati, ‘cum?’
– Artefacte, ‘ce?’
– Flux, ‘cand?’
Rational Unified Process
• Fluxuri de activitati de baza:
– Modelarea proceselor de afaceri
– Cerinte
– Analiza si design
– Implementare
– Testare
– Implementare
• Fluxuri de activitati suport:
– Management de proiect
– Management al configuratiilor si schimbarii
– Mediu
Inception Phase
PROCESE PRIMARE
PROCESE SUPORT
PROCESE ORGANIZATIONALE
Procesele din ciclul de viata
al unui software
PROCESE PRIMARE
Achizitie Dezvoltare
Pregatirea achizitiei Analiza si designul sistemului
Selectia furnizorilor
Gestiunea furnizorilor Analiza cerintelor software
Preluare in gestiune (acceptare) Designul software
Implementare software
Resurse Integrare software
Testare software
Detalierea cerintelor Integrarea si testarea sistemului
Operare
Operarea sistemului
Suport client Intretinere
Procesele din ciclul de viata
al unui software
PROCESE DE SUPORT
Documentatie
Managementul configuratiei
Asigurarea calitatii
Verificare
Validare
Review
Audit
Rezolvarea problemelor
Procesele din ciclul de viata
al unui software
PROCESE DE ORGANIZARE
Analiza de cerinte
Arhitectura
Sistem Integrare
Testare
Cerinte Testare
Arhitectura Integrare
Software
Arhitectura Programare
detaliata si testare
Implementarea procesului
• Defineste sau selecteaza un model de ciclu de
viata software
• Selecteaza, ajusteaza, si utilizeaza standarde,
metode, instrumnete si limbaje de programare
• Dezvolta planuri pentru desfasurarea activitatilor
din cadrul procesului de dezvoltare.
• Sub-Procese (ex)
– Implementarea procesului
– Explicitarea cerintelor
– Analiza cerintelor sistemului
Explicitarea cerintelor
• Scop:
– Sa identifice si sa urmareasca nevoile si cerintele dinamice ale
clientului de-a lungul vietii produsului si/sau serviciului
– Explicitarea cerintelor poate fi facuta de catre beneficiarul sau de catre
dezvoltatorul sistemului.
• Sarcini:
– Identificarea cerintelor clientului
– Reevaluare pentru a intelege nevoile clientului
– Acordul asupra cerintelor
– Stabilirea cerintelor de baza ale clientului
– Gestiunea modificarilor in cerintele clientului
• Finalitati:
– Cerintele clientului;
– Schimbarea registrelor de cerinte.
Analiza cerintelor sistemului
• Scop:
– Sa transforme cerintele definite intr-un set de norme tehnice de dorit
care vor ghida designul sistemului.
• Sarcini:
– Analiza cerintelor sistemului
– Verificarea cerintelor sistemului
– Normarea si comunicarea cerintelor sistemului
• Finalitati:
– Cerintele sistemului; cerinte de interfata
– Registrul de urmarire
– Raportul de verificare
SCRUM
SCRUM
• Scrum
– Reprezintă o metoda
incrementala de dezvoltare de
produse din categoria
metodelor agile
– SCRUM termen preluat din
rugby © PierreSelim / Wikimedia Commons / CC-BY-SA-3.0
Ceremonii:
Artefacte :
Planificarea Sprint,
Backlog produs,
Sprint Review,
Sprint Backlog,
Retrospectiva Sprint
Burndown Chart
Reuniuni zilnice
Proprietarul produsului,
Roluri Scrum Master,
Echipa
Roluri Scrum
Scrum Master
– Responsabil de implementarea Scrum
• Intelegere, adoptie, relatii
– “servant-leader”
– Interfata intre management si echipa Scrum
– Responsabil cu indepartarea impedimentelor ce
determina stagnarea progresului echipei Scrum
– Trebuie sa ia decizii rapide bazate pe date
incomplete
• De obicei un inginer cu experienta
Roluri Scrum
Product Owner (Proprietarul produsului)
– responsabil de produs
– Coordoneaza Echipa de Dezvoltare din perspectiva
realizarii produsului
– Singurul detinator al ”Product Backlog”
• Modificarile la portofoliul trebuie sa fie aprobate de proprietarul
produsului
• Responsabil de conținutul și prioritatea cerintelor din Product
Backlog
– Are un rol apropiat de al unui lider tehnic sau manager de
proiect
Roluri Scrum
Echipa Scrum
• Toate competențele necesare realizarii produsului:
– Membrii de baza: Designeri, Testeri, Programator …
– Marime recomandata 5 – 10 persoane
– Extinsa: QA, Programatori, Designeri UI , etc.
• Membrii trebuie implicatii full-time
– Pot exista exceptii (ex. System Admin, etc.)
• Echipele se auto-organizeaza
– Nu se accepta divizarea – organizarea in grupuri
– In mod ideal – fara titluri …. In realitate posibil
– Responsabilitatea este a intregii echipe nu doar a unui membru
• Calitatea de membru se poate modifica numai intre sprinturi
Sprint
• Interval de timp asociat dezvoltării unui set de
funcționalități
• Durează, de obicei intre 14 si 30 zile
• Funcționalitățile cu prioritățile cele mai mari
din Product Backlog sunt implementate sub
denumirea de Sprint Backlog
• Estimările Sprint sunt actualizate odată ce
sunt finalizate sarcinile sau când apar altele
noi
Sprint
• Un sprint presupune dezvoltarea continua a
produsului cu potențial de transfer la finalul
ciclului
• Nici o influenta exterioara NU poate interfera
cu echipa Scrum in timpul Sprint-ului
• Fiecare Sprint incepe cu Sedinta Zilnica de
Scrum
Nici o schimbare in cadrul
sprint
SCHIMBARE
Analysis, Design,
Evolution, Testing
Sprint Backlog
Standards
Architecture Technology
Design
Planificarea Sprint,
Sprint Review,
CEREMONII Retrospectiva Sprint
Reuniuni zilnice
Ceremonii
Daily
Scrum
Ceremonii
Doua componente:
Informala Formala
Pregatire a intalnirii formale Participanti: Clienti, Management
Proprietarul produsului, Alti invitati
Ceremonii
Sedinta de Evaluare Sprint – Sprint review
• Scop:
– analiza incrementul
– Actualizarea Product Backlog-ul (dacă este necesar).
• Echipa Scrum şi cei implicați discuta ceea ce s-a realizat în
Sprint.
• Participanţii discuta acțiunile următoare
• Aceasta este o întâlnire informală
• Prezentarea rezultatului
– feedback
– încurajează colaborarea.
• Durata:
– 4 ore pentru Sprint-urile de o lună.
– Mai putin de 4 ore pentru sprinturi mai scurte
• Scrum Master-ul este facilitatorul evenimentui.
Ceremonii
Adaptat: The Scrum Guid; The Definitive Guide to Scrum: The Rules of the
Game, Ken Schwaber and Jeff Sutherland
Emergent Prioritized
Product Backlog
Sprint Backlog
Product Backlog
Extragere
sprint backlog
Poate contine:
1.Features
2.Bugs
3.Technical work
4.Knowledge acquisition
Prioritate
Introduce
cerinta
noua
Product Backlog
Sprint Backlog
Task 1.1
Sprint
Backlog 1
Product Task 1.2
Backlog
Sprint
Task 2.1
Backlog 2
Product Backlog
• Proprietarul produsului colaboreaza cu grupul
tinta pentru a defini si a scrie relatarile
utilizatorilor:
– Intalniri individuale
• Echipa detinatorului produsului, compusa din experti in
cerinte precum si analisti economici
• Echipa Scrum
• “Story Time session”
• Oricine poate adauga elemente in “Product
Backlog”, dar numai proprietarul (Product
Owner) poate stabili prioritatea finala.
“Story Time session”
• Scopul unei sesiuni de relatare (“Story Time
session” ) este de a o imbunatati “Porduct
Backlog”
• Aceste sesiuni pot servi la:
– scrierea povestilor utilizatorilor -> functionalitati
– Imbunatatirea relatarilor de la utilizatori
– Fragmentarea relatarilor / Lungimea relatarilor
– Adaugarea criteriilor de acceptare a unei relatari
• Planificarea urmatorului sprint
Criterii de acceptanta
• Stabilirea “limitelor” povestii
– ce este/nu este vizat
• Sunt negociabile
• Ajuta sa identificam cand o relatare e completa
• Provin din dialogul intre echipa si proprietarul
produsului in cadrul sedintelor de relatare si de
planificare
• Necesita abilitatea de pune intrebari pertinente
Tehnici de Estimare
“Product Backlog”
• Diverse metode de estimare a duratei unei
povesti (story):
– Valoare absoluta (ore)
– Valoare relativa (complexitate)
• Estimarile sunt converite in “story points”,
– “story points” = estimare cantitativa specifica
fiecarei echipe
• Viteza echipei = media “story points” asociata
povestilor finalizate de o echipa
Estimare absoluta vs relativa
• Estimati lungimea in (m): Estimare
– Furnica, Boeing 747, Basculanta, absoluta
Pod Cernavoda, Miriapod
• Aranjati dupa lungime, in ordine
crescatoare: Estimare
– Furnica, Boeing 747, Basculanta, relativa
Pod Cernavoda, Miriapod
Definire miriapod:
“expert knowledge”
Tehnici de Estimare
“Product Backlog”
• Tehnici de estimare a duratei:
– Ore (foarte rar)
– “Planning Poker”
• Fiecare membru al echipei primeste un set de carti
• Se estimeaza prin ridicarea cartii alese
• Se finalizeaza cand membrii echipei sunt de acord
– Zile ideale ( “Ideal days”)
– “T-shirt sizes”
• Se asociaza dimensiuni (XS, S, M, L, XL, XXXL )
Exemplu
Planning Poker
Tehnici de Estimare
“Product Backlog”
• Tehnici de estimare a duratei (cont):
– Sirul Fibonacci
• ( 1,2,3,5,8,13,21…)
• Se interpreteaza ca factor de complexitate
– Gruparea - “Affinity Mapping”
• Se stabilesc grupe de complexitate
• Cerintele se grupeaza in functie de complexitate
– Ordonarea
• Se stabileste o scara de masura (exemplu low -> high)
• Se aseaza cerintele in ordine prin mutari succesive
Tehnici de Estimare
“Product Backlog”
• Tehnici de estimare a duratei (cont):
– Bucket System
• Se stabileste o scara (de obicei nu liniara)
• Stabilirea unei referinte: pentru primele cateva cerinte
se citeste cerinta cu cerinta si echipa stabileste un
punctaj conform scalei
• Dividem et imperat: Fiecare membru al echipei alege
cerinte din lista de cerinte si le plaseaza conform scarii
alese
• Se verifica rezultatul
Remaining Effort in Hours
5/
3/
2
100
200
300
400
500
600
700
800
900
0
5/ 00
5/ 2
2
5/ 002
7/
2
5/ 00
9/ 2 752
5/ 200
11 2
/
5/ 20
762
13 02
/
5/ 200
664
15 2
/
5/ 200
17 2
/
5/ 20
Progress
619
19 02
/
5/ 200
Date
21 2
/
304
5/ 20
23 02
/
5/ 200
25 2
/
5/ 20
264
27 02
Sprint Burndown Chart
/
5/ 200
180
29 2
/
5/ 20
31 02
/2
00
2
104
20
Release Burndown Chart
• Predarea se va face la data stabilita?
– Axa X: sprinturi
– Axa Y: numarul de ore ramase
• Efortul ramas poate fi luat in calcul
• Product Burndown Chart
– Este o privire de ansamblu asupra progresului
proiectului
De ce Functioneaza?
• Cele mai multe ipoteze ale modelului definit
sunt eliminate
• Ofera feedback constant
http://www.crisp.se/gratis-material-och-guider/kanban
Tabela Kanban STUDIU DE CAZ