Povestiri acționa ca un ‘pidgin limba,’ în cazul în care ambele părți (utilizatori și dezvoltatori) poate fi de acord suficient pentru a lucra împreună în mod eficient.Povestirile sunt descrieri scurte ale unei mici bucăți de funcționalitate dorită, scrise în limba utilizatorului. Echipele Agile implementează secțiuni mici, verticale ale funcționalității sistemului și sunt dimensionate astfel încât să poată fi completate într-o singură iterație.,poveștile sunt artefactul principal folosit pentru a defini comportamentul sistemului în Agile. Sunt descrieri scurte și simple ale funcționalității, de obicei spuse din perspectiva utilizatorului și scrise în limba lor. Fiecare dintre ele este destinat să permită punerea în aplicare a unui mic, felie verticală a comportamentului sistemului care susține dezvoltarea incrementală.poveștile oferă suficiente informații pentru ca oamenii de afaceri și cei tehnici să înțeleagă intenția. Detaliile sunt amânate până când povestea este gata să fie pusă în aplicare., Prin criteriile de acceptare și testele de acceptare, poveștile devin mai specifice, ajutând la asigurarea calității sistemului.

poveștile utilizatorilor oferă funcționalitate direct utilizatorului final. Poveștile facilitatorului aduc vizibilitate elementelor de lucru necesare pentru a sprijini explorarea, arhitectura, infrastructura și conformitatea.Modelul cerințelor SAFe descrie o ierarhie pe patru niveluri de artefacte care conturează comportamentul funcțional al sistemului: Epic, capabilitate, caracteristică și poveste. În mod colectiv, ele descriu toate lucrările pentru a crea comportamentul intenționat al soluției., Dar lucrările detaliate de implementare sunt descrise prin povești, care alcătuiesc întârzierea echipei. Cele mai multe povești apar din caracteristicile de afaceri și de facilitare din programul restanțe, dar altele provin din contextul local al echipei.fiecare poveste este un comportament mic, independent, care poate fi implementat incremental și oferă o anumită valoare utilizatorului sau soluției. Este o felie verticală de funcționalitate pentru a se asigura că fiecare iterație oferă o nouă valoare. Poveștile sunt mici și trebuie completate într-o singură iterație (consultați secțiunea povești de divizare).,adesea, poveștile sunt scrise mai întâi pe un card index sau pe o notă lipicioasă. Natura fizică a cardului creează o relație tangibilă între echipă, poveste și utilizator: ajută la implicarea întregii echipe în scrierea povestirilor. Sticky notes oferă și alte beneficii: ele ajută la vizualizarea muncii și pot fi așezate cu ușurință pe un perete sau pe o masă, rearanjate în ordine și chiar trecute atunci când este necesar., „Wow, uita-te la toate aceste povești suntem pe cale să vă înscrieți pentru” (scope)

  • „Uită-te la toate poveștile am realizat în această iterație” (progress)
  • în timp ce oricine poate scrie povești, aprobarea lor în echipa restante și acceptarea lor în sistemul de bază sunt responsabilitatea proprietarului produsului. Desigur, stickies nu se scalează bine în întreaga întreprindere, astfel încât poveștile se transformă adesea rapid în instrumente Agile lifecycle management (ALM).,

    există două tipuri de povești în povești sigure, de utilizator și povești de activare, așa cum este descris mai jos.

    surse de povestiri

    poveștile sunt de obicei conduse de divizarea caracteristicilor de afaceri și de activare, așa cum ilustrează figura 1.

    Figura 1. Exemplu de caracteristică împărțit în povești

    Povești de Utilizator

    povești de Utilizator sunt principalul mijloc de exprimare nevoie de funcționalitate. Ele înlocuiesc în mare măsură specificațiile cerințelor tradiționale., (În unele cazuri, însă, ele servesc la explicarea și dezvoltarea comportamentului sistemului care este înregistrat ulterior pentru a susține conformitatea, trasabilitatea sau alte nevoi.)

    deoarece se concentrează pe utilizator ca subiect de interes și nu pe sistem, poveștile utilizatorilor sunt centrate pe valoare. Pentru a sprijini acest lucru, se recomandă o formă de exprimare este user-voce formă, după cum urmează:

    Ca (rol de utilizator), vreau să (activitate), astfel încât (valoare de afaceri)

    folosind acest format, echipele sunt ghidate pentru a înțelege cine este folosind sistemul, ce fac cu ea, și de ce o fac., Aplicarea formatului „user voice” tinde în mod obișnuit să crească competența de domeniu a echipei; ei ajung să înțeleagă mai bine nevoile reale de afaceri ale utilizatorului lor. Figura 2 oferă un exemplu.

    Figura 2. Exemplu poveste utilizator în formă de voce utilizator

    ‘Personas’ descrie caracteristicile specifice ale utilizatorilor reprezentativi care ajută echipele să înțeleagă mai bine utilizatorul final. Personas exemplu pentru călăreț în Figura 2 ar putea fi un fior-solicitant „Jane” și un călăreț timid „Bob”., Descrierile poveștilor se referă apoi la aceste personas (ca Jane vreau…).

    în timp ce vocea poveste de utilizator este cazul comun, nu fiecare sistem interacționează cu un utilizator final. Uneori, „utilizatorul” este un dispozitiv (de exemplu, imprimantă) sau un sistem (de exemplu, server de tranzacții). În aceste cazuri, povestea poate lua forma ilustrată în Figura 3.

    Figura 3., Exemplu de o poveste de utilizator cu un „sistem” ca un utilizator

    Factor de Povesti

    Echipe ar putea avea nevoie de a dezvolta arhitectura sau de infrastructură să pună în aplicare unele povești de utilizator sau de sprijin componente ale sistemului. În acest caz, este posibil ca povestea să nu atingă direct niciun utilizator final. Acestea sunt povești facilitatoare și susțin explorarea, arhitectura sau infrastructura. Poveștile facilitatorului pot fi exprimate mai degrabă în limbaj tehnic decât în limbaj centrat pe utilizator, așa cum ilustrează figura 4.

    Figura 4., Exemplu enabler poveste

    Există multe alte tipuri de Factor de povești, printre care:

    • Refactoring și Piroane (ca în mod tradițional definită în XP)
    • Construirea sau îmbunătățirea de dezvoltare/implementare infrastructură
    • Funcționare de locuri de muncă care necesită interacțiune umană (de exemplu, indicele de 1 milion de pagini web)
    • Crearea cerute pentru produs sau componenta configurații pentru diferite scopuri
    • Verificarea sistemului de calități (de exemplu,, poveștile de activare sunt demonstrate la fel ca poveștile utilizatorilor, de obicei prin afișarea cunoștințelor dobândite, a artefactelor produse sau a interfeței cu utilizatorul, a ciot-ului sau a machetei.

      scrierea poveștilor bune

      poveștile bune necesită mai multe perspective. În agile, întreaga echipă – Proprietarul Produsului, dezvoltatorii și testerii – creează o înțelegere comună a ceea ce trebuie construit pentru a reduce reprelucrarea și a crește randamentul. Echipele colaborează folosind behavior-Driven Development (BDD) pentru a defini teste de acceptare detaliate care descriu definitiv fiecare poveste., Povești bune necesită mai multe perspective:

      • Produs Proprietarii oferă clienților gândire pentru viabilitatea și oportunitatea
      • Dezvoltatorii oferă fezabilitate tehnică
      • Testere oferi gândire larg pentru excepții, cazuri de margine, și alte moduri neașteptate utilizatorii pot interacționa cu sistemul

      de Colaborare scris povestea asigură toate perspectivele sunt abordate și toată lumea este de acord cu povestea lui de comportament cu rezultate reprezentate în povestea descrierea lui, criteriile de acceptare, și teste de acceptare., Testele de acceptare sunt scrise folosind limbajul de domeniu al sistemului cu behavior-Driven Development (BDD). Testele BDD sunt apoi automatizate și rulate continuu pentru a menține calitatea încorporată. Testele BDD sunt scrise conform cerințelor sistemului (povestiri) și, prin urmare, pot fi utilizate ca declarație definitivă pentru comportamentul sistemului, înlocuind specificațiile bazate pe documente.,

      De 3Cs: Card, Conversatie, Confirmarea

      Ron Jeffries, unul dintre inventatorii de XP, este creditat cu descrierea 3Cs de o poveste:

      • Card – Surprinde povestea de utilizator declarația de intenție, folosind un card de index, note lipicioase, sau instrument. Cardurile Index oferă o relație fizică între echipă și poveste. Dimensiunea cardului limitează fizic lungimea poveștii și sugestiile premature pentru specificitatea comportamentului sistemului., Cardurile ajută, de asemenea, echipa să „simtă” domeniul de aplicare viitoare, deoarece există ceva diferit în ceea ce privește deținerea a zece cărți în mână față de privirea a zece linii pe o foaie de calcul.
      • conversație-reprezintă o „promisiune pentru o conversație” despre povestea dintre echipă, client (sau reprezentantul clientului), PO (care poate reprezenta clientul) și alte părți interesate. Discuția este necesară pentru a determina un comportament mai detaliat necesar pentru implementarea intenției., Conversația poate genera o specificitate suplimentară sub formă de criterii de acceptare (confirmarea de mai jos) sau atașamente la povestea utilizatorului. Conversația se întinde pe toată pași în povestea ciclului de viață:
        • Restante rafinament
        • Planificare
        • Aplicare
        • Demo

      Aceste just-in-time discuții crea o înțelegere comună a domeniului care documente oficiale nu pot oferi. CAIETUL DE SARCINI de exemplu înlocuiește documentația detaliată. Conversațiile ajută, de asemenea, la descoperirea lacunelor în scenariile utilizatorilor și NFRs.,

      • confirmare-criteriile de acceptare furnizează informațiile necesare pentru a se asigura că povestea este implementată corect și acoperă funcționalitățile relevante și NFRs. Figura 5 oferă un exemplu. Unele Echipe folosesc adesea secțiunea de confirmare a cărții de poveste pentru a scrie ceea ce vor demo.
      Figura 5. Povestea criteriile de acceptare cu BDD

      echipe Agile automatiza teste de acceptare de câte ori este posibil, de multe ori în afaceri-citit, limba-domeniu specific., Automatizarea creează o specificație executabilă pentru a valida și verifica soluția. Automatizarea oferă, de asemenea, posibilitatea de a testa rapid regresia sistemului, îmbunătățind integrarea continuă, refactorizarea și întreținerea.,>Investească în Povești Bune

      INVEST model, dezvoltat de Bill Trezire , descrie caracteristicile de bune povești de utilizator:

      • I – Independente (printre alte povești)
      • N – Negociabil (un sistem flexibil de declarație de intenție, nu un contract)
      • V – Valoroase (oferind un valoros verticale felie de client)
      • E – Estimabile (mici si negociabile)
      • S – Mici (se potrivește într-o iterație)
      • T – Testabile (înțeleasă suficient să știi cum să-l testeze)

      Estimarea Povești

      echipe Agile utilizarea poveste de puncte și estimarea poker’ la valoarea lor de muncă ., Un punct de poveste este un număr singular care reprezintă o combinație de calități:

      • volum – cât de mult există?
      • complexitate-cât de greu este?
      • cunoștințe-ce se știe?
      • incertitudine-ceea ce este necunoscut?

      punctele de poveste sunt relative, fără o conexiune la nicio unitate de măsură specifică. Dimensiunea (efort) de fiecare poveste este estimată în raport cu cea mai mică poveste, care este atribuit o dimensiune de ‘S unul.”O secvență Fibonacci modificată(1, 2, 3, 5, 8, 13, 20, 40, 100) se aplică care reflectă incertitudinea inerentă în estimarea, în special un număr mare (e.,g., 20, 40, 100) .echipele Agile folosesc adesea „estimarea pokerului”, care combină opinia experților, analogia și dezagregarea pentru a crea estimări rapide, dar fiabile. Dezagregarea se referă la împărțirea unei povești sau a unor caracteristici în bucăți mai mici, mai ușor de estimat.

      (rețineți că există o serie de alte metode utilizate, de asemenea.) Regulile de estimare a pokerului sunt:

      • participanții includ toți membrii echipei.
      • fiecare estimator are un pachet de cărți cu 1, 2, 3, 5, 8, 13, 20, 40, 100, ∞, și,?
      • PO participă, dar nu estimează.,
      • Scrum Master participă, dar nu estimează, cu excepția cazului în care fac munca de dezvoltare reală.
      • pentru fiecare element restante care urmează să fie estimat, PO citește descrierea poveștii.
      • întrebări sunt puse și a răspuns.
      • fiecare estimator Selectează privat un card de estimare reprezentând estimarea lui sau a ei.toate cardurile sunt întoarse în același timp pentru a evita părtinirea și pentru a face vizibile toate estimările.
      • estimatorii mari și mici explică estimările lor.
      • după o discuție, fiecare estimator reevaluează selectând un card.,
      • estimările vor converge probabil. Dacă nu, procesul se repetă.

      o anumită cantitate de discuții preliminare de proiectare este adecvată. Cu toate acestea, cheltuirea prea mult timp pe discuțiile de proiectare este adesea irosită efort. Valoarea reală a estimării pokerului este de a ajunge la un acord cu privire la domeniul de aplicare al unei povești. Este, de asemenea, distractiv!

      Velocity

      viteza echipei pentru o iterație este egală cu suma punctelor pentru toate poveștile finalizate care au îndeplinit definiția lor de Done (DoD)., Pe măsură ce Echipa lucrează împreună în timp, viteza lor medie (puncte de poveste completate pe iterație) devine fiabilă și previzibilă. Predictible velocity ajută la planificare și ajută la limitarea lucrului în proces (WIP), deoarece echipele nu preiau mai multe povești decât ar permite viteza lor istorică. Această măsură este, de asemenea, utilizată pentru a estima cât timp este nevoie pentru a furniza epopee, caracteristici, capabilități și facilitatori, care sunt, de asemenea, prognozate folosind puncte de poveste.capacitatea este porțiunea din viteza echipei care este de fapt disponibilă pentru orice iterație dată., Vacanțele, antrenamentele și alte evenimente pot face ca membrii echipei să nu fie disponibili pentru a contribui la obiectivele unei iterații pentru o parte din iterație. Aceasta scade viteza maximă potențială pentru acea echipă pentru acea iterație. De exemplu, o echipă care are o medie de 40 de puncte livrate pe iterație și-ar ajusta viteza maximă până la 36 dacă un membru al echipei este în vacanță timp de o săptămână. Știind acest lucru în avans, echipa se angajează doar la maximum 36 de puncte de poveste în timpul planificării iterației., Acest lucru ajută, de asemenea, în timpul planificării PI pentru a prognoza capacitatea disponibilă reală pentru fiecare iterație din PI, astfel încât echipa să nu se angajeze în construirea obiectivelor PI.

      pornind de bază pentru estimarea

      în Scrum Standard, fiecare echipă poveste punct estimarea-și viteza rezultată-este o preocupare locală și independentă. La scară, devine dificil să prezici dimensiunea punctului de poveste pentru epopee și caracteristici mai mari atunci când vitezele echipei pot varia sălbatic., Pentru a depăși acest lucru, echipele sigure calibrează inițial o linie de bază a punctului de pornire în care un punct de poveste este definit aproximativ la fel în toate echipele. Nu este nevoie să recalibrați estimarea echipei sau viteza. Calibrarea se efectuează o singură dată la lansarea de noi trenuri de lansare Agile.

      punctele de poveste normalizate oferă o metodă pentru a ajunge la o bază de pornire convenită pentru povești și viteză, după cum urmează:

      • dați fiecărui dezvoltator-tester din echipă opt puncte pentru o iterație de două săptămâni (un punct pentru fiecare zi de lucru ideală, scăzând 2 zile pentru General overhead).,
      • scade un punct pentru fiecare zi de vacanță membru al echipei și de vacanță.
      • găsiți o poveste mică care ar dura aproximativ o jumătate de zi pentru a codifica și o jumătate de zi pentru a testa și valida. Spune-i unu.”
      • estimați orice altă poveste în raport cu cea”.exemplu: presupunând o echipă de șase persoane compusă din trei dezvoltatori, doi testeri și un PO, fără vacanțe sau vacanțe, atunci viteza inițială estimată = 5 × 8 puncte = 40 puncte/iterație. (Notă: ajustarea puțin mai mică poate fi necesară dacă unul dintre dezvoltatori și testeri este și Scrum Master.,în acest fel, punctele de poveste sunt oarecum comparabile între echipe. Managementul poate înțelege mai bine costul pentru un punct de poveste și poate determina mai precis costul unei caracteristici viitoare sau epic.în timp ce echipele vor tinde să—și crească viteza în timp— și acesta este un lucru bun-în realitate, numărul tinde să rămână stabil. Viteza unei echipe este mult mai afectată de schimbarea dimensiunii echipei și a contextului tehnic decât de variațiile de productivitate.,povestirile mai mici permit o implementare mai rapidă și mai fiabilă, deoarece obiectele mici trec prin orice sistem mai rapid, cu o variabilitate mai mică și un risc redus. Prin urmare, împărțirea poveștilor mai mari în cele mai mici este o abilitate obligatorie pentru fiecare echipă agilă. Este atât arta, cât și știința dezvoltării incrementale. Zece moduri de a împărți poveștile sunt descrise în cerințele software Agile ale Leffingwell ., Un rezumat al acestor tehnici cum urmează:

        • etape de Flux de lucru
        • Afaceri variante de reguli
        • efort Major
        • Simplu/complex
        • Variațiile de date
        • Date de intrare, metode
        • Amânat sistem calități
        • Operațiuni (ex., Creați, citiți, actualizați, ștergeți )
        • scenarii de caz de Utilizare
        • Break-out spike

        Figura 6 ilustrează un exemplu de împărțire prin scenarii de caz de utilizare.

        Figura 6., Un exemplu de divizare o mare Poveste în mai mici povești

        Povestiri în Siguranță Cerințe de Model

        după Cum este descris în Siguranță Cerințe de Model articol, Cadru se aplică un set extins de artefacte și relații pentru a gestiona definirea și testarea unor sisteme complexe într-un Lean și Agile de moda. Figura 7 ilustrează rolul poveștilor în această imagine mai mare.

        Figura 7., Povești în Siguranță Cerințe de Model

        La scară, povești sunt adesea (dar nu întotdeauna) create de noi caracteristici. Și fiecare poveste are teste de acceptare și teste unitare probabile. Testele unitare servesc în primul rând pentru a se asigura că implementarea tehnică a poveștii este corectă. De asemenea, acesta este un punct de plecare critic pentru automatizarea testelor, deoarece testele unitare sunt ușor automatizate, așa cum este descris în articolul Test-Driven Development (TDD).

        Aflați mai multe

        Leffingwell, Dean., Cerințe software Agile: practici privind cerințele slabe pentru echipe, programe și întreprinderi. Addison-Wesley, 2011. Cohn, Mike. Povești De Utilizator Aplicate: Pentru Dezvoltarea De Software Agil. Addison-Wesley, 2004.

        Ultima actualizare: 17 decembrie 2019

        informațiile de pe această pagină sunt © 2010-2021 Scaled Agile, Inc. și este protejat de legile americane și internaționale privind drepturile de autor. Nici imaginile, nici textul nu pot fi copiate de pe acest site fără permisiunea expresă scrisă a titularului dreptului de autor. Scaled Agile Framework și SAFe sunt mărci comerciale înregistrate ale Scaled Agile, Inc., Vă rugăm să vizitați permisiuni Întrebări frecvente și contactați-ne pentru permisiuni.

        Autori

        • Dean Leffingwell –