Chi corregge bug in una squadra? [duplicare]

0

In un team di sviluppo software agile, chi potrebbe risolvere i bug introdotti in un aggiornamento?

Lo sviluppatore che scrive la funzione?
Qualcun altro specializzato specificamente nel debugging con un certo titolo?
Il miglior sviluppatore del team?

    
posta Esqarrouth 09.02.2015 - 11:00
fonte

3 risposte

8

In an agile software development team, who would be the one to fix the bugs introduced in an update?

In un team di sviluppo software agile, si spera che la nozione di proprietà del codice non esista. In una squadra del genere, proprietà del codice collettivo dovrebbe regnare sovrana.

In una squadra del genere, la persona che risolve il codice è la prima persona a notarlo, sia a causa dei propri test, sia da un rapporto di un altro team (ad esempio i tester) o un cliente. Ogni membro è competente a risolvere qualsiasi errore come chiunque altro.

Questo significa anche che i bug non languiscono, aspettando che la persona X torni dalle vacanze. Oppure se la persona X è andata via dalla compagnia, ce ne sono altri che possono riprendersi senza problemi.

(vedi anche le diverse definizioni discusse da Martin Fowler )

Supponendo che tu non stia lavorando in una squadra del genere, comunque chiunque dovrebbe prendere il bug. E verifica la correzione senza che qualcuno lo sappia.

The developer who writes the feature?

È possibile. Se nessun altro può ripararlo. Molti bug sono banali e possono essere risolti da chiunque. Avere una proprietà collettiva significa che chiunque risolva il bug può imparare a conoscere i nuovi bit di codice, quindi più di una persona può lavorare su quel bit.

Someone else specialized specifically in debugging with a certain title?

Non ho mai sentito parlare di posizioni di "debugger senior". Spero di non averne mai sentito parlare. Francamente, il debugging fa parte del lavoro. Tutti dovrebbero essere in grado di essere efficaci.

The best developer in the team?

Povero compagno. Non farei altro che fare il debug di roba tutto il giorno. Mi chiedo quanto tempo ci vorrà per smettere.

Oh. E chi l'ha deciso? Un po 'soggettivo, per non dire politico.

Ancora una volta - tutti i membri del team dovrebbero essere deboli nel debug e nel correggere qualsiasi pezzo del codice base. O se non tutti , la maggior parte delle persone dovrebbe.

    
risposta data 09.02.2015 - 11:09
fonte
5

la cosa con Agile dipende da te decidere quale sia l'approccio e il processo migliori da utilizzare.

Quindi, in questo caso, è compito della tua squadra decidere. Dimentica qualsiasi cosa su Internet (o un corso troppo costoso!) Ti dice, trova il modo migliore che funziona per te . È agile.

Non abbiate paura di provare modi diversi, anche se probabilmente inizierei con "tutti nel team sono ugualmente responsabili della risoluzione dei problemi". Se si scopre che qualcuno è nella posizione migliore per risolvere determinati problemi, e tutti sono contenti di ciò, allora questa è la strada da percorrere. (sebbene se fossi PM per la squadra, mi aspetterei che più di una persona conosca ogni area nel caso in cui l'unico punto di conoscenza si interrompa o muoia in un orribile incidente d'autobus). Se la squadra preferisce avere la stessa proprietà di tutto il codice, allora devi occuparti del trasferimento delle conoscenze e va bene anche questo. Tutto dipende da ciò che funziona meglio per la tua squadra, non dalla squadra di qualcun altro che lavora in modo diverso o lavora in modi diversi.

    
risposta data 09.02.2015 - 11:32
fonte
1

Sono d'accordo con gbjbaanb ...

Non c'è assolutamente nessuna risposta giusta qui.

Correggere un bug significa 3 cose diverse:

  1. Lo sviluppatore responsabile della correzione dell'esperienza di guadagno del bug in quell'area del progetto. Può trattarsi di familiarità con quel codice o familiarità con il dominio aziendale gestito dal codice (dipende dal tipo di bug).

  2. Permette ad altre persone di andare avanti con il loro lavoro. Molte volte i bug interferiscono con altri sviluppatori e di solito interferiscono con il QA e i test di integrazione.

  3. Rimuove un malfunzionamento dal tuo prodotto permettendoti di spedirlo o mostrarlo ai tuoi clienti \ utenti. Questo è molto importante e ti salva dalla disoccupazione.

Riguardo al primo punto, se uno sviluppatore è responsabile della correzione di un bug, ciò non significa che non ottiene assistenza o mentoring da altri. Personalmente un sacco di volte ho dovuto mentore (leggi babysit) ai nuovi sviluppatori che erano stati assegnati alla correzione dei bug di cui ero responsabile, quindi in futuro potrebbero lavorare da soli su quelle aree.

In che modo decidi in realtà chi corregge quale bug?

Tu, il tuo team, il tuo capo squadra, devi valutare i costi e i benefici. se è meglio che qualcuno lavori di nuovo su di esso? o qualcuno con esperienza che ha meno familiarità con quella zona? forse il ragazzo che in realtà lo ha scritto? forse qualcuno più esperto che conosce molto bene quell'area? quali altri compiti ci sono? quanto è urgente questo bug? sei vicino a un rilascio? ecc.

    
risposta data 09.02.2015 - 13:04
fonte

Leggi altre domande sui tag