Gli obiettivi SMART sono utili per i programmatori? [chiuso]


57

Diverse organizzazioni che conosco usano obiettivi SMART per i loro programmatori. SMART è l'acronimo di Specific, Measurable, Realable, Relevant e Time-Bound. Sono abbastanza comuni nelle grandi società.

La mia precedente esperienza con gli obiettivi SMART non è stata poi così positiva. Altri programmatori hanno trovato loro un modo efficace per misurare le prestazioni? Quali sono alcuni esempi di buoni obiettivi SMART per i programmatori (se esistono).


Anche se mi piacerebbe credere che la risposta sia sì, non ho ancora sperimentato i grandi livelli che questo mi dovrebbe dare quando si tratta dei miei poteri. ;)
JB King il

17
"Specifico misurabile raggiungibile pertinente e vincolato nel tempo": nulla con quel nome noioso può essere di alcuna utilità.

Richiederebbe un rigoroso processo a cascata. Nel frattempo è considerato obsoleto e vengono utilizzate varie versioni di Agile per più di un decennio.
vartec,


1
Sottolineerei che non sono utili per praticamente qualsiasi professione. Misurare ciò che è facile o possibile misurare numericamente porta a misurare la cosa sbagliata in generale.
HLGEM,

Risposte:


52

In una parola

No

Primo: i miei progetti non sono mai stati abbastanza stabili da poter stabilire gli obiettivi SMART con qualsiasi significato. Il tempo che intercorre tra il momento in cui i miei ruoli cambiano in un progetto e il momento in cui le recensioni di perf vengono eseguite è troppo lontano dalla sincronizzazione.

Secondo: misurare le prestazioni individuali è un ottimo modo per creare una mentalità "non il mio lavoro" e una competizione negativa tra gli individui e / o le varie sotto-squadre di un'organizzazione. È molto facile giocare al sistema e assicurarti di stare attento a te stesso e di non aiutare davvero l'intero team. Dovremmo incoraggiare le persone ad essere giocatori di squadra, ma le nostre organizzazioni fanno esattamente il contrario.

La maggior parte di questi tipi di sistemi è antitetica al team building. Mary Poppendieck ha svolto un lavoro di gran lunga migliore di quanto io possa mai fare in LeanEssays: Compensazione del team .

Sue ha ricevuto una chiamata da Janice in risorse umane. "Sue", ha detto, "Ottimo lavoro fatto la tua squadra! E grazie per aver compilato tutti quei moduli di input per la valutazione. Ma davvero, non puoi dare a tutti il ​​massimo dei voti. Il tuo voto medio dovrebbe essere "soddisfa le aspettative". Puoi avere solo una o due persone che "hanno superato di gran lunga le aspettative" ... "

... Uno dei più grandi leader di pensiero del 20 ° secolo, W Edwards Deming, ha scritto che il danno non misurabile viene creato classificando le persone, i sistemi di merito e gli incentivi. Deming riteneva che ogni azienda fosse un sistema e che le prestazioni degli individui fossero in gran parte il risultato del modo in cui il sistema opera. A suo avviso, il sistema causa l'80% dei problemi in un'azienda e il sistema è responsabilità del management. Ha scritto che usare esortazioni e incentivi per convincere le persone a risolvere i problemi di gestione semplicemente non funziona. Deming si è opposto alla classifica perché distrugge l'orgoglio nella lavorazione e il merito aumenta perché affrontano i sintomi, piuttosto che le cause, dei problemi.

... diamo uno sguardo più approfondito alla valutazione dei dipendenti e ai sistemi di ricompensa, ed esploriamo cosa li rende disfunzionali ...


Bel pezzo, ma non correlato a SMART ...
gbn

Lo vedo simile a gbn: non correlato a SMART. Il team di sviluppo otterrà comunque gli obiettivi dalla direzione (o direttamente dal cliente), se seguono o meno i criteri SMART.
Mnementh

3
La mia ragione per citarla è che gli obiettivi SMART sono generalmente fatti allo scopo di misurare le prestazioni individuali con un occhio verso l'impostazione di bonus ecc. Individualmente. Un altro articolo che balla nello stesso spazio di come la maggior parte dei corps gestisce la revisione delle prestazioni ... joelonsoftware.com/articles/fog0000000070.html
MIA

3
Questo non è lo scopo di SMART. SMART dovrebbe aiutarti (o dirigere) a raggiungere obiettivi migliori. Avrai obiettivi in ​​qualsiasi progetto, se sono SMART o no. Vedi en.wikipedia.org/wiki/SMART_criteria
Mnementh

