Chi scrive le "storie degli utenti" tecniche nella mischia


11

So che un product owner dovrebbe scrivere una user story nella mischia.

Una user story descrive una funzionalità per l'utente finale.

Ma chi descrive cosa deve essere sviluppato tecnicamente e come deve essere implementato

e dove sono archiviate le informazioni relative alla mischia?

Questo mi interesserebbe davvero!

Vedo una grande mancanza di conoscenza nella nostra azienda quando gli sviluppatori iniziano a implementare la storia ma non sanno COME implementarla!

Ad esempio, hanno a che fare con un'API COM legacy e non hanno idea di come gestirla o non sono così esperti tecnicamente con WPF / WEB o altro.

In che modo la mischia aiuta le persone a iniziare con la user story?

Risposte:


19

Odio non agile qui. La definizione dei dettagli dell'implementazione e la determinazione delle attività che devono essere eseguite si verificano durante la riunione di pianificazione dello sprint, che trasformerà le storie degli utenti in attività / requisiti effettivi per lo sprint. Il fallimento di molti processi agili è che la riunione di pianificazione dello sprint dovrebbe essere fatta in gran parte dagli sviluppatori ... se sono solo i proprietari dei prodotti, decideranno di prendere la luna. È qui che ti viene in mente una storia utente (piuttosto nebulosa) come:

As a non-technical user, I need to have a simpler interface with the API

Mentre il product owner definisce quali user story hanno la massima priorità, i programmatori prendono quelle priorità e le trasformano in un elenco di attività (chiamato backlog dello sprint). Qui è dove ti viene l'idea di come implementerai le cose ... il backlog dello sprint può essere tecnico come preferisci. È anche qui che scoprirai "per ottenere un'API più semplice, dovremo riformattare quell'API COM pazza. Qualcuno sa come usarla?". Quando la risposta è "No infernale" inizierai a vedere che l'ambito di tale user story potrebbe essere più ampio di quanto sembri. Detto questo, dovresti suddividere la user story nelle attività:

  • Documentare e comprendere l'API corrente
  • Progetta una nuova API
  • Implementa nuova API
  • Qualunque cosa...

Detto questo, è OK negoziare le storie degli utenti per dividerle in piccole modifiche. La metodologia agile significa che vuoi avvicinarti a ciò che la persona vuole in passaggi incrementali. Quindi potresti dire "Ehi guarda. Non possiamo revisionare l'API in una sola iterazione. Dividiamola in" Come cliente non tecnico, ho bisogno di un etto API ben documentato ".


3
Vedo perché non sei un odio di agile; sai cosa stai facendo.
JeffO,

@JeffO lol che è stata probabilmente una risposta fuori posto a un commento che è stato cancellato che era semplicemente "rabble rabble agile bad".
IdeaHat,

@IdeaHat - Alcuni altri esempi di requisiti nebulosi quando il Product Manager o BA "impreparati" stanno essenzialmente creando storie utente softwareengineering.stackexchange.com/a/384838/260655
MasterJoe2

10

Risposta breve

Il Dev Team scrive le cose tecniche. Scrum ti aiuta un po ', ma non molto con il resp tecnico. iniziare su una User Story. Scrum è quasi solo What-World . Il guasto tecnico è How-World .

La ripartizione fornita da Scrum è:

  • User Story -> Criteri di accettazione

La ripartizione che le persone usano spesso in aggiunta a questo è:

  • Epico -> Racconti utente
  • User Story -> Sottoattività
  • Criteri di accettazione -> Test di accettazione

