Come devo registrare il tempo trascorso su più attività?

5

Nel blog di Joel sulla programmazione basata sull'evidenza suggerisce di fare stime basate sulla più piccola unità di lavora e registra il lavoro extra per tornare all'attività originale.

Il problema che sto vivendo ora è che avrò creato l'oggetto A con il metodo di sottotask A che crea l'oggetto B e testare tutto quanto sopra.

Creo attività per ognuna di queste che sembrano risultare in stime ok-ish (pratica necessaria), ma quando vado a registrare lavoro trovo che ho lavorato su 4 attività contemporaneamente perché ho modificato il metodo A e trovato un bug nel test e refactor oggetto B tutto mentre lo codifica.

Come dovrei fare per registrare questo lavoro? dovrei dire che ho speso, per esempio, 2 ore in ciascuna delle 4 attività a cui ho lavorato nel giorno delle 8 ore?

    
posta xenoterracide 05.04.2012 - 01:53
fonte

3 risposte

1

Mi chiedo se non è colpa del modo in cui stai organizzando i tuoi compiti. Mentre lo leggo, stai creando attività a livello di codice. cioè un compito per la classe A, e forse sottoattività per il metodo B, C.

Prova ad impostare le tue attività ad un livello più alto di astrazione (es. Uso / comportamento funzionale / Usa livello di storia). Se è necessario modificare 4 aree di codice per ottenere un risultato, è un compito. Inoltre ti risparmierà il dover "refactoring" i tuoi compiti quando cambi il tuo approccio tecnico.

A seconda dell'approccio SDLC, devi assicurarti che questi livelli di attività siano correttamente dimensionati (generalmente più agile è il tuo approccio, più piccola deve essere la dimensione)

    
risposta data 05.04.2012 - 08:56
fonte
1

Non ho familiarità con la programmazione basata sull'evidenza, ma sembra che i tuoi compiti siano troppo piccoli. Dovresti cercare di rendere le tue attività più coinvolgenti. Anche se uno degli esempi del post di Joel è "scrivi una subroutine foo", penso che sia troppo piccolo. Trovo che lavori meglio se un'attività è una cosa visibile e consegnabile, e le mie attività secondarie ne sono la parte. Ad esempio, un'attività potrebbe essere quella di correggere un difetto in un file di output e questo difetto viene inserito nel sistema di tracciamento dei difetti. I miei sottoattività potrebbero essere rivedere il codice (specialmente se non ho familiarità con esso), scrivere casi di test per confermare il difetto (e contribuire a garantire che sia corretto), applicare la correzione, aggiornare la documentazione ed eseguire eventuali test del fumo per assicurati di non aver introdotto altri difetti nel sistema prima di spingere le modifiche verso l'alto.

Suggerirei anche di concentrarsi su un'attività alla volta. Se trovi qualcos'altro da fare, metti in pausa, scrivilo (o inserisci il difetto nel bug tracker o aggiungi un // TODO comment o ...), e riprendi ciò che stavi facendo. Quando hai terminato l'attività corrente, assegna la priorità alle attività appena scoperte, assicurati che siano tracciate per il processo del tuo team e assicurati che vengano eseguite dalle persone migliori per svolgere il lavoro.

    
risposta data 05.04.2012 - 02:18
fonte
0

Hai un paio di modi in cui puoi fare questo genere di cose. Se riscontri un problema in qualcosa su cui hai lavorato in precedenza, potresti:

  • Correggi il problema come parte dell'attività su cui stai lavorando: rifattiamo le dipendenze per assicurarti che l'attività corrente venga completata con successo.
  • registra un bug e fornisci stime per correggerlo nel tuo tracker dei problemi. Quindi assegna la priorità al compito in modo che tu,
    • completa prima l'attività dipendente o
    • completa l'attività corrente con i test che mostrano un errore, poi prosegui per correggere il bug che hai registrato e, al termine, attendi che i test in entrambi i casi passino prima di controllare tutto.

Personalmente non sono favorevole a lasciare le cose in errore mentre sistemo altre cose. Se il bug è nuovo, ed è qualcosa in una dipendenza, allora semplicemente sistemo il problema come parte del compito su cui sto lavorando. Una volta che un'attività è completa, è completa e se ha un bug, ha un bug. Speriamo che i test evitino questa situazione, ma se i test continuano a passare, allora l'attività precedente dovrebbe essere completata, chiusa e lasciata in pace.

Se hai reso le tue attività molto dettagliate, devi prima assicurarti di aver gestito gli elementi di dipendenza. Se si dispone di due attività con dipendenza comune, è possibile completare la dipendenza in un'attività in modo che sia disponibile quando si passa all'attività successiva. Quindi, completando in modo efficace i compiti, non dovresti aver bisogno di preoccuparti di saltare avanti e indietro tra due compiti. Dovrebbe essere solo un caso di logging di un bug, o di ripararlo come una parte necessaria della cosa su cui potresti lavorare al momento.

Sì, tutto questo potrebbe incasinare le tue stime, ma se questo è qualcosa che accade spesso e stai usando la pianificazione basata sull'evidenza, allora le tue stime funzioneranno tutte bene (statisticamente) dopo un po ', quindi non lo farei preoccuparsi di molto. : -)

    
risposta data 05.04.2012 - 09:58
fonte

Leggi altre domande sui tag