4
@Mnementh - Scopo vs implementazione sono due cose diverse. SMART è di solito un odore che indica che un'organizzazione premierà le prestazioni individuali rispetto al contributo del team. Sono sicuro che ci sono organizzazioni che hanno ragione, ma devo ancora incontrarne una personalmente.
MIA

14

Abbiamo utilizzato gli obiettivi SMART nella grande azienda in cui lavoro. Sono insignificanti per la maggior parte.

Gli obiettivi scendono dall'alta direzione e sono alti e astratti. Metterli in relazione con progetti e sviluppi concreti è di solito uno scherzo. La maggior parte dei progetti che entrano nel gruppo provengono dal business e devono soddisfare un'esigenza aziendale specifica. Quindi codifichi il progetto, lo metti in produzione e fai un lavoro fantastico come al solito. In che modo ciò si collega a un obiettivo raggiunto da un dirigente?

Facciamo molto meglio come gruppo quando realizziamo i nostri obiettivi. A volte includono la formazione su un argomento specifico o l'implementazione di un nuovo cambiamento di processo, qualcosa che può effettivamente essere correlato a ciò che facciamo. Non sono ancora realmente collegati all'operazione quotidiana di codifica poiché sono almeno cose che aiutano a spostare il gruppo avanti nell'ambiente aziendale.

MODIFICARE

Come ha sottolineato correttamente Mnementh, la mia risposta si basa sugli obiettivi SMART che non sono, beh, SMART. Aggiungerei alla mia risposta che se sei un manager di programmatori e desideri implementare obiettivi SMART, assicurati che siano SMART. Usa l'esempio dei miei mangiatori come un modo per NON implementare obiettivi SMART. Se non gestisci i programmatori e qualcuno ti dice che ora inizierai a utilizzare gli obiettivi SMART e finiranno come hanno fatto i nostri, allora capisci che hai persone in alta dirigenza a cui piacciono le parole d'ordine e che sono in grado di controllare da un elenco di cose che hanno implementato.


4
Se gli obiettivi sono alti e astratti, non sono SMART. S = specifico. Quindi la tua esperienza non riguarda gli obiettivi SMART, è uno degli obiettivi che non corrispondono ai criteri intelligenti.
Mnementh

1
@Mnementh - È vero. Forse ti piacerebbe educare il nostro senior management ??
Walter,

3
Se educi il mio capo. Aveva anche avuto una corte di project management con noi, è stato spiegato SMART. Ma nulla è cambiato, i suoi obiettivi sono più nuvolosi che mai.
Mnementh

OK, quindi il problema chiave sembra essere che l'acronimo SMART tende ad essere utilizzato da persone che si rendono conto dei loro obiettivi ma non si sono rese conto che SMART non è un ingrediente che puoi aggiungere a "obiettivi" non SMART che hai già scelto, invece è un ammonimento scegliere diversi tipi di obiettivi.
reinierpost,

10

Ci sono molte ricerche per dimostrare che i programmatori faranno un lavoro eccellente a qualunque criterio venga loro presentato, a costo di altri possibili obiettivi.

Ciò significa che faranno bene a raggiungere obiettivi specifici e misurabili, e meno bene a tutto ciò che non è specificamente elencato. Ciò significa che devi essere estremamente attento nel fissare gli obiettivi.

Non vuoi impostare linee di codice come obiettivo. Fidati di me. L'impostazione di bug corretti porta all'inizio alla scrittura del codice errato. Chiedere correzioni di bug nel codice esistente si tradurrà in definizioni molto liberali di "bug" (e forse "correzione"). (Inoltre, la parte "realizzabile" dipende da quanto era errato il codice.) Chiedere completezza delle funzionalità in un determinato momento, beh ....

Quello che vuoi che facciano i tuoi programmatori è scrivere cose utili in un periodo di tempo ragionevole con una buona qualità del codice e migliorarle e modificarle mantenendo la qualità del codice. Non ho mai visto obiettivi specifici e misurabili che sarebbero buoni criteri me stesso.


3
Potresti collegarti ad alcune di quelle ricerche?
Nicolas Bouliane

9

Facciamo questo esercizio ogni anno. Il problema è che gli sviluppatori qui tendono ad avere pochissima autonomia su ciò che fanno (attività determinate dal product manager). Siamo fortunati che, almeno sulla carta, abbiamo tempo dedicato a perseguire i nostri obiettivi. Realisticamente, tuttavia, otteniamo molto meno.

