Plusieurs organisations que je connais utilisent des objectifs SMART pour leurs programmeurs. SMART est un acronyme pour spécifique, mesurable, réalisable, pertinent et limité dans le temps. Ils sont assez communs dans les grandes entreprises.
Ma propre expérience des objectifs SMART n’a pas été aussi positive. D'autres programmeurs ont-ils trouvé un moyen efficace de mesurer les performances? Quels sont quelques exemples de bons objectifs SMART pour les programmeurs (s’ils existent).
management
metrics
Craig Schwarze
la source
la source
Réponses:
En un mot
Non
Premièrement: mes projets ne sont jamais restés suffisamment stables pour que je puisse établir les objectifs SMART sans aucune signification. Le temps qui s'écoule entre le moment où mes rôles changent dans un projet et celui où les évaluations de performances sont effectuées est tout simplement trop désynchronisé.
Deuxièmement: Mesurer la performance individuelle est un excellent moyen de créer une mentalité "pas mon travail" et une concurrence négative entre les individus et / ou les différentes sous-équipes d’une organisation. Il est très facile de jouer avec le système et de veiller à ce que vous ne preniez pas soin de toute l'équipe. Nous devrions encourager les gens à jouer en équipe, mais nos organisations font alors exactement le contraire.
La plupart de ces types de systèmes sont antithétiques à la constitution d’équipes. Mary Poppendieck a fait un travail bien meilleur pour articuler ceci que je ne pourrais jamais le faire dans LeanEssays: Team Compensation .
la source
Nous avons utilisé les objectifs SMART dans la grande entreprise où je travaille. Ils n'ont pas de sens pour la plupart.
Les objectifs proviennent de la haute direction et sont nobles et abstraits. Les relier à des projets concrets et à leur développement est généralement une blague. La plupart des projets qui entrent dans le groupe proviennent de l'entreprise et doivent répondre à un besoin commercial spécifique. Donc, vous codez le projet, mettez-le en production et faites un travail génial, comme d'habitude. Comment cela se rapporte-t-il à un objectif que quelqu'un de la haute direction a défini?
Nous faisons beaucoup mieux en tant que groupe lorsque nous définissons nos propres objectifs. Parfois, ils comprennent une formation sur un sujet spécifique ou la mise en œuvre d'un nouveau changement de processus, ce qui peut en réalité être lié à ce que nous faisons. Ils ne sont toujours pas vraiment liés au fonctionnement quotidien du codage, car ils permettent au moins d’aider le groupe à progresser dans l’environnement de l’entreprise.
MODIFIER
Comme Mnementh l'a si bien souligné, ma réponse repose sur le fait que les objectifs SMART ne sont pas, eh bien, SMART. J'ajouterais à ma réponse que si vous êtes un gestionnaire de programmeurs et souhaitez implémenter des objectifs SMART, assurez-vous qu'il s'agit bien de SMART. Utilisez l'exemple de mes gestionnaires comme un moyen de NE PAS mettre en œuvre les objectifs SMART. Si vous ne gérez pas les programmeurs et que quelqu'un vous dit que vous allez commencer à utiliser les objectifs SMART et qu'ils se retrouvent comme les nôtres, comprenez que des membres de la haute direction aiment les mots à la mode et sont en mesure de vérifier les hors d'une liste de choses qu'ils ont mises en œuvre.
la source
De nombreuses recherches montrent que les programmeurs feront un excellent travail quels que soient les critères qui leur sont présentés, au détriment d'autres objectifs possibles.
Cela signifie qu'ils réussiront à atteindre des objectifs spécifiques et mesurables et moins bien à tout ce qui n'est pas spécifiquement mentionné. Cela signifie que vous devez être extrêmement prudent en fixant des objectifs.
Vous ne voulez pas définir des lignes de code comme objectif. Croyez-moi. Si vous corrigez des bogues, vous commencerez par écrire du code. Demander des corrections de bogues dans le code existant aboutira à des définitions très libérales de "bogue" (et peut-être de "réparation"). (En outre, la partie "réalisable" dépend de la manière dont le code était bogué.) Demander l'exhaustivité des fonctionnalités dans un temps donné, eh bien ...
Ce que vous voulez que vos programmeurs fassent, c'est écrire des choses utiles dans un délai raisonnable avec une bonne qualité de code, puis les améliorer et les modifier tout en maintenant la qualité du code. Je n'ai jamais vu d'objectifs précis et mesurables qui seraient de bons critères moi-même.
la source
Nous effectuons cet exercice chaque année. Le problème est que les développeurs ont généralement très peu d’autonomie sur ce qu’ils font (tâches déterminées par le chef de produit). Nous avons la chance que, du moins sur papier, nous disposions de temps pour poursuivre nos objectifs. En réalité, nous obtenons beaucoup moins que cela, cependant.
Dans ce cadre, j'ai constaté que la définition d'objectifs de développement personnel fonctionne vraiment bien. Par exemple, deux de mes objectifs de l'année dernière étaient:
Donc, oui, j'ai profité et je me suis amusé en le faisant.
Honnêtement, dans notre société, je pense que l’absence de bons objectifs SMART pour les développeurs a plus à voir avec l’aversion du réflexe envers les entreprises.
la source
Oui, si défini correctement.
S'ils sont correctement définis, les objectifs peuvent améliorer à la fois l'équipe et les individus. Ils devraient également être alignés sur le travail et conçus pour l'individu.
Je suis allé dans des endroits où toute une équipe de DBA a les mêmes objectifs fades, ainsi que des responsabilités de haut niveau telles que "se conformer aux indicateurs de performance clés mondiaux et régionaux déterminés par le comité des indicateurs de performance clés". Ce que personne ne sait bien sûr ..
Là encore, je suis allé dans des endroits où le responsable définit des objectifs individuels avec réflexion.
Modifier:
J'ai lu l'article de Mary Poppendieck et ce n'est pas à propos de SMART. "La perception de l'impossibilité" échoue "Atteignable" par exemple.
Des objectifs doivent être définis pour l’individu, pour partager ses forces, aider à rectifier les faiblesses, contribuer à l’équipe. La mesure est pour l'individu.
Il ne devrait y avoir aucune comparaison de x vs y.
Les objectifs pour x et y doivent cependant correspondre à leur rang ou à leur position dans un système: on ne définit pas les mêmes objectifs pour les seniors et les juniors. C'est injuste.
Un repère est nécessaire pour définir les bonus ou les gains d'un pot limité: devrions-nous plutôt compter les lignes de code? Évaluations par les pairs?
Et montrez-moi des alternatives valables qui ne me demanderont pas de changer mon éthique d'entreprise globale. Je ne critique de SMART: Je n'ont des critiques des gestionnaires pauvres pisse ...
la source
En tant que cadre de performance, SMART n’est aussi efficace que la concordance de vos objectifs avec ceux de vos gestionnaires. Parfois, vos objectifs SMART doivent d'abord être dupliqués, par exemple. fais les:
Aussi étrange que cela puisse paraître.
la source
La définition d'objectifs de type SMART peut être utile dans un contexte de programmation, mais elle doit être faite de manière intelligente ou, comme indiqué dans d'autres réponses, elle risque de vous faire perdre du temps (ou pire).
Pour obtenir des objectifs utiles, il aide à accepter ce que l'acronyme SMART signifie: une recherche rapide sur Google trouve diverses définitions :
Donc, premièrement, les deux côtés de la négociation pour la fixation d'objectifs devraient travailler à partir d'une compréhension commune du processus.
Ensuite, les objectifs généraux de l’organisation, de la division, du groupe, de l’équipe (ou de toute hiérarchie pertinente) doivent être expliqués et compris. À ce stade, l'individu devrait pouvoir (les objectifs doivent être définis au niveau individuel pour être valables) afin de pouvoir se mettre d'accord sur un petit nombre d'objectifs devant guider les activités de cette personne.
Si cela se termine là, c'est toujours une perte de temps pour tout le monde. Les objectifs doivent être réexaminés et ajustés régulièrement - le cas échéant, la nécessité éventuelle de fixer de nouveaux objectifs doit être envisagée, sinon, les raisons doivent être identifiées et des mesures correctives prescrites, le cas échéant.
Toutes les personnes concernées doivent savoir que ce type d'exercice ne vaut pas la peine d'être pris au sérieux, ou peut-être de manière plus algorithmique, la valeur à extraire est proportionnelle à l'effort fourni.
Il pourrait être instructif de voir ce que les gens pensent pourrait être des objectifs SMART utiles / utiles. J'ai posé une question ici ...
la source
Le problème avec les objectifs SMART est qu’ils doivent choisir ce qui est mesurable. Étant donné que ce qui est mesurable et ce qui est important pour le succès d'une organisation ne sont souvent pas la même chose (et ne le sont pratiquement jamais dans la programmation), les objectifs SMART échouent toujours dans l'évaluation du rendement selon mon expérience. Et parfois, les choses semblent mesurables mais ne demandent pas beaucoup d’efforts (comme dans l’objectif SMART, j’avais une fois pour répondre à tous les e-mails en moins de 4 heures. Vraiment, qui veut essayer de passer en revue les milliers de courriels que je reçois chaque année, était informatif ou avait besoin d'une réponse, puis regardez mes courriels envoyés pour voir si j'y ai répondu, écoutez ensuite l'enregistrement de tous les appels téléphoniques pour voir si j'y ai répondu, consultez mon journal de messagerie instantanée pour voir si je réponds, etc. Qu'en est-il de cet email qui m'a été envoyé samedi soir à minuit ...)
la source
Pour toutes les personnes qui ont répondu NON, vos objectifs n'étaient probablement pas assez intelligents.
Je les ai utilisés et je les trouve incroyablement utiles. Vous voudrez peut-être essayer quelque chose qui fonctionne pour nous:
C'est extrêmement puissant, cela crée une responsabilité pour le développeur. Les personnes qui veulent trouver des excuses au bout de 6 mois environ.
PS: Je peux comprendre les gens qui votent pour la réponse, mais déposez un commentaire pertinent, au moins j'apprendrai quelque chose que je ne sais pas :-)
la source
SMART est un acronyme pour rappeler certains critères pour de meilleurs objectifs. Donc, introduire SMART signifie que votre direction doit faire mieux en suivant ce principe. Sans la gestion intelligente, les objectifs seraient fixés de toute façon, mais ils seraient probablement trop difficiles.
Donc, pour les programmeurs ne devraient pas venir, la direction doit changer de style pour mettre en œuvre SMART. Et s’ils le font bien, votre travail de programmeur peut devenir plus facile, car la direction du projet est plus claire, les délais sont fixés, etc.
Si la direction ne le fait pas correctement, peu de choses changeront.
la source