Dovresti scrivere un elenco di problemi o risolvere i problemi mentre si presentano? [chiuso]

1

Ho notato una strana tendenza nell'azienda in cui lavoro.

Ci sono persone che insistono sul fatto che ci dovrebbe essere una lista di compiti. Stimano tali compiti, li implementano e cercano di soddisfare i loro impegni. Tuttavia, mentre stanno codificando, è probabile che i requisiti cambino. Le priorità si spostano, i compiti aumentano o diminuiscono e l'ambito può semplicemente cambiare, facendo sì che l'intero lavoro venga scartato.

E poi, c'è un'altra squadra, che incontra problemi e li risolve man mano che si presentano. Non ci sono stime, non ci sono priorità, non ci sono scadenze fisse, e le dichiarazioni di missione per gli sprint vanno come "Correggi gli errori nel [inserisci il nome del sottosistema qui]".

Ora, qual è il modo giusto per essere agili quando si hanno sprint tecnici che si concentrano solo sulla stabilizzazione del sistema? Dovresti provare a raccogliere un elenco di problemi, solo per farli cambiare, o dovresti provare a sistemarti mentre lavori, senza dire quando avresti finito?

    
posta Parham Doustdar 22.01.2014 - 16:11
fonte

3 risposte

6

Entrambi i metodi hanno molto da offrire, a seconda del contesto.

Se stai correggendo i bug che bloccano l'esperienza dell'utente, allora è molto difficile dare una buona stima perché chiaramente sta accadendo qualcosa che non è stato previsto. Potrebbe rivelarsi un one-liner o un sottile fraintendimento che richiede ore se non giorni di rintracciamento attraverso i log degli eventi e le tracce dello stack. Probabilmente sai anche che deve essere affrontato semplicemente - questi bug appaiono come massima priorità e rimangono lì fino a quando l'utente può procedere di nuovo.

D'altro canto, i miglioramenti delle prestazioni, alcuni miglioramenti di stabilità e cambiamenti estetici - cose che degradano l'esperienza dell'utente ma non gli impediscono di usare l'applicazione - possono essere trattati molto più come storie di caratteristiche. Sei tu a decidere quali miglioreranno di più per il tempo investito e rivedi questa decisione regolarmente alla luce di altri cambiamenti. Gli utenti possono trovare workrounds. Le storie possono anche essere rese note dalle modifiche apportate dai fixer dei bug di emergenza.

In definitiva non esiste una "risposta giusta" unica: trova solo ciò che funziona meglio per i tuoi team.

    
risposta data 22.01.2014 - 16:35
fonte
4

Ho fatto XP per alcuni anni e trovo questa discussione un po 'fuori mano. Non ho mai fatto uno sprint che si concentra su correzioni di bug / stabilizzazione; Inoltre non ho mai risolto bug come li trovo.

Invece, ho sempre seguito un processo standard:

  1. Se il bug è nel codice su cui sto lavorando, lo aggiusto. Lo registrerò e lo isolerò in SCC in modo che la correzione non sia trattata come parte della mia storia.
  2. Se il bug si trova in un'altra area dell'app, registralo.

Ciò ti consente di terminare la tua storia senza essere continuamente interrotta da altre attività. Senza questo tipo di disciplina, la stima è quasi impossibile perché la durata di un compito dipende dalla dimensione delle attività e da quanti bug si troveranno.

Inoltre, registrando il bug, autorizzi:  1. Tutti i bug devono essere visibili all'intero team del progetto.  2. Consenti agli sviluppatori di raggruppare bug quando si lavora su di essi.  3. Tutti, non solo gli sviluppatori, per segnalare (e registrare) bug.  4. Bug con priorità per gli utenti, il che significa che la priorità viene stabilita dal tuo

Proprietario del prodotto anziché da parte dello sviluppatore.

    
risposta data 22.01.2014 - 20:28
fonte
1

Penso che questo si riduce a come lo sviluppo nel suo complesso è compreso. Se l'obiettivo è "solo averlo fatto", correggere i bug così come appaiono potrebbe essere la linea d'azione. Inoltre, per evitare perdite di tempo, se vedi un bug nel codice che già gestisci E conosci già la correzione, non penso che ci sia molto da fare nel creare un problema solo per chiuderlo un minuto dopo. Ciò comporta tuttavia un rischio, che gli altri cercano di risolvere: non cambierai mai le cose se cambi costantemente gli obiettivi.

Considera uno sprint agile o una versione pianificata. Entrambi di solito impostano quali funzionalità implementare e quali bug correggere. È importante attenersi a questi obiettivi per poterli effettivamente raggiungere. Anche se non crei problemi per i bug che risolvi durante la fase di sviluppo, ti costano tempo. E questo è il momento che potresti non avere. Ovviamente, sai che questi bug devono essere risolti. Ma anche per la tua gestione, spesso è più facile spiegare a un cliente che è necessario un altro ciclo di rilascio di una o due settimane per ottenere tutto senza errori, piuttosto che spiegare perché tutte le scadenze sono state perse. Se le persone dipendono dai rilasci, lo sviluppo dovrebbe funzionare e apprezzare che nessun rilascio mai sarà perfetto. Vedere un bug è metà della battaglia.

Ripensa il tuo ultimo paragrafo. La creazione di nuovi problemi non modifica l'elenco delle cose su cui stai lavorando attualmente. Cambia solo il backlog a cui potrebbe essere richiesto o meno l'indirizzamento (probabilmente in base al risultato dello sprint corrente che viene eseguito in tempo).

    
risposta data 22.01.2014 - 20:14
fonte

Leggi altre domande sui tag