In quel quadro, ho scoperto che l'impostazione degli obiettivi di auto-sviluppo funziona davvero bene. Ad esempio, due dei miei obiettivi dell'anno scorso erano:

  1. Leggere modelli di design e scrivere progetti di giocattoli per imparare e dimostrare ogni modello entro il prossimo anno. Ciò ha richiesto 2 anni, ma il miglioramento della mia codifica è stato evidente.
  2. Studiare le funzionalità del linguaggio .NET 3.5 e fare una presentazione ai miei colleghi ogni trimestre. Questo ha finito per essere 1 presentazione su LINQ che i miei collaboratori hanno apprezzato in vari gradi tra apatico e leggermente interessato. Tuttavia, ho imparato molto e, dopo aver dimostrato le mie conoscenze in C #, mi sono trasferito a lavorare su un nuovo progetto piuttosto interessante.

Quindi sì, ne ho tratto beneficio e mi sono divertito mentre lo facevo.

Onestamente, nella nostra azienda, penso che la mancanza di buoni obiettivi SMART per gli sviluppatori abbia più a che fare con l'avversione istintiva al parlare in azienda.


8

Sì, se impostato correttamente.

Se impostato correttamente, gli obiettivi possono migliorare sia il team che le singole persone. Dovrebbero essere allineati anche al lavoro e progettati per l'individuo.

Sono stato in posti in cui un intero team DBA ha gli stessi obiettivi insipidi, così come i passaggi di alto livello, come "conformi ai KPI globali e regionali determinati dal comitato KPI". Che nessuno sa ovviamente ..

Poi di nuovo, sono stato in posti in cui il manager stabilisce obiettivi individuali con una riflessione iniziale.

Modificare:

Ho letto l'articolo di Mary Poppendieck e non si tratta di SMART. "La percezione dell'impossibilità" fallisce, ad esempio, "realizzabile".

Gli obiettivi dovrebbero essere fissati per l'individuo, per condividere i propri punti di forza, aiutare a correggere i punti deboli, contribuire alla squadra. La misurazione è per l'individuo.

Non ci dovrebbero essere confronti tra x vs y.

Gli obiettivi per xey dovrebbero essere commisurati al loro grado o posizione all'interno di un sistema: non si pongono gli stessi obiettivi per anziani e junior. È ingiusto.

È necessario un benchmark per impostare bonus o payrise da un piatto limitato: dovremmo invece contare le righe di codice? Revisioni dei pari?

E mostrami delle valide alternative che non mi richiedono di cambiare la mia filosofia aziendale globale. Non ho alcuna critica SMART: I fare sono le critiche dei dirigenti poveri piscio ...


5

Come framework di prestazioni, SMART è efficace solo quanto i tuoi obiettivi sono allineati a quelli dei tuoi manager. A volte i tuoi obiettivi SMART devono prima cadere DUMB, ad es. farli:

  • realizzabile
  • Comprensibile
  • trattabile
  • benefico

Per quanto strano possa sembrare.


4

La definizione di obiettivi di tipo SMART può essere utile in un contesto di programmazione, ma deve essere eseguita in modo intelligente o, come sottolineato in altre risposte, è probabile che sia una perdita di tempo (o peggio).