Inoltre, il team potrebbe scrivere Task tecnici per le cose che sanno che devono essere fatte (ovvero installare IntelliJ IDEA per tutti all'inizio del progetto) ma che non hanno valore commerciale.

Per ulteriori indicazioni su come eseguire i guasti, cercare XP (Extreme Programming), Clean Code , Programmazione pragmatica , Ingegneria del software , CRC-Cards , OOP / OOA / OOD , Pattern di progettazione , Refactoring , Lavorare in modo efficace con il codice legacy , TDD ( Test-Driven Development), BDD (Behavior-Driven Development), ATDD (Acceptance-Test Driven Development).

Risposta lunga

Come pensa Scrum

What-World e How-World

C'è un What-World e un How-World . Come hai sentito correttamente, User Story è per gli utenti , generando valore aziendale noto anche come valore secondario nel What-World . Scrum è principalmente solo What-World. Non dice quasi nulla sul How-World , praticamente niente di più di "How-World è la responsabilità del Dev-Team".

User Story vs Task

Di solito, gli oggetti arretrati che sono per il How-World non sono chiamati User Story ma Task tecnici o Sottoattività . Molti strumenti consentono di scomporre la User Story dal What-World in Subtasks nel How-World .

Come Scrum aiuta e dove finisce quell'aiuto

L'aiuto di Scrum for the How-World termina in alcuni punti della riunione di Sprint Planning :

  • [Sprint Planing Meeting] Il team scopre l'incomprensione della storia se diversi compagni di squadra escogitano diverse stime di Story Point durante il Planning Poker -> Discussione.
  • [Definizione di Pronto] Il team non accetta storie utente troppo grandi (punti trama troppo alti). Una regola empirica trovata in molte definizioni di pronto è che i punti storia devono essere inferiori alla metà della velocità della squadra.
  • [Definizione di pronto] Il team non accetta le storie utente senza una descrizione sufficiente dei criteri di accettazione. I criteri di accettazione sono sufficienti se il team ha abbastanza fiducia su come iniziare a scrivere i test di accettazione.

Alcuni consigli sul livello di Scrum

Ho trovato utile analizzare le storie utente in sottoattività durante le riunioni di perfezionamento del backlog o almeno nella seconda parte della riunione di Sprint Planning (per alcuni team Sprint Planning 2 Meeting).

Con team inesperti ho trovato utile lottare per le storie degli utenti Atomic durante il perfezionamento del backlog e la pianificazione dello sprint. Una User Story Atomic è una User Story che non può essere ulteriormente suddivisa in User Story più piccole senza perdere del tutto il suo valore aziendale. In generale, le User Story non devono necessariamente essere Atomic, ho appena scoperto che mi aiuta con team inesperti.

E non fare "(Architecture | Design | Implementation | Test) di Feature X" come User Story. Ti consiglio anche di provare a evitarlo come sottoattività.

Se ho le storie degli utenti Atomic e sembrano aver bisogno di un'ulteriore suddivisione oltre ai criteri di accettazione da implementare, significa per me che qualcosa non funziona al livello ottimale. L'architettura è sbagliata / troppo complicata, ovvero tecnica anziché orientata al business. Oppure la squadra è inesperta. O entrambi. In ogni caso, sarebbe necessaria un'azione per migliorare la situazione attraverso la formazione e la diffusione delle conoscenze.

Oltre Scrum

Lo Scrum Master oltre Scrum

Oggi, lo Scrum Master è principalmente inteso come un ruolo manageriale , e questa è una cazzata. Inizialmente, lo Scrum Master era, e lo sostengo, un ruolo tecnico , non un ruolo manageriale, proprio come il Coach in XP .

È fin troppo facile affidarsi a Scrum e Scrum Master e quindi cadere in un enorme divario perché Scrum non dice quasi nulla sul How-World.

Scrum Master rotante

Idealmente, Scrum Master ruota tra quegli sviluppatori esperti che hanno anche sufficienti capacità manageriali e comunicative fino a quando tutti nel team non vivono "Ispeziona e adatta" così profondamente che lo Scrum Master diventa ridondante; nessuno e tutti sarebbero Scrum Master allo stesso tempo.

Ma attenzione, Scrum Mastery è più come cucinare, non come pulire il tavolo e lavare i piatti. Potresti voler ruotare chi pulisce il tavolo e lava i piatti, poiché tutti potrebbero farlo. Ma non vorrai ruotare la cucina su tutti, perché ci sono persone che non sanno cucinare o che non amano cucinare, e vuoi mangiare del buon cibo.

La cosa buona di ruotare Scrum Master tra sviluppatori esperti è che il team ha maggiori probabilità di conoscere più metodi.

Il team auto-organizzante

Dal punto di vista di Scrum, il team deve scoprire se stesso, idealmente con l'aiuto dello Scrum Master .

Scrum parla anche del Dev Team . Ruoli come architetto o ingegnere capo non esistono in Scrum. Ciò non significa che sono vietati, significa solo che Scrum non dice nulla su di loro. Scrum proclama un team auto-organizzante , il che significa che se il team dichiara un architetto, il team ha un architetto. Questo non è definito da Scrum, ma è conforme a Scrum. Non sto proclamando architetti dedicati (ho lavorato come architetto designato per anni, e anche se mi è piaciuto, sono fondamentalmente contrario all'idea di architetto designato), solo per fare un esempio.

Test di accettazione

Le storie utente hanno criteri di accettazione . Questi criteri di accettazione vengono trasformati in test di accettazione

Altre cose

Per un elenco di più elementi per la suddivisione, vedere Come suddividere un progetto di programmazione in attività per altri sviluppatori?

Spero che questo ti aiuti.


1

Chiunque sia il più qualificato nel team deve suddividere i requisiti dei proprietari dei prodotti in user story fruibili. Nella mia esperienza, abbiamo utilizzato il seguente approccio:

  • È sempre stato uno sviluppatore che scrive le storie sulla base di discussioni con i proprietari dei prodotti.
  • Queste storie vengono quindi stimate (in base a punti o tempo) dagli sviluppatori
  • I proprietari dei prodotti decidono quindi in che modo assegnare priorità alle cose.

Se gli sviluppatori non sanno come implementare una storia, uno di questi casi potrebbe essere vero:

  • L'attività potrebbe non essere abbastanza chiara (aggiungere ulteriori dettagli / schermate / mockup)
  • Deve essere ulteriormente suddiviso in modo che i compiti specifici siano più chiari
  • Ha bisogno di più tempo per consentire allo sviluppatore di ricercare e imparare come implementarlo. (Quando si stima questa attività, aggiungere più tempo per tener conto di questo)
  • Lo sviluppatore non è abbastanza qualificato per implementarlo e potrebbe essere necessario assegnarlo a qualcun altro, oppure lo sviluppatore deve essere aiutato da qualcun altro.

Puoi seguire questo corso su SCRUM su Udemy gratuitamente e conoscere i singoli aspetti del processo SCRUM - https://www.udemy.com/scrum-methodology/


0

La risposta breve è questa: il proprietario del prodotto è responsabile della creazione delle storie che il team deve fornire. È la squadra che decide come consegnare le storie. Se una parte della consegna riguarda alcune storie tecniche, è la squadra che scrive quelle storie. Il team quindi collabora con il proprietario del prodotto per decidere la priorità.

Ancora una volta, l'OP decide cosa costruire, il team decide come implementare quelle storie.


0

Questo non è un problema Agile. Il problema è che il team non ha abbastanza conoscenze tecniche per completare una user story (agile) o un requisito (tradizionale). Agile può aiutare in questa situazione? No, se il team non è stato selezionato con cura e nessuno nel team ha abbastanza esperienza tecnica per svolgere i propri compiti. Sì, se alcuni membri del team hanno una buona conoscenza tecnica che può aiutare gli altri membri del team a svolgere i propri compiti. Perché quella squadra deve essere auto-organizzata e deve sapere che è forza e debolezza.

si prega di ricordare il seguente pricipolo Agile.

"Le migliori architetture, requisiti e progetti emergono da team auto-organizzati"

Ciò accade perché nell'ambiente Agile la fiducia del team è elevata e delegano il lavoro tra di loro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.