agile manifesto understanding agile values
Manifestul Agil Introducere:
Tutorialul nostru anterior despre Metodologie agilă ne-a explicat în detaliu toate modelele și metodologiile Agile.
Dar până acum nu ne referim la motivul pentru care era nevoie de agilitate în primul rând și cât de agil a depășit neajunsurile metodologiilor de dezvoltare software existente, cum ar fi modelul cascadă.
În acest tutorial, vom aprofunda detaliile agilului și manifestului agil. Vom vedea ce spune manifestul și care sunt valorile și principiile consacrate în acesta.
Ce veți învăța:
Introducere
După cum am văzut în tutorialul anterior , metodologiile de dezvoltare anterioare au durat prea mult timp și până când software-ul a fost gata de implementare, cerințele afacerii s-ar fi schimbat, astfel încât să nu răspundă nevoilor actuale.
Viteza schimbării care lipsea în acel moment a provocat o mulțime de probleme. Când liderii diferitelor metodologii de dezvoltare s-au întâlnit pentru a decide cu privire la calea de urmat și au fost capabili să cadă de acord asupra unei metode mai bune și au putut, de asemenea, să finalizeze formularea manifestului.
Aceasta a fost surprinsă ca 4 valori și 12 principii pentru a ajuta practicienii să înțeleagă, să se refere la ea și să o pună în practică. Și în acel moment, niciunul dintre ei nu și-ar fi putut imagina impactul pe care acesta l-ar avea asupra viitorului managementului de proiect.
Manifest agil
Manifestul a fost formulat foarte atent pentru a surprinde esența agilității în cuvinte minime și se citește mai jos -
„Descoperim modalități mai bune de a dezvolta un software realizându-l și ajutându-i pe ceilalți să o facă. Prin această lucrare am ajuns la valoarea de mai jos:
- Indivizi și interacțiuni asupra proceselor și instrumentelor.
- Software de lucru peste documentație cuprinzătoare.
- Colaborarea clienților la negocierea contractului.
- Răspunsul la schimbarea în urma unui plan.
Adică, deși există valoare în articolele din dreapta, prețuim mai mult articolele din stânga. ”
După cum putem vedea, acestea sunt afirmații destul de concise și simple și fac foarte clar ceea ce au vrut să promoveze fondatorii. De obicei, planurile de proiect tradiționale sunt rigide și se accentuează asupra procedurilor și termenelor, dar manifestul agil propagă exact lucrurile opuse.
Preferă:
- oameni
- Produs
- Comunicare și
- Sensibilitate
Vom explora această nouă paradigmă pe care fondatorii au dorit să o promoveze în detaliu, obținând o înțelegere mai profundă a valorilor și principiilor agile.
Cele 4 valori agile
Cele patru valori împreună cu cele 12 principii ghidează livrarea agilă a software-ului. Vom discuta în detaliu fiecare dintre valori acum.
# 1) Persoane fizice și interacțiuni asupra proceselor și instrumentelor
Persoanele și interacțiunile sunt preferate față de procese și instrumente, deoarece face procesul mai receptiv. Dacă indivizii sunt aliniați și odată ce se înțeleg, echipa poate rezolva orice problemă cu instrumentele sau procesele.
Dar dacă echipele insistă să se lipească orbește de procese, atunci ar putea provoca neînțelegeri în rândul indivizilor și ar putea crea blocaje neașteptate, rezultând astfel întârzieri ale proiectului.
De aceea, este întotdeauna de preferat să aveți interacțiuni și comunicare între membrii echipei, decât să depindeți orbește de procesele care ghidează calea de urmat. Una dintre modalitățile de a realiza acest lucru este de a avea un proprietar de produs implicat care lucrează și poate lua decizii în colaborare cu echipa de dezvoltare.
întrebări și răspunsuri de interviuri de inginerie software pdf
Permiterea indivizilor să contribuie singuri le permite, de asemenea, să prezinte în mod liber ceea ce pot aduce la masă. Atunci când aceste interacțiuni de echipă sunt îndreptate spre rezolvarea unei probleme comune, rezultatele pot fi destul de puternice.
# 2) Software de lucru peste documentație cuprinzătoare
Managementul tradițional al proiectului implica o documentație cuprinzătoare care a presupus un decalaj de luni. Acest lucru a avut un impact negativ asupra livrării proiectului și întârzierile rezultate au fost inevitabile.
Tipul de documentație creat pentru aceste proiecte a fost foarte detaliat și au fost create atât de multe documente încât multe dintre ele nici măcar nu au fost menționate în timpul derulării proiectului. Acesta a fost un rău inutil cu care echipele de proiect obișnuiau să trăiască.
Dar acest lucru a agravat și problemele legate de livrare. Accentul s-a pus pe documentare într-o asemenea măsură, deoarece echipele doreau să ajungă la un produs finit care era 100% conform specificațiilor. De aceea, accentul a fost pus pe captarea tuturor specificațiilor în detalii.
Dar, totuși, produsul final a fost destul de diferit de așteptări sau ar fi pierdut relevanța. De aceea, Agile spune că un software de lucru este o opțiune mult mai bună pentru a evalua așteptările clienților decât o grămadă de documentație.
Acest lucru nu implică faptul că documentația nu este necesară. Înseamnă doar că un produs funcțional este în orice zi un indicator mai bun de aliniere la nevoile și așteptările clienților decât un document creat cu luni în urmă. De asemenea, implică faptul că echipele sunt receptive și gata să se adapteze la schimbări când și când este necesar, în timp ce afișează software-ul de lucru clientului la sfârșitul sprintului.
Eșecul testării produsului în timpul sprinturilor presupune costuri multiple și efort în următorul sprint. Odată ce funcționalitatea este implementată, costul acestor modificări crește cu un grad semnificativ.
3. Colaborarea clienților la negocierea contractului
Negocierea înseamnă că detaliile sunt încă capturate și nu au fost finalizate. Există încă posibilități de renegociere. Dar, odată ce negocierea s-a încheiat, nu se poate discuta despre aceasta. Ceea ce spune agil este că, în loc de negociere, mergeți la colaborare.
Colaborarea implică faptul că există încă loc pentru discuții și comunicarea este continuă.
Nu este un lucru unic. Ceea ce face acest lucru este că oferă un avantaj dublu - în timp ce ajută echipa să efectueze o corecție a cursului dacă este necesar într-o etapă mai timpurie, îl ajută pe client să își rafineze viziunea și să-și redefinească cerințele dacă este necesar pe parcursul cursului proiect.
Celălalt aspect este că, în timp ce modelele tradiționale de dezvoltare software implică clientul înainte de începerea dezvoltării în timpul fazei de documentare și negociere și nu sunt la fel de implicați în timpul dezvoltării proiectului.
Odată ce cerințele au fost înghețate, acestea pot vedea produsul numai, odată ce produsul este gata. Agile trece și de această barieră, permițând implicarea clienților pe tot parcursul ciclului de viață.
Acest lucru ajută echipele agile să se alinieze mai bine la nevoile clienților. Una dintre modalitățile de a realiza acest lucru este printr-un proprietar de produs dedicat și implicat, care poate ajuta echipa în timp real pentru clarificări și alinierea lucrului cu prioritățile clienților.
4. Răspunsul la schimbarea în urma unui plan
Procesul standard de gândire este că schimbările sunt o chestiune costisitoare și ar trebui să evităm schimbările cu orice preț. În acest sens, accentul inutil este pus pe documentație și pe planuri elaborate de furnizat, respectând termenele și specificațiile produsului.
Dar, după cum ne învață experiența, schimbările sunt în mare parte inevitabile și, în loc să fugim de ea, ar trebui să încercăm să o îmbrățișăm și să o planificăm.
Agilitatea ne permite să facem această tranziție. Ceea ce crede Agile este că schimbarea nu este o cheltuială, este un feedback binevenit care ajută la îmbunătățirea proiectului. Nu trebuie evitat, dar în schimb, adaugă valoare.
Cu sprinturile scurte propuse de Agile, echipele pot obține un feedback rapid și pot schimba prioritățile într-un termen scurt. Funcții noi pot fi adăugate de la iterație la iterație.
De ce facem asta? Deoarece majoritatea caracteristicilor dezvoltate folosind abordarea cascadei nu sunt niciodată utilizate. Acest lucru se datorează faptului că modelul cascadei urmează planul, în timp ce aceasta este faza în care știm cel mai puțin.
Agile planifică, de asemenea, dar urmărește și abordarea just in time, în care planificarea se realizează suficient când este necesar. Și planurile sunt întotdeauna deschise schimbării pe măsură ce sprinturile progresează.
Cele 12 principii agile
Există 12 principii agile care au fost adăugate după crearea manifestului pentru a ajuta și ghida tranziția echipelor în agil și pentru a verifica dacă practicile pe care le urmează sunt în concordanță cu cultura agilă.
Urmează textul celor 12 principii originale, publicat în 2001 de Alianța Agilă:
# 1) Prioritatea noastră cea mai mare este satisfacerea clientului prin livrarea timpurie și continuă a unui software valoros.
#Două) Bine ați venit schimbarea cerințelor, chiar și târziu în dezvoltare. Procesele agile valorifică schimbarea pentru avantajul competitiv al clientului.
# 3) Livrați software-ul de lucru frecvent, de la câteva săptămâni la câteva luni, cu o preferință pentru un interval de timp mai scurt.
# 4) Oamenii de afaceri și dezvoltatorii trebuie să lucreze împreună zilnic pe tot parcursul proiectului.
cel mai bun software gratuit pentru curățarea computerelor pentru Windows 10
# 5) Construiți proiecte în jurul unor indivizi motivați. Oferiți-le mediul și sprijinul de care au nevoie și aveți încredere în ei pentru a face treaba.
# 6) Cea mai eficientă și mai eficientă metodă de transmitere a informațiilor către și în cadrul echipei de dezvoltare este o conversație față în față.
# 7) Software-ul de lucru este principala măsură a progresului.
# 8) Procesele agile promovează dezvoltarea durabilă. Sponsorii, dezvoltatorii și utilizatorii ar trebui să poată menține un ritm constant la nesfârșit.
# 9) O atenție continuă la excelența tehnică și un design bun sporesc agilitatea.
# 10) Simplitate - arta de a maximiza cantitatea de muncă nerealizată este mult esențială.
#unsprezece) Cele mai bune arhitecturi, cerințe și designuri apar din echipele de auto-organizare.
# 12) La intervale regulate, echipa reflectă la modul de a deveni mai eficient, apoi își reglează și își ajustează comportamentul în consecință.
Aceste principii agile oferă îndrumări practice echipelor de dezvoltare.
Un alt mod de organizare a celor 12 principii este de a le considera în următoarele patru grupuri distincte:
- Satisfacția clienților
- Calitate
- lucru in echipa
- Management de proiect
# 1) Prioritatea noastră cea mai mare este satisfacerea clientului prin livrarea timpurie și continuă a unui software valoros - În mod evident, clienții vor fi încântați să vadă un software funcțional livrat la fiecare sprint, mai degrabă decât să treacă printr-o perioadă de așteptare ambiguă, la sfârșitul căreia doar ei vor putea vedea produsul.
Aici clientul poate fi definit ca sponsorul proiectului sau persoana care plătește pentru dezvoltare. Utilizatorul final al produsului este, de asemenea, client, dar putem face diferența între cei doi, deoarece utilizatorul final este denumit utilizator.
#Două) Bine ați venit schimbarea cerințelor, chiar și târziu în dezvoltare. Procesele agile valorifică schimbarea pentru avantajul competitiv al clientului - Modificările pot fi încorporate fără întârzieri mari în termenele generale.
Întrucât echipele agile cred în calitate mai presus de toate, ar prefera să încorporeze modificări și să livreze conform cerințelor clienților decât să evite modificările și să livreze un produs care nu răspunde nevoilor afacerii.
# 3) Livrați software-ul de lucru frecvent, de la câteva săptămâni la câteva luni, cu preferință pentru un interval de timp mai scurt - Acest lucru este îngrijit de echipele care lucrează în sprinturi. Deoarece sprinturile sunt iterații în timp și oferă un software funcțional la sfârșitul fiecărui sprint, clienții își fac în mod regulat o idee despre progres
# 4) Oamenii de afaceri și dezvoltatorii trebuie să lucreze împreună zilnic pe tot parcursul proiectului - Se iau decizii mai bune atunci când ambii lucrează împreună împreună și există o buclă de feedback constantă între cele două pentru corectarea cursului și schimbarea agilității. Comunicarea între părțile interesate este întotdeauna cheia în agilitate.
# 5) Construiți proiecte în jurul unor indivizi motivați. Oferiți-le mediul și sprijinul de care au nevoie și aveți încredere în ei pentru a face treaba - Trebuie să susțineți, să aveți încredere și să motivați echipele. O echipă motivată are mai multe șanse să aibă succes și va oferi un produs superior decât echipele nefericite care nu sunt dispuse să ofere tot ce este mai bun.
Una dintre modalitățile de a face acest lucru este de a împuternici echipa de dezvoltare să se autoorganizeze și să ia propriile decizii.
# 6) Cea mai eficientă și mai eficientă metodă de transmitere a informațiilor către și în cadrul echipei de dezvoltare este o conversație față în față - Comunicarea este mai bună și mai impactantă dacă echipele se află în aceeași locație și se pot întâlni față în față pentru discuții. Ajută la creșterea încrederii și aduce înțelegere între diferiți actori.
# 7) Software-ul de lucru este principala măsură a progresului - Un software funcțional bate toate celelalte KPI-uri și este cel mai bun indicator al muncii depuse.
aplicații care vă permit să descărcați videoclipuri YouTube
# 8) Procesele agile promovează dezvoltarea durabilă. Sponsorii, dezvoltatorii și utilizatorii ar trebui să poată menține un ritm constant pe termen nelimitat - Consistența livrării este subliniată. Echipa ar trebui să fie capabilă să-și mențină ritmul pe durata proiectului și să nu se ardă după primele sprinturi.
# 9) Atenția continuă la excelența tehnică și designul bun sporesc agilitatea - Echipa ar trebui să aibă toate abilitățile și un design bun al produsului pentru a face față schimbărilor și a produce un produs de înaltă calitate, putând în același timp să încorporeze schimbări
# 10) Simplitate - Arta de a maximiza cantitatea de muncă neefectuată este esențială și este suficientă doar pentru a îndeplini definiția de realizat.
#unsprezece) Cele mai bune arhitecturi, cerințe și designuri apar din echipele de auto-organizare - Echipele auto-organizate sunt împuternicite și își asumă munca. Acest lucru duce la o comunicare deschisă și la schimbul regulat de idei între membrii echipei.
# 12) La intervale regulate, echipa reflectă asupra modului de a deveni mai eficient, apoi își reglează și ajustează comportamentul în consecință - Auto-îmbunătățirea duce la rezultate mai rapide și la o redactare mai mică.
Concluzie
Centrarea față de clienți și concentrarea asupra comunicării au adus succesul către agilitatea vizibilă astăzi.
Este o tehnică dovedită, cu implicații nu doar în furnizarea de software, ci și în alte industrii, iar astăzi a devenit o industrie în sine.
Următorul nostru tutorial din această serie va explica mai multe despre echipa Scrum împreună cu rolurile lor !!
Lectură recomandată
- Test online Agile Scrum: testați-vă cunoștințele despre Agile Scrum
- Schimbarea mentalității unui tester agil: alinierea la Manifestul agil
- Kanban vs Scrum vs Agile: o comparație detaliată pentru a găsi diferențe
- Cum să livrați caracteristici software de mare valoare într-o perioadă scurtă de timp, utilizând procesul Agile Scrum
- Tutorial SAFe Agile: Ce este Scaled Agile Framework
- 4 pași către dezvoltarea mentalității de testare agilă pentru tranziția de succes la procesul agil
- JIRA Agile Tutorial: Cum să utilizați JIRA eficient pentru gestionarea proiectelor Agile
- Practică DevOps bazată pe manifestul agil (partea 2 - blocul 1)