Domanda:
I soldi dovrebbero essere pagati come motivazione a tester e sviluppatori per rilevare e produrre bug?
Tobi Alafin
2016-12-11 13:41:37 UTC
view on stackexchange narkive permalink

Ho letto un'idea per aumentare la produttività in un'azienda. È andata così:

Avere un certo fondo che sarà un bonus. Diciamo $ 100.000. Per ogni bug tangibile trovato, i tester vengono pagati $ 5 - $ 15. Tutto ciò che resta alla fine del mese / anno va agli sviluppatori.

Sembra un'idea abbastanza meravigliosa in teoria, anche se non sono sicuro di quanto bene funzionerà in pratica . L'ovvia conseguenza di ciò è che promuove l'antagonismo tra sviluppatori e tester. Il bug business diventa un gioco a somma zero.

L'antagonismo è una brutta cosa? In che modo influirà sulla produttività e, soprattutto, sull'organizzazione? L'esperienza personale sarà molto apprezzata.

P.S: Non sono in alcuna posizione manageriale (ancora al college) anche se ho in programma di avviare alcune startup software quando mi laureo.

L'idea centrale qui è che è meglio mettere una squadra in competizione che in collaborazione.E no, anche quando ignori i problemi pratici con questo piano, questa è una ricetta per il fallimento.
Motiva entrambe le squadre a lavorare di più.Vengono ricompensati per aver svolto meglio il loro lavoro.
@TobiAlafin guarda il video che ho collegato nella mia risposta sul perché non li motiva affatto.Il denaro da solo è un terribile motivatore, nonostante quello che pensano molte persone.
forse per la prima manche, poi mi siederò lì sapendo che il mio collega ha ricevuto un bonus enorme e io non l'ho fatto anche se abbiamo lavorato altrettanto duramente, questo non farà bene al mio morale
Ho votato in alto la domanda perché è un concetto molto importante da ottenere correttamente.Ma, per favore, segui il consiglio di tutti questi intervistati che hanno molte esperienze e background diversi e che sono tutti d'accordo sul fatto che questa è un'idea con MOLTI effetti collaterali dannosi che potrebbe avere un impatto molto più negativo di qualsiasi bene che potrebbe venireda.
Bug è una determinazione.Pensi che il software si comporti in un certo modo "scorretto" ed è importante per l'azienda.In realtà potrebbe risultare che ciò che pensi sia sbagliato o che vada bene, perché le esigenze aziendali non sono influenzate.Serve molto per dimostrare entrambe le cose, e se si tratta di soldi, ci saranno guerre di trincea.Lo sviluppo di nuove funzionalità sarà stagnante a causa della paura.Le persone A e A + partiranno a breve.
Daily WTF ha una storia eccellente di qualcosa di simile a questo e puoi vedere cosa è successo: [The Defect Black Market] (http://thedailywtf.com/articles/The-Defect-Black-Market)
Questa domanda mostra i limiti del pensiero ultra competitivo.
Aaahhh la ludicizzazione dello sviluppo e del debug!Gioca a qualsiasi cosa e le persone inizieranno a giocarci, manipolarlo, imbrogliarlo, hackerarlo, batterlo, ...
@FixedPoint e gli sviluppatori / QA tendono ad essere bravi nei giochi.Di solito meglio dei manager che fanno le regole per i giochi ...
Quale motivazione hanno i programmatori per correggere i bug?Una volta che il bug è stato contrassegnato come bug, è più sicuro NON risolverlo: non introdurremo nuovi bug e il denaro viene comunque perso.
Perché mai usare una soluzione a somma zero?Almeno trova una soluzione di somma positiva (punti per il software che ha superato la convalida del client).Con quello come base puoi quindi pensare a come distribuire i benefici in modo positivo.
Ho deciso di accettare le risposte che ho visto e l'ho abbandonato come un'idea che userò in futuro.Il video di Erik mi ha convinto.
Riferimento Dilbert obbligatorio: http://dilbert.com/strip/1995-11-13
Questo scenario esatto è accaduto nella storia (non ricordo dove), ma più semplicemente dove gli sviluppatori sono stati pagati per ogni bug che hanno eliminato.Questo si è moltiplicato in sviluppatori che producono e risolvono una quantità enorme di "bug"
Invece di soldi che ne dici di usare qualcosa di sciocco e banale come i cupcakes?
Che dire della situazione in cui uno sviluppatore trova un bug e lo risolve ma va comunque in Jira o Bugzilla in modo che il QA sappia testarlo?Questa idea è troppo bianconera e troppo "noi contro loro".
I cupcakes funzioneranno anche?
Nella mia esperienza i cupcakes funzionerebbero molto meglio se l'idea funzionasse affatto.Questo perché promuove una gara amichevole in cui una parte può strofinarla sulla faccia dell'altra senza essere persone terribili.Avrebbe il potenziale per funzionare come un torneo amichevole piuttosto che, diciamo, i giochi della fame.Potenziale parola chiave.Se hai intenzione di dirigere, devi assolutamente imparare la differenza.
Anche i cupcakes @Jeff: hanno problemi, in particolare se il team di test trova molti bug.Diabete incipiente, blocchi arteriosi, ginocchia cattive (oh, come so delle ginocchia cattive!), Ecc. Blah.Non farlo!Mandami i cupcakes e ** io ** si prenderò cura di loro per te.È per il tuo bene ... :-)
[Classic Dilbert] (http://dilbert.com/strip/1995-11-13).Sì, è vero, mi scrivo un minivan!
@BobJarvis eh, non ci ho mai pensato in questo modo.Ti spedisco $ 100.000 di cupcakes adesso.In tutta serietà, però, sono stato in squadre che hanno fatto qualcosa di simile (in realtà sono stati i singoli membri del team ad acquistare le ciambelle dell'altra squadra se hanno fatto meglio di noi).Ha funzionato davvero bene fino a quando non abbiamo iniziato a fare la OD sullo zucchero ...
https://www.google.com/search?q=dilbert+write+me+a+minivan quando la tua idea proviene esattamente da un fumetto di Dilbert ...
Personalmente, se mi mettessi quel sistema, avrei avviato un gruppo di scommesse su chi avrebbe litigato nel parcheggio e quanto presto.Questo è solo il piano più stupido di cui abbia mai sentito parlare.
È una ricetta per il disastro.L'unica situazione in cui posso vederlo _forse_ funzionante è quella in cui le specifiche sono scritte al 100%, aggiornate al 100% ogni volta che viene decisa anche la più piccola modifica del design e utilizzabili al 100% per determinare con certezza in quale comportamento si trova il codicecontesti diversi.Se la situazione non è così (e di solito non lo è) ora guarderai a discussioni continue sul fatto che si tratti di un bug o meno.O per dirla in un altro modo, ora i tester hanno un interesse (finanziario!) Per gli sviluppatori che creano bug e gli sviluppatori hanno interesse per i tester che mancano di bug.
Bonus per la produzione di bug?SOTTOSCRIVI!!!
Il nuovo titolo "bonus per la produzione di bug" non ha davvero senso.
Lol.Non sono io che l'ho cambiato.
Undici risposte:
Erik
2016-12-11 15:47:10 UTC
view on stackexchange narkive permalink

Sembra un'idea terribile. Ecco alcune cose che accadranno, in aggiunta ai tuoi sviluppatori e tester che inizieranno a odiarsi a vicenda e te stesso per aver introdotto questo:

  • Tutti si concentreranno sulla frutta a portata di mano . Ciò significa che il QA inizierà a segnalare tutti i tipi di cose che in realtà vanno bene, ma potrebbero essere interpretate come "buggy" nella speranza di essere pagati, mentre gli sviluppatori concentreranno tutto il loro lavoro sull'assicurarsi che non ci siano bug evidenti e molto meno sulla creazione certo che non ci sono bug strutturali complessi.
  • Alcune persone si uniranno e uno sviluppatore introdurrà intenzionalmente un sacco di bug, quindi li invierà a un QA specifico per "trovarli", quindi dividerà i soldi.
  • Alcuni dei tuoi dipendenti saranno insultati perché pensi che apprezzino il loro lavoro solo se ottengono un bonus per questo. Probabilmente lavoreranno meno duramente e produrranno più spazzatura per questo motivo.
  • La comunicazione tra i membri del team si interromperà a causa dell'aumento dell'antagonismo. Ora è effettivamente un vantaggio per gli sviluppatori non aiutare il QA a svolgere meglio il proprio lavoro, perché qualsiasi bug che entra in produzione inosservato significa che vengono pagati di più
  • Gli sviluppatori non si piaceranno a vicenda, perché ogni bug introdotto da uno sviluppatore costerà tutti loro denaro.

Questo è appena fuori dalla mia testa. Non cercare mai di motivare programmatori e QA con i soldi, risulta solo terribile. Il loro lavoro si basa su una motivazione intrinseca.

Inoltre, dai un'occhiata a questo TED-talk animato sulla spinta e la motivazione, poiché spiega molto meglio perché qualsiasi configurazione che coinvolge la motivazione di persone intelligenti con i soldi fallirà terribilmente:

https://www.youtube.com/watch?v=u6XAPnuFjJc

+1 Penso che valga anche la pena affermare che sei in un mercato per sviluppatori e sei in competizione con altre aziende.Le esternalità negative di questa proposta porteranno a una situazione in cui i buoni sviluppatori se ne vanno e i limoni vengono lasciati.Il controllo qualità sarà soddisfatto poiché il cambiamento nella composizione della qualità degli ingegneri del software porterà a bonus più grandi per loro nell'ambito di questo schema.Questa è una delle idee più distruttive che abbia mai incontrato.
+1 È probabile che questo generi ostilità nel team che potrebbe persino andare oltre il team tecnico e il controllo qualità.Gli sviluppatori discuteranno su chi ha introdotto un bug e se si tratta di un bug in primo luogo o forse il risultato di specifiche scritte male, cattivo design ecc.
Ho guardato il video (la rete era difettosa, quindi ci è voluto un po ').Sono stato completamente venduto su di esso.Basti dire che ha ispirato un'altra domanda.
Cerchiamo di [continuare questa discussione in chat] (http://chat.stackexchange.com/rooms/49928/discussion-between-erik-and-djechlin).
L'argomento colluso è molto reale.Ho letto di un caso in cui gli sviluppatori hanno fornito ai tester alcune fantastiche scappatoie e avvertimenti, hanno diviso i bonus.Penso che lo schema sia stato scoperto perché sono diventati troppo grandi, troppo spesso, ovvero bug super nascosti hanno iniziato ad apparire e scoperti a ritmi sospetti.
"I QA inizieranno a riportare tutti i tipi di cose che in realtà vanno bene, ma potrebbero essere interpretati come" bug "" Lo staff di QA in cui lavoro lo fa comunque.La metà dei "bug" aperti dal QA sul mio progetto sono consigli di progettazione ("Metti uno spinner di caricamento in questa pagina"), correzioni grammaticali (che di solito sono sbagliate) e cose che funzionano come previsto ma non secondo le aspettative del QA.Alcune volte abbiamo quasi trascurato i bug che potrebbero finire nel mondo per questo motivo.Se venissero pagati dei bonus per questo, ci inonderebbero di falsi insetti della spazzatura.
@JoeStrazzere Manca un passaggio.Il team QA verrà anche privato delle persone che danno valore alla qualità piuttosto che alla ricompensa.I restanti membri del QA saranno contenti della situazione, dal momento che ottengono più frutti a pelo basso, il che significa più soldi per loro.
@Torisuda: Anche se è un peccato che gli addetti al QA si sbagliano sui problemi grammaticali, considererei sicuramente gli errori (ortografia, grammatica, qualunque cosa) nel testo dell'interfaccia utente come problemi di qualità che devono essere colti a un certo punto del processo di QA.
Ecco un aneddoto forse vero su questo tipo di situazione: http://thedailywtf.com/articles/The-Defect-Black-Market
@Torisuda, QA che interpreta il requisito in modo diverso dagli sviluppatori è un chiaro segno che il requisito è sbagliato.Significa sempre, tuttavia, che le persone che hanno presentato il requisito devono essere consultate su quale sia l'interpretazione corretta e quindi le azioni intraprese dipendono da quella risposta.Questo è un bug valido da sollevare e non dovrebbe mai essere eliminato anche questo è il modo corretto.Ho visto molti progetti salvati perché questa discrepanza nel significato è stata sollevata e il QA era effettivamente corretto sul significato del requisito.Sono sempre grato quando il QA solleva questo tipo di bug.
@HLGEM: è bello se il QA lo rileva, ma è molto meglio se c'è abbastanza comunicazione che gli sviluppatori lo realizzano prima di costruirlo :)
Sì, sono d'accordo che molti, se non la maggior parte, degli sviluppatori hanno bisogno di parlare di più con gli utenti / stakeholder / BA durante la progettazione e non fare questo tipo di interpretazioni errate, ma ho visto troppi prendere il requisito per valore nominale senza mai chiedere appropriato, anche ovvio, domande.Inoltre, parte del motivo del controllo di qualità è che qualcuno con una prospettiva diversa guardi come sono state fatte le cose.Questo è il motivo per cui avere gli sviluppatori che eseguono il proprio controllo qualità è una cattiva idea.Sono esattamente queste cose che lo sviluppatore non troverà mai perché sa quale sia il requisito secondo lui.
@HLGEM Esternalizziamo a una società di controllo qualità all'estero, quindi allo staff di controllo qualità manca molta conoscenza del dominio e contesto;per questo motivo la loro interpretazione è raramente corretta, anche se spiegargliela a volte mi aiuta a capire meglio il requisito.
@Torisuda quando hai fatto il tuo primo commento, questa è stata la prima cosa che mi sono chiesto.Dalle volte che l'ho visto provarlo, ho concluso che non vale la pena avere un QA all'estero.È davvero qualcosa che dovresti avere in casa.
Oppure potresti provare a fornire loro la conoscenza del dominio.Questo è ciò che abbiamo fatto con il nostro QA all'estero.Abbiamo speso i soldi per portare qui un paio di loro anziani per un paio di mesi ad imparare.Ciò ha pagato enormi dividendi.
Sì, almeno dovrebbero avere un'ottima conoscenza del dominio.E una buona conoscenza della lingua madre dell'app.Non puoi essere un buon QA senza di esso.
@Erik In base alla mia esperienza, concordo sul fatto che sarebbe molto meglio avere un QA interno.Sfortunatamente, questo era un sistema che esisteva molto prima che iniziassi e probabilmente lo sarà molto dopo che me ne sarò andato.Hanno una discreta conoscenza dell'inglese, ma ci sono differenze dialettali che causano un po 'di confusione e la loro conoscenza del dominio è decente ma presenta lacune che non sono facilmente risolvibili poiché sono all'estero.
@HLGEM Questa è una buona idea.Non credo che la nostra azienda abbia le risorse per farlo, ma è qualcosa che potrei provare a lanciare.Anche alcune chat video con persone chiave potrebbero aiutare.
Joe Strazzere
2016-12-11 18:45:30 UTC
view on stackexchange narkive permalink

Ho letto un'idea per aumentare la produttività in un'azienda. È andata così:

Avere un certo fondo, sarà un bonus. Diciamo $ 100.000. Per ogni bug tangibile trovato, i tester vengono pagati $ 5 - $ 15. Tutto ciò che resta alla fine del mese / anno va agli sviluppatori.

Sembra un'idea abbastanza meravigliosa in teoria, anche se non sono sicuro di come funzionerà bene nella pratica . L'ovvia conseguenza di ciò è che promuove l'antagonismo tra sviluppatori e tester. Il bug business diventa un gioco a somma zero.

L'antagonismo è una brutta cosa? In che modo influirà sulla produttività e, soprattutto, sull'organizzazione? L'esperienza personale sarà molto apprezzata.

(Mi rabbrividisco quando leggo schemi "motivazionali" come questo.)

Forse l'autore di questa idea definisce la "produttività" in modo diverso di quanto farei.

L'obiettivo della maggior parte delle aziende produttrici di software è fare soldi e forse massimizzare la quantità di denaro che guadagnano. L'obiettivo di un sistema di bug bounty è meno chiaro e certamente non ha nulla a che fare con la produttività. Si spenderebbe molto tempo cercando di ottenere denaro bonus e poco tempo sarebbe speso cercando di spedire il software (che è il modo in cui l'azienda guadagna).

Immagina che un'azienda abbia uno sviluppatore e un tester .

Se tu fossi lo sviluppatore, la tua strategia ottimale sarebbe quella di trattenere tutto il software dal tester fino a quando non ci fossero più bug rimasti o fino a quando non ci fosse tempo nella pianificazione per il tester di trovarne .

Ho lavorato per un'azienda che premiava gli sviluppatori con elogi, piuttosto che denaro, e questa era esattamente la strategia utilizzata da uno sviluppatore. Le build venivano rilasciate al QA ogni 2 settimane. E ogni altro venerdì, abbiamo avuto una riunione del team completo in cui è stato annunciato il conteggio dei bug nella build corrente. Se uno sviluppatore avesse mai avuto zero bug, sarebbe stato scelto e lodato per aver svolto un ottimo lavoro.

Uno sviluppatore ha deciso di giocare con il sistema. Avrebbe tenuto la build (sempre con scuse ragionevoli) fino a poco prima della riunione settimanale. Ha quindi rilasciato la build, il rapporto sul conteggio dei bug è stato eseguito e "magicamente" ha avuto un conteggio dei bug pari a zero giusto in tempo per la riunione.

Sebbene fosse una brava sviluppatrice, il suo codice non era nessuno meglio della maggior parte degli altri. La sua abilità consisteva nel manipolare il sistema a suo vantaggio.

Attualmente lavoro in un negozio che punisce gli sviluppatori per il numero di bug attribuiti al loro lavoro durante un progetto. Ci si aspetta che "migliorino" il numero dei bug rispetto all'anno precedente. Questo fa parte dei loro MBO e parte di ciò che va al pagamento del bonus annuale.

Non sorprende che abbiano impiegato molto tempo per produrre la prima build verificabile per il QA. E hanno chiesto al QA di dedicare molto tempo ai test nell'ambiente di sviluppo (dove non è possibile scrivere rapporti sui bug). Hanno avuto tutte le possibilità di produrre meno bug nel sistema di segnalazione, e quindi di massimizzare il loro bonus.

Il Product Manager ha persino deciso di cambiare molte segnalazioni di bug in "richieste di miglioramento" in modo da non influire MBO per sviluppatori. La sua argomentazione era "beh, gli sviluppatori non hanno sviluppato completamente quella funzione, quindi la miglioreranno quando avranno tempo".

Se venissi pagato "dal bug" potrei trovare un sacco di bug abbastanza facilmente, non importa quanto sia bravo lo sviluppatore. (Faccio questo lavoro da quasi 30 anni). Inizialmente mi concentravo sul frutto a bassa pendenza e saltavo tutto ciò che richiedeva tempo. Le mie segnalazioni di bug sarebbero minime e non molto utili, praticamente tutto ciò che è necessario per inserire la segnalazione di bug nel sistema e ottenere i soldi.

Il risultato sarebbe un sacco di segnalazioni di bug superficiali che erano "solo abbastanza tangibili" e il software sarebbe inevitabilmente lasciato con alcuni bug critici importanti. Non riesco a immaginare che il sistema venga mai spedito.

Gli sviluppatori concentrerebbero tutto il loro tempo e la loro attenzione sul nuovo codice. Non ci sarebbe assolutamente alcun vantaggio finanziario nella correzione di eventuali bug già trovati. E sarebbero incentivati ​​a produrre pubblicazioni minuscole e insignificanti. Se producono una versione contenente solo una singola riga di codice perfetto, ottengono un bonus di $ 100k! Perché aggiungere funzionalità complicate?

Entrambi i team discutono con veemenza su ogni segnalazione di bug e se si tratta veramente di un bug "tangibile" o meno. (Questo è un termine carino e sfocato. Mi piacerebbe sentire un team che cerca di definirlo concretamente). Questo tipo di argomenti non pone le basi per qualcosa che chiamerei produttività.

E né i tester né gli sviluppatori spenderebbero tempo su nient'altro. Nessuna riunione, nessuna documentazione, nessun supporto clienti, nessun aiuto agli altri, nessuna preparazione per la spedizione. Ehi, se fosse importante, ci sarebbe stato denaro contante, giusto?

E quest'ultima parte è significativa. Per i lavoratori della conoscenza, spesso attribuire bonus in denaro a compiti che ritengono intrinsecamente importanti è un grande disincentivo. Se desideri una maggiore comprensione dei tipi di disfunzioni che possono derivare da questi tipi di sistemi di incentivi, ti consiglio vivamente di leggere Misurazione e gestione delle prestazioni nelle organizzazioni di Robert D. Austin.

In breve, questa è un'idea terribile.

La maggior parte delle buone società di software riconoscono la follia di un tale piano e cercano di stare alla larga da questo tipo di sistema. La maggior parte delle aziende di software comprende che il rilascio di software senza bug non è un obiettivo realistico e che è più importante rilasciare il software in modo tempestivo.

"Richieste di miglioramento" è un buon punto qui: come sviluppatore, se deduci denaro dalla mia paga per ogni bug, è nel mio interesse combattere con le unghie e con i denti per le specifiche: * "la storia non ha mai detto la data di nascitacampo non potrebbe essere in futuro. Questo non è un bug, è una storia in più. "* Oltre a premiare gli sviluppatori per lavorare più lentamente e per essere meno utili al team di controllo qualità, li stai anche incentivando a ignorare il buon sensoe necessitano di tutto documentato dal Product Owner / Analista all'ennesima potenza.
https://blog.codinghorror.com/thats-not-a-bug-its-a-feature-request/
Aggiungendo a tutto questo, posso immaginare che ci sarebbe un palo sospeso fuori dall'ufficio degli sviluppatori per chiunque osi refactoring del vecchio codice, lasciando la base di codice in un disastro completo perché "Se non è bacato, non provare nemmeno atoccalo!"
"Uno sviluppatore ha deciso di ingannare il sistema."- Protestando tramite il "lavoro del golem" o semplicemente in lode?Ad ogni modo, penso che sia un genio e vorrei trovare un modo per incentivarla a stare dalla mia parte.
Anche se la configurazione descritta nell'OP è davvero piuttosto terribile, un vero e proprio bug bounty potrebbe andare bene.La creazione di una competizione contraddittoria tra lo sviluppo e il controllo qualità non è _non_ una vera e propria ricompensa per i bug, tuttavia.Un modo migliore per farlo è semplicemente assegnare ai tester del QA un bonus per ogni bug che trovano.E forse anche i tuoi sviluppatori per ogni bug segnalato che risolvono.
@aroth - Oggi pomeriggio mi scriverò un nuovo minivan!http://dilbert.com/strip/1995-11-13 (fai attenzione a ciò per cui paghi: non otterrai ciò che potresti aspettarti)
@WorkerDrone: abbastanza giusto.Anche se "fai attenzione a non assumere sviluppatori corrotti / non etici" sembra un'interpretazione altrettanto plausibile.
Penso che @aroth sia stato perfetto con le sue osservazioni.Anche se è probabile che l'OP non andasse bene con il suo setup, questo potrebbe essere inquadrato meglio.Anche i commenti di questo post potrebbero essere facilmente eliminati con un framework semplice (ad esempio solo i bug principali / critici ricevono ricompense, solo bug preesistenti e non rendendolo una competizione tra sviluppatori e tester).
candied_orange
2016-12-11 18:57:07 UTC
view on stackexchange narkive permalink

Questo ha tanto senso quanto avere l'equipaggio di una nave diviso in squadre, quelli che fanno propulsione e quelli che navigano, gareggiano in una gara, sulla stessa nave.

Mi rifiuto di avere una relazione antagonista con i miei tester. Li apprezzo. Mi rendono un programmatore migliore.

Rispetto anche la creatività che il loro lavoro richiede loro. Ecco perché penso che i soldi siano la motivazione sbagliata qui. Studi hanno dimostrato che, a meno che un lavoro non sia praticamente insensato, gli incentivi in ​​denaro in realtà, in modo misurabile, rallentano le persone.

Il lavoro creativo non è motivato al meglio dal denaro. Le sue migliori motivazioni sono:

autonomia - il desiderio di dirigere la nostra vita
padronanza - la voglia di migliorare, o sviluppare abilità
e scopo - la necessità di fare cosa facciamo per ragioni più importanti di noi

Esatto, le scelte, le opportunità di miglioramento e il lavoro di squadra funzionerebbero meglio del denaro.

Il controllo di qualità è un lavoro creativo. Il compito è proprio quello di pensare a ciò che gli sviluppatori non hanno pensato di. Questo è il motivo per cui il controllo qualità dovrebbe automatizzare. Una volta pensato un test, non dovrebbe essere "eseguito" ancora e ancora come uno spettacolo di Broadway. Dovrebbe essere automatizzato in modo che il QA possa smettere di pensarci e pensare al prossimo test. Il QA dovrebbe essere compilato con i tuoi sviluppatori più talentuosi. Perché stanno cercando di pensare all'altro tuo team di sviluppatori.

Alcuni non la pensano così. Alcuni pensano di QA come discarica per gli sviluppatori meno dotati. Se lo hai fatto, le tue priorità sono al contrario. Sfida i tuoi migliori sviluppatori a modernizzare i tuoi test e assicurati che le persone sappiano che il controllo qualità è dove dai il meglio.

Se quei soldi ti stanno ancora facendo un buco in tasca, usali per la formazione o, se necessario, licenziamento packages.

Qui non facciamo un lavoro insensato.

nvoigt
2016-12-11 17:43:59 UTC
view on stackexchange narkive permalink

Avere un certo fondo, sarà un bonus. Diciamo $ 100.000. Per ogni bug tangibile trovato, i tester vengono pagati $ 5 - $ 15. Tutto ciò che resta alla fine del mese / anno va agli sviluppatori.

È orribile. Per tutti i motivi nelle altre risposte e per il fatto che non supera questo semplice test:

  • E se tutti i tuoi dipendenti fossero fantastici e non venissero trovati bug?

    La produzione funziona perfettamente e tutto il denaro andrà al DEVS

  • E se tutti i tuoi dipendenti facessero schifo?

    La produzione è appena bruciata il terreno a causa dei bug, ma hey, chi se ne frega, i soldi andranno al DEVS.

Anche se i soldi fossero una motivazione in la nostra attività, sarebbe orribilmente sbagliato.

Prendi i soldi e assumi qualcuno che sia davvero bravo a scrivere specifiche e pianificare progetti con scadenze gestibili. Sia DEV che QA saranno molto più felici di quanto i soldi potrebbero mai far loro.

Buon punto per suggerire usi alternativi per un fondo di $ 100.000.Probabilmente ci sono alcuni altri usi di scelta di questi soldi per rendere più produttivo un team di sviluppatori e QA.Anche se penso che sarebbe fuori tema iniziare a fare brainstorming.
"La produzione è appena stata rasa al suolo a causa degli insetti, ma hey, chi se ne frega, i soldi andranno al DEVS."- in teoria questo è l'incentivo per il QA a fare meglio, perché verranno pagati per non lasciare che la produzione venga bruciata a terra.
Roger Rowland
2016-12-12 12:25:06 UTC
view on stackexchange narkive permalink

Può essere apocrifo, ma mi è stato fornito un esempio simile negli anni '80 quando coprivo la "Legge delle conseguenze indesiderate" come parte di un corso BPR.

L'esempio riguardava una linea di produzione in fabbrica il reparto di controllo qualità era incentivato dal numero di scarti che producevano. Il reparto di produzione è stato ugualmente incentivato in base al numero di scarti che producevano.

L'effetto netto è stato che il controllo di qualità ha rifiutato più prodotti rispetto al passato e la produzione ha impiegato più tempo per produrre articoli "perfetti", quindi la produzione complessiva è diminuita mentre i costi sono aumentati per effetto degli incentivi. La qualità non è stata influenzata.

Kilisi
2016-12-11 14:36:17 UTC
view on stackexchange narkive permalink

Funziona male. Non l'ho visto con sviluppatori e tester. Ma il dipartimento di giustizia in Nuova Zelanda a un certo punto ha premiato i guardiani della detenzione periodica per ogni detenuto che hanno violato. È passata da una violazione in una brutta settimana, ad alcuni detenuti che subiscono 6 violazioni in un giorno e finiscono in prigione per questo. Alla fine un guardiano si è fatto male.

Dubito che sarebbe andato così lontano poiché non è la stessa quantità e le persone meno volatili (penso), ma genera cattivo sangue tra i gruppi che sono già in disaccordo a causa ai loro ruoli.

Non ho idea di cosa significhi violare un detenuto.
Immagino che "infrangere un detenuto" significhi "registrare ufficialmente che un detenuto ha violato una regola"
@emory La mia comprensione è che si trattava di un articolo ufficiale e se un detenuto ne riceveva 3 nella pena, veniva arrestato, riportato in tribunale e condannato a una pena detentiva.
Peter
2016-12-12 04:55:27 UTC
view on stackexchange narkive permalink

Altre risposte hanno già sufficientemente affermato che la tua idea è cattiva TM. Quindi non lo ripeterò ulteriormente e menzionerò invece cosa dovresti cambiare per migliorare l'idea.

Stai cercando di allegare denaro a quello che alla fine è il numero su un foglio. Quel numero non creerà denaro. A peggiorare le cose, il numero che vuoi usare è per lo più casuale: un prodotto che non ha mai avuto bug all'improvviso ne ha 50, tutti errori di battitura nella documentazione. Un bug che altera il colore di evidenziazione di 200 elementi diventa 200 bug. Non appena chiedi ad alcune persone di aumentare magicamente il numero, quel numero è un numero immaginario completamente inutile. E per di più sprecherai decine di migliaia di dollari di stipendio con riunioni assolutamente inutili in cui le persone discutono cosa è e cosa non è un bug.

Se desideri allegare bonus o altri premi ai numeri su carta, questi numeri devono essere collegati direttamente al denaro effettivo guadagnato dalla società: un esempio comune è il bonus collegato al profitto in una società commerciale.

user8036
2016-12-12 15:56:48 UTC
view on stackexchange narkive permalink

Come suggerito nei commenti "cupcake" sotto la tua domanda, alcune forme di ludicizzazione possono funzionare. Che ne dici di assegnare un trofeo per il "Miglior insetto" trovato durante un certo periodo, assegnato dai voti di entrambe le squadre insieme ?

In un ambiente di sviluppo sano c'è un "timore reverenziale" condiviso 'tra tester e sviluppatori su persone (di solito i tester) che trovano quei fastidiosi bug che possono essere riprodotti solo in determinate condizioni, su quel bug intermittente che ti ha tormentato per mesi, su qualcosa di molto semplice che uno sviluppatore ha trascurato, ecc. *

Il trofeo dovrebbe essere qualcosa di molto semplice, perché non riguarda il suo valore intrinseco: un piccolo segno, un cupcake, una tavoletta di cioccolato.

* L'ultimo esempio non riguarda la ricerca di un bug, ma la causa di un bug. In quel caso il premio significa scherzo amichevole. Hai bisogno di una cultura in cui i tuoi colleghi riconoscano che tutti commettono errori.

DDT
2016-12-12 15:25:55 UTC
view on stackexchange narkive permalink

Penso che il risultato sarebbe dannoso. È sia contro le pratiche di buon senso sia di sviluppo che di test.
Zero bug trovati non significa che il software sia buono. Potrebbe essere troppo complesso da testare o QA potrebbe saltare alcuni test.Anche zero bug trovati, processo di test completo e la grande qualità del codice non significa che il prodotto sia buono. Se i requisiti fossero incasinati, il software può essere terribile per il client.

Giocare contro quel sistema potrebbe essere estremamente facile.
Per sviluppatori: build recenti. Per tester: concentrazione su bug banali.
Con le build più recenti, il test iniziale è impossibile. Poco tempo per i test e la gratificazione per il numero di bug? I tester si concentrano su bug banali, come etichette con errori di ortografia o alcuni casi non critici.
Se vuoi sapere se il prodotto è buono, chiedi al tuo cliente.

Crowley
2016-12-12 19:48:29 UTC
view on stackexchange narkive permalink

Per farla breve. Sviluppatori e tester stanno lavorando sulla stessa barca: la tua azienda.

È facile criticare lo sviluppatore per un bug che producono, ma è difficile premiarlo per bug che non hanno prodotto.

Se il bug è arrivato alla build finale e il cliente lo ha segnalato, chi era la colpa? Sviluppatore per aver scritto il bug o tester per non averlo rilevato?

Questo causa la tensione tra sviluppatori e tester per impostazione predefinita. La tua idea mette una tensione aggiuntiva tra i due. Davvero non lo vuoi.

Se hai uno spazio di lavoro amichevole e vuoi ricompensare la cattura di bug dividere il budget a tutti in modo equo, fai un elenco di sviluppatori e per ogni bug lo sviluppatore pagherà $ 1 banca. Organizza la festa di Natale e usa la banca per premiare tutta la squadra. Assicurati che sia più divertente della ricompensa / punizione e che nessuno lo prenda (troppo) sul serio. Premia sia il "peggiore" che il "migliore" tra sviluppatori e tester.

Dom
2016-12-11 14:39:39 UTC
view on stackexchange narkive permalink

Onestamente, l'incentivo nel migliore dei casi sembra inutile e nel peggiore dei casi dannoso. Se hai un team addetto al controllo qualità, hai già messo da parte dei fondi per trovare i bug in quanto ciò costituirà una parte importante della descrizione del loro lavoro. Non ci sarà molto antagonismo aggiunto tra i due poiché ci sarà di più verso la politica stessa. Se sei davvero preoccupato per il problema così tanto da buttare soldi ai tuoi attuali dipendenti con vincoli allegate, sarebbe meglio assumere qualcuno dove ne hai bisogno in QA o sviluppo.

Dove questo potrebbe davvero andare sbagliato è dal lato degli sviluppatori è che vedrai un calo dei rilasci per paura che vengano pagati meno a causa di nuovi bug e dal lato del controllo qualità potresti vedere fasi di revisione molto più lunghe a causa dei tester che vogliono una paga extra. Non sto dicendo che accadrà , ma solo che è una possibilità.

Nessuno vuole bug nel loro prodotto finale, ma succederà. In qualità di manager ci sono modi molto migliori per assicurarsi che esistano meno bug nel codice, ad esempio avere obiettivi e orari realistici e consentire la facilitazione per uno sviluppo migliore come le revisioni del codice.

Ma non vengono pagati di meno.Non sto deducendo il loro stipendio concordato.Sto dando loro un bonus in base al numero di bug assenti nel loro codice.Se periodi di revisione più lunghi significano una qualità leggermente migliore, perché no.Tuttavia, dovrebbe esserci un periodo di tempo imposto dalla politica per la revisione.
@TobiAlafin: Vengono pagati meno di quanto farebbero se non venissero trovati bug.È nella natura umana pensare a questo come a una perdita.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...