Agilă ea 8 metode de descompunere pentru rezolvarea

Agilă IT: 8 metode de descompunere pentru rezolvarea

Agilă ea 8 metode de descompunere pentru rezolvarea
Primul și poate cel mai important etapă de lucru cu Backlog Produs în Agile este descompunerea sarcinilor, distribuiri în diverse cerințe atomice, relatări ale utilizatorilor intuitive (povestiri de la utilizatori). Cerințele calitative sunt rupte, mai clar sensul și metodele de punere în aplicare a acestora, precum și cu atât mai precisă puteți programa un timp pentru a lucra pe ele. Problema este, cu atât șansele de a atinge scopurile sprint, formulările cu eliberare mai previzibile.

Cum putem trage descompunerea cerințelor din Backlog produs? Luați în considerare cele 8 tehnici care vor ajuta pentru a efectua în mod eficient o defalcare a cerințelor privind Stories utilizator. Lucrarea de mare avantaj Agile este utilizarea simultană a mai multor variante de descompunere, prin urmare, este important să reprezinte gama de metode posibile.

Agilă ea 8 metode de descompunere pentru rezolvarea

Să considerăm aceste puncte mai detaliat. Dezvoltarea de software este un proces destul de imprevizibil și conține o mulțime de sarcini și dependențe care sunt dificil de evaluat cu precizie în avans. Este firesc ca în procesul de punere în aplicare a unor cerințe vor necesita mai mult timp decât proiectat inițial. Influența asupra eliberării problemelor mari și mici, în acest caz, vor fi diferite:

  • Dacă în iterație (sprint), lucrăm la mai multe sarcini mari și complexe, apoi, în primul rând, astfel de sarcini ar fi dificil de estimat cu precizie ridicată, și în al doilea rând, subestimarea chiar una dintre ele poate afecta foarte mult realizarea scopurilor sprint. Acesta nu este de a elibera 1 din 2 caracteristici planificate, este de doar 50% din rezultate utile.
  • sarcini mici și atomice din față nu au un astfel de impact grav asupra obiectivului de sprint, deoarece sunt mai multe planificate pentru sprint (și, prin urmare, fiecare are o contribuție mai mică) și scorul lor va fi mult mai precise.

Descompunerea sarcinilor poate fi efectuată atât la începutul următoarei sprint la planificarea și în timpul sprint, finalizarea defalcarea cerințelor pentru următoarea iterație. Al doilea exemplu de realizare este de preferat. Este mai bine să nu se leagă la un sprint specifice sarcina de descompunere să vină la el cu un plan gata, rupt în povești de utilizator Backlog. În acest caz, în cazul în care există un stoc de cerințe care descompuse:

  • În primul rând, nu ne limităm alegerea sarcinilor pentru sprint (putem lucra doar pe ce să se descompună).
  • În al doilea rând, atunci când planificarea este nu mai este nevoie să-și petreacă timpul pe defalcarea și echipa se poate concentra pe formarea unui sprint pe baza de prioritate, discuta și nuanțe în funcție de cerințele de punere în aplicare.

Există două concepte, două abordări de bază pentru descompunerea sarcinilor majore pentru poveștile de utilizator - „orizontală“ și „verticală“ partiție:

  • În cazul descompunerii „orizontal“, sarcinile sunt defalcate în funcție de tipul de operațiune (funcție) care urmează să fie efectuate de componente care sunt implicate în activitatea. În acest caz, în divizia de sarcini dezvoltator general de mare pentru o parte vor fi evidențiate, un alt tester, scriitor tehnic, al treilea și așa mai departe. De fapt, fiecare dintre părți nu conduce la rezultatul final în sine, gata pentru a elibera funcționalitatea necesară pentru a pune în aplicare întregul set de sarcini legate de toate părțile interesate.
  • „Vertical“ Metoda de descompunere opusă implică selecția de sarcini mai mici, caracteristici, funcții astfel încât fiecare astfel de antecedente de utilizare pot fi puse în aplicare și eliberate separat de celelalte sarcini. În același timp, dezvoltarea pot fi implicate roluri diferite, ar putea fi implicate mai multe module și sisteme.

sarcini de partiționare folosind „verticală“ metoda Agile mai consistentă cu principiile și utilizarea sa este mult mai eficientă în următoarele motive principale:

  • Atunci când o „verticală“ despărțitoare fiecare sarcină poate fi pusă în aplicare, testat și demonstrat de client \ utilizatorii lor pentru a fi clare și măsurabile, în contrast cu problemele „tehnice“ cu descompunere „orizontal“.
  • La descompunere „verticală“ a fiecărui utilizator final poveste aduce valoare afacerii, și, prin urmare, astfel de probleme mai ușor să compare și să acorde prioritate.
  • Având în vedere că punerea în aplicare a sarcinilor care sunt atribuite unui „vertical“ principiul implicați specialiști de diferite roluri, atunci este mai ușor de a identifica posibilele dificultăți, dependențe și riscurile care pot apărea în timpul lucrului.

