Dacă am ști ce facem, nu s-ar numi cercetare.
-Albert Einstein
Spikes sunt un tip de explorare Enabler Story în SAFe. Definite inițial în Extreme Programming (XP), ele reprezintă activități precum cercetarea, proiectarea, investigarea, explorarea și prototiparea. Scopul lor este de a obține cunoștințele necesare pentru a reduce riscul unei abordări tehnice, pentru a înțelege mai bine o cerință sau pentru a crește fiabilitatea estimării unei povestiri.
Ca și alte povestiri, spikes sunt estimate și apoi demonstrate la sfârșitul Iterării. Ele oferă, de asemenea, un protocol și un flux de lucru agreat pe care trenurile de lansare agile (ART) îl folosesc pentru a ajuta la determinarea viabilității epicii.
Agile și Lean apreciază faptele în locul speculațiilor. Atunci când se confruntă cu o întrebare, un risc sau o incertitudine, echipele Agile efectuează mici experimente înainte de a trece la implementare, în loc să speculeze cu privire la rezultat sau să sară la o Soluție. Echipele pot utiliza vârfurile într-o varietate de situații:
- Estimează noi Funcționalități și Capabilități pentru a analiza comportamentul implicit, oferind o perspectivă asupra abordării pentru împărțirea lor în bucăți mai mici, cuantificabile
- Realizează analize de fezabilitate și alte activități care ajută la determinarea viabilității epocii
- Realizează cercetări de bază pentru a se familiariza cu o nouă tehnologie sau domeniu
- Câștigă încredere într-o abordare tehnică sau funcțională, reducerea riscului și a incertitudinii
Picurile implică crearea unui mic program, a unei activități de cercetare sau a unui test care demonstrează un anumit aspect al noii funcționalități.
Spike-uri tehnice și funcționale
Spike-urile se prezintă în principal sub două forme: tehnice și funcționale.
Picuri funcționale – Sunt folosite pentru a analiza comportamentul general al soluției și pentru a determina:
- Cum să o descompui
- Cum să organizezi munca
- Unde există riscuri și complexitate
- Cum să folosești informațiile pentru a influența deciziile de implementare
Picuri tehnice – Sunt folosite pentru a cerceta diverse abordări în domeniul soluției. De exemplu:
- Determinați o decizie de tip build-versus-buy
- Evaluați potențialul impact asupra performanței sau a încărcăturii unei noi povești de utilizator
- Evaluați abordări tehnice specifice de implementare
- Dezvoltați încrederea cu privire la calea dorită a soluției
Câteva caracteristici și povești de utilizator pot necesita ambele tipuri de vârfuri. Iată un exemplu:
„În calitate de consumator, vreau să văd consumul meu zilnic de energie într-o histogramă, astfel încât să pot înțelege rapid consumul meu de energie trecut, actual și proiectat.”
În acest caz, o echipă ar putea crea ambele tipuri de vârfuri:
- Un spike tehnic pentru a cerceta cât durează actualizarea afișajului unui client la consumul curent, determinând cerințele de comunicare, lățimea de bandă și dacă să împingă sau să extragă datele
- Un spike funcțional – Prototipați o histogramă în portalul web și obțineți un feedback de la utilizator cu privire la dimensiunea prezentării, stilul și graficele
Legitimări pentru spike-uri
Din moment ce spike-urile nu oferă în mod direct valoare utilizatorului, utilizați-le cu moderație. Se aplică următoarele linii directoare.
Cuantificabil, demonstrabil și acceptabil
Ca și alte povestiri, spikes sunt puse în Team Backlog, estimate și dimensionate pentru a încăpea într-o iterație. Rezultatele spike-urilor sunt diferite de cele ale unei povestiri, deoarece spike-urile produc de obicei informații mai degrabă decât cod de lucru. Acestea ar trebui să dezvolte doar datele necesare pentru a identifica și dimensiona cu încredere poveștile care le conduc.
Rezultatul unui spike este demonstrabil, atât pentru echipă, cât și pentru orice alte părți interesate, ceea ce aduce vizibilitate eforturilor de cercetare și de arhitectură și, de asemenea, ajută la construirea unei responsabilități colective și a unei responsabilități partajate pentru luarea deciziilor. Proprietarul produsului acceptă vârfurile care au fost demonstrate și care îndeplinesc criteriile sale de acceptare.
Timizarea vârfurilor
Din moment ce reprezintă incertitudine în una sau mai multe povestiri potențiale, planificarea atât a vârfului, cât și a povestirilor rezultate în aceeași iterație este uneori riscantă. Cu toate acestea, dacă este mic și simplu și este probabil să se găsească o soluție rapidă, atunci poate fi destul de eficient să le faci pe amândouă în aceeași iterație.
Excepția, nu regula
Care poveste de utilizator are incertitudine și risc; aceasta este natura dezvoltării Agile. Echipa descoperă soluția corectă prin discuții, colaborare, experimentare și negociere. Astfel, într-un anumit sens, fiecare user story conține activități de tip spike pentru a identifica riscurile tehnice și funcționale. Scopul unei echipe Agile este să învețe cum să abordeze incertitudinea în fiecare iterație. Spike-urile sunt critice atunci când există o incertitudine ridicată sau când există multe necunoscute.
Learn More
Leffingwell, Dean. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison Wesley, 2011.
Ultima actualizare: 10 februarie 2021
Autor
- Richard Knaster –