Per ottenere obiettivi utili, aiuta a concordare cosa significherà l'acronimo SMART: una rapida ricerca su Google ha trovato definizioni diverse :

  • S: sembra avere consenso su Specifico (anche se c'è qualche disaccordo su cosa significhi)
  • M: Significativo e motivazionale sono alternative al più comune misurabile
  • A: sembra più spesso rappresentare Raggiungibile, ma ho anche visto Concordato
  • R: a seconda di dove guardi, puoi trovare realistico, pertinente, incentrato sui risultati
  • T sembra sempre fare riferimento al Tempo, sebbene l'enfasi vari

Quindi, in primo luogo, entrambe le parti della negoziazione per la fissazione degli obiettivi dovrebbero funzionare da una comprensione comune del processo.

Successivamente, devono essere spiegati e compresi gli obiettivi generali per l'organizzazione, la divisione, il gruppo, il team (o qualunque gerarchia rilevante). A quel punto dovrebbe essere possibile per l'individuo (IMO, gli obiettivi devono essere fissati a livello individuale per essere utili) per essere in grado di concordare un numero limitato di obiettivi che dovrebbero informare le attività di quella persona in futuro.

Se finisce lì, è stato comunque uno spreco di tempo per tutti. Gli obiettivi devono essere rivisti e adeguati periodicamente - laddove conseguiti, dovrebbe essere presa in considerazione l'eventuale necessità di fissare nuovi obiettivi, laddove non raggiunti, le ragioni dovrebbero essere identificate e le azioni correttive prescritte ove necessario.

Tutti gli interessati dovrebbero essere consapevoli del fatto che questo tipo di esercizio non è utile se non viene preso sul serio, o forse più algoritmicamente, il valore da estrarre è proporzionale allo sforzo compiuto.

Potrebbe essere istruttivo vedere ciò che la gente pensa possa essere utile / utile obiettivi SMART. Ho fatto una domanda qui ...


4

Il problema con gli obiettivi SMART è che devono scegliere ciò che è misurabile. Poiché ciò che è misurabile e ciò che è importante per il successo dell'organizzazione spesso non sono la stessa cosa (e praticamente non lo sono mai nella programmazione), gli obiettivi SMART non riescono sempre a valutare le prestazioni nella mia esperienza. E a volte le cose sembrano misurabili ma non sono troppo impegnative (come l'obiettivo SMART, ho avuto una volta per rispondere a tutte le e-mail entro 4 ore. Davvero chi vuole provare a passare attraverso le migliaia di e-mail che ricevo un anno, determinare se era informativo o necessitava di una risposta e poi guarda le mie e-mail inviate per vedere se ho risposto e quindi ascolta le registrazioni di tutte le telefonate per vedere se ho risposto, controlla il mio registro IM per vedere se ho risposto, ecc. E che dire dell'email che mi è stata inviata sabato sera a mezzanotte ...)


3

Per tutte le persone che hanno risposto NO, i tuoi obiettivi probabilmente NON erano abbastanza SMART.

Li ho usati e li trovo incredibilmente utili. Potresti provare qualcosa che funziona per noi:

  1. Imposta obiettivi trimestrali.
  2. Stabilisci obiettivi misurabili.
  3. Imposta un solo obiettivo per l'individuo
  4. Fai in modo che l'individuo accetti l'obiettivo, se dice che l'obiettivo è riaggiustato fino al momento in cui entrambi sarete d'accordo.
  5. Alla fine del trimestre, vieni con un valore booleano. Obiettivo raggiunto = vero o falso.

Questo è estremamente potente, crea responsabilità per lo sviluppatore. Le persone che vogliono trovare scuse di pollo dopo circa 6 mesi.

PS: Riesco a capire le persone che votano la risposta ma per favore inserisci un commento pertinente almeno imparerò qualcosa che non so :-)


Vi esorto caldamente a leggere il pezzo di Mary Poppendieck collegato alla risposta di @Jim Leonardo.
Gary Rowe,

@Gary: ho letto l'articolo, non sono d'accordo con il 100% delle cose, anche se c'è qualcosa da imparare da esso. Alcune cose nei sistemi sono già migliorate, ad esempio. il sistema di classificazione, sebbene esista ancora, non è nell'ordine di 1-10 ma si occupa anche dell'influenza menzionata più avanti nell'articolo. Ancora una volta, tutte le organizzazioni hanno la forma di una piramide, per quanto piatta, le promozioni non possono essere l'unico modo per premiare le persone.
Geek,

1
Geek, puoi darmi un esempio di un obiettivo che hai trovato utile?
Craig Schwarze,

1
@Craigs: compagno di obiettivi semplici, come consegnare componenti XYZ con una qualità dell'80% in 3 mesi o fornire un service pack con 100 correzioni di errori in 3 mesi. La chiave qui è SOLO UN OBIETTIVO, non mescolare le cose. Una volta che hai un solo obiettivo, sai su cosa concentrarti e il risultato è un valore booleano (vero o falso). Anche Supera / Soddisfa / Parzialmente incontrato può essere definito molto facilmente, ad esempio 110 correzioni di problemi = supera, 100 = raggiunto, 90 = parzialmente raggiunto.
Geek,

1
@Justin: probabilmente mi sto perdendo il punto che stai cercando di chiarire. Le mie risposte: la correzione di 100 bug è solo una stima e il Manager (qualcuno che capisce il prodotto e gli aspetti tecnici dei bug) deve prendere una chiamata. Ad esempio, correggi 100 bug che richiedono 10 ore ciascuno o 500 bug che sono errori di battitura sugli schermi. La chiave qui è che all'inizio del trimestre sai quali errori vuoi correggere e quanto tempo ci vuole per risolverli. Inoltre ci sarà una variazione del 5-10% su alcuni problemi. Potresti anche voler rivedere il tuo obiettivo a metà trimestre.
Geek,

3

SMART è l'acronimo di ricordare alcuni criteri per obiettivi migliori. Quindi, introducendo SMART, la tua direzione deve migliorare seguendo questo principio. Senza la gestione SMART si fisserebbero comunque degli obiettivi, ma sarebbero molto probabilmente troppo difficili.

Quindi, per i programmatori non dovrebbero esserci cambiamenti, la gestione deve cambiare il suo stile per implementare SMART. E se fanno bene, il tuo lavoro come programmatore può diventare più facile, perché la direzione del progetto è più chiara, i tempi sono impostati e così via.

Se la direzione non lo fa nel modo giusto, non molto cambierà.

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.