Acum, că, odată cu necesitatea și principiile de descompunere este clar, uita-te la diferitele metode de rupere sarcini mari în povești de utilizator restante atomice. În toate aceste opțiuni și tehnici aplică principiul descompunerii „vertical“.

Metoda 1: Split etapele \ fazele procesului de afaceri.

Folosind această metodă, puteți încerca să rupă sarcina mare, care descrie un proces de afaceri în părțile sale componente și etape. Pentru a face acest lucru, în acest proces, este necesar să se aloce un lanț de serie de pași. care pot fi puse în aplicare și executate în mod independent unul față de celălalt. Următorul exemplu este o explicație a acestei metode de descompunere:

Ca urmare, ne-am împărțit un proces de afaceri mare în etapele sale componente. Unii pași în această critică și poate fi obligatorie și unele opționale. Această descompunere face posibilă:

  • În primul rând, să identifice prioritățile pentru fiecare poveste și să se concentreze în primul rând pe cele mai importante etape ale afacerii.
  • În al doilea rând, într-o astfel de partiție să înțeleagă mai bine procesul, etapele și componentele sale, posibile în funcție etape de miere.

Metoda 2: Compartimentarea scenariilor pozitive și negative.

De fapt, fiecare are funcționalitatea corectă a \ scenariului de utilizare directă, ceea ce conduce la rezultatul \ pozitiv așteptat. Cu toate acestea, atunci când utilizatorul lucrează cu o anumită funcționalitate pot apărea abateri de la procesul corect: nu sunt transferate datele nu au îndeplinit toate condițiile cerute nu sunt drepturi de acces corespunzătoare, etc. Astfel de abateri de la activitatea directă a scenariului va conduce la rezultate negative (acțiunea nu este executată, funcția va funcționa corect, etc.).

Prin urmare, putem descompune scenariul așteptat de utilizare funcționale și de lucru greșit, dar este posibil și scenarii probabile. Pentru fiecare scenariu, este important să se separe poveștile individuale ale utilizatorului:

  • Pentru pozitiv - realizarea unei lucrări funcționale în mod corespunzător.
  • Pentru negativ - să pună în aplicare testarea corectă a unuia sau o altă posibilă eroare, pentru a dezvolta un scenariu alternativ.

Ca un exemplu, descompunerea cerințelor pentru scenarii negative \ pozitive ia în considerare din nou funcția de cumpărare în magazin on-line:

Acest tip de descompunere permite identificarea, analiza și planul pentru testarea diferitelor excepții și incorecte scenarii de utilizare de software, care, în orice caz, va apărea.

Metoda 3: Split, în conformitate cu normele \ condițiile de proces de afaceri.

Spre deosebire de metoda anterioară, în acest caz, ne-am împărțit procesul în pași nu este o funcționalitate logică minieră opțiuni ramură. De fapt, definim un set de scenarii în care procesul poate fi efectuate în îndeplinirea anumitor reguli \ condiții.

  • Ca o ilustrare a acestei metode de descompunere să ia același exemplu: necesitatea de a pune în aplicare achiziția funcția client în magazin on-line.
  • În acest caz, putem distinge, de exemplu, următorul set de reguli pentru a face achiziția:
    • Se determină valoarea minimă în cazul în care valoarea de achiziție este mai mică, atunci clientul este prezentat tooltip corespunzătoare.
    • În cazul în care valoarea de achiziție depășește o anumită valoare, clientul oferă opțiuni de plată suplimentare.
    • În cazul în care factura nu este plătită în termen de 2 zile, comanda este anulata automat.
  • Punerea în aplicare a fiecăreia dintre aceste condiții pot fi luate într-o sarcină separată

Această metodă permite cerințe de partiționare:

  • Identificarea și face o poveste de utilizator reguli și restricții diferite separate, care pot fi întâlnite în procesul \ funcțional. Deci, un risc mai mic de a uita sau sări peste anumite condiții importante.
  • De obicei, punerea în aplicare în procesul de afaceri a anumitor condiții vor avea o prioritate diferită: ceva pe care doriți să pună în aplicare în prima versiune a produsului, și nu ceva ce se poate face o anumită perioadă de timp. Descompunerea unui singur proces în condițiile de \ reguli va construi secvența de aplicare a povesti individuale ale utilizatorului.

Metoda 4: Divizarea tipurilor de operațiuni.

Pe exemplul acelasi magazin online, puteți face o astfel de descompunere de funcționalitate pentru a lucra cu cardul de produse:

Sunt descompunându funcționalitate așa că este destul de ușor să răspundă la următoarele întrebări:

  • Ce operațiuni sunt într-adevăr necesare pentru a lucra cu un anumit obiect? De obicei, operațiunile legate și nu are nici un sens să se realizeze, de exemplu, crearea unui obiect, fără posibilitatea de vizualizare sale. Cu toate acestea, selectarea operațiunilor va permite să-și pregătească prioritățile lor.
  • Cum necesar să se pună în aplicare fiecare dintre operațiunile? Poate că una și aceeași operațiune trebuie să fie pus în aplicare în mai multe moduri. În acest caz, descompunerea poate fi extinsă pentru a face punerea în aplicare a fiecărei metode în poveste de utilizator separat. De exemplu, trebuie să ne dăm seama crearea unui nou obiect prin intermediul interfeței web a aplicației, prin panoul de administrare pe site-ul magazinului prin adăugarea de informații în baza de date, etc.

Metoda 5: Descompunerea tipuri de platforme / OS.

Totul e destul de simplu - cerințe de măsură de partiționare în părți componente este necesar să se pună în aplicare aceeași funcționalitate pentru diferite platforme, dispozitive, sisteme de operare.

De exemplu, trebuie să se dezvolte în aplicație web caracteristica de plată utilizator unele cumpărături. În acest caz, este posibil să se descompună cererea pentru punerea în aplicare a funcției de achiziție a problemei:

Ruperea cerință poate, astfel, destul de ușor de a identifica zonele cele mai înalte prioritare pentru dezvoltarea de produse și să se concentreze asupra lor mai întâi. De exemplu, la început vă puteți concentra pe dezvoltarea versiunii mobile a aplicației și versiunea pentru concediu desktop pentru versiunile urmatoare.

Metoda 6: Divizarea tipurilor de date și parametri.

Pentru unele funcții puteți pot distinge diferite tipuri de date sau parametri pe care trebuie să se ocupe. Prin urmare, putem rupe o mulțime de cerere \ Sunteți pe un număr de relatări ale utilizatorilor mici din fiecare dintre care trebuie să fie puse în aplicare pentru a lucra cu doar un anumit tip de date.

Ca un exemplu, ia în considerare o funcție de căutare pentru un magazin online. În acest caz, descompunerea în subactivități poate fi realizată pe baza diverselor solicitări din șirul de căutare, de exemplu:

  • Căutați folosind text (denumirea produsului)
  • Căutați folosind valori numerice (număr de produs)
  • Căutare folosind expresii regulate

Când se folosește această metodă de descompunere, putem identifica în mod clar parametrii valide și invalide pentru realizarea unei funcții (de exemplu, funcția de căutare). În acest caz, sprijinul tipurilor de date \ parametri pot fi furnizate la o dată, în timp ce altele pot fi puse în aplicare într-un mod simplificat, sau interzise pentru utilizare.

Metoda 7: Divizarea rolurilor \ drepturilor de acces.

Multe procese de afaceri și funcționalitatea implică adesea participarea \ de lucru cu ei mai multe roluri și grupuri de utilizatori. Fiecare grup de utilizatori cu un anumit rol și drepturi de acces pot îndeplini doar câteva dintre caracteristicile procesului global.

Atunci când divizarea funcțională pentru a lucra cu produse din magazinul online, prin utilizarea de roluri pot fi identificate, de exemplu, următoarele sarcini:

Divizarea funcționalitatea de ansamblu asupra rolului pe care trebuie efectuate de către părți, înțelegem mai clar ce sunt necesare funcții și care are dreptul de a le executa. În acest caz, în primele etape, aveți posibilitatea să prioritizeze și să pună în aplicare numai setul de bază de funcții pentru fiecare dintre rolurile, și mai târziu pentru a extinde capacitățile lor.

Metoda 8: Descompunerea script-uri de testare \ cazuri de testare.

Această strategie vă permite să împartă povești mari de utilizatori de descompunere prin intrebarea, cum va fi testat acest lucru sau acea parte a funcționalității. Noi definim ceea ce ar trebui să fie verificate scenarii, care efectuează teste pentru a afla dacă această caracteristică funcționează. Ca rezultat, vom crea un set de cazuri de testare, fiecare dintre care va reprezenta o problemă separată. Fiecare sarcină trebuie să fie puse în aplicare, astfel încât scenariul de test a fost trecut cu succes.

Luați în considerare exemplul funcționalității - clientul selectează produsul pentru a magazinului online și pune-l în „coșul“ pentru a finaliza achiziția. Ca parte a acestei funcționalități, următoarele scenarii de test (mai jos este doar un exemplu de posibile cazuri de testare) se pot distinge:

  • Acest produs este disponibil și este disponibil de cumpărare.
  • Acest produs este disponibil, dar a fost deja rezervat de un alt cumpărător
  • Produsul nu este disponibil

Care sunt avantajele acestei metode de descompunere:

  • Această strategie combină în mod eficient multe tehnici de descompunere care au fost luate în considerare anterior. În procesul de formare a listei de cazuri de testare vom analiza în mod automat:
    • Condiții și reguli ale procesului de afaceri
    • scenarii pozitive și negative pentru funcționale
    • Formatele de date și parametri.
  • Analizând script-ul de testare este ușor de înțeles modul în care este răspândit, și este probabil ca în condițiile de utilizare efectivă a produsului, care vă permite să stabilească prioritățile corespunzătoare.
  • Cu această metodă de partiționare, vom obține și o descriere pentru problema \ poveste de utilizator și script-ul, care vă permite să verifice succesul punerii sale în aplicare imediat.