Penser à voix haute - nous, les programmeurs, adorons tous ces trucs de vote / badges / représentants, donc un schéma comme celui-ci pourrait être introduit dans un processus de révision du code des entreprises pour encourager un meilleur codage.
Quelque chose comme
Vous (ou d'autres personnes en votre nom) pouvez publier un avis (il peut s'agir d'un extrait, d'une validation unique ou d'une série de) pour un examen du code
D'autres peuvent le commenter (serait similaire aux réponses en SE)
Des badges peuvent être donnés / suggérés (certains seraient bons, certains seraient mauvais comme "Comment Desert" ou d'autres)
Vous pouvez voter pour / contre le code lui-même et les commentaires et badges (par exemple, si quelqu'un a suggéré un badge et que vous êtes / n'êtes pas d'accord)
Le but d'un tel programme serait
Introduisez un peu de plaisir pour encourager l'utilisation des revues de code
Améliorer la qualité (dans ce schéma, les personnes qui ont révisé le code et les examinateurs sont susceptibles d'apprendre)
Réduisez les risques de révision de code déclenchant des «guerres de l'ego»
Donnez quelques mesures pour aider à mesurer les performances individuelles
Cela pourrait-il fonctionner? Pensées?
Réponses:
Les récompenses extrinsèques telles que l'argent, les badges ou les représentants fonctionneront à court terme , comme les régimes et tout autre système basé sur les récompenses / sanctions.
La récompense intrinsèque , comme le but et l'autonomie, devrait être utilisée à la place et fournir des résultats à plus long terme. Il est beaucoup plus difficile de le mettre en pratique que de simples systèmes de récompense extrinsèques, mais cela paie.
De nombreux experts ont fait des recherches sur le sujet. Voici mes deux favoris:
Daniel Pink a fait un excellente présentation à TED sur le sujet qui est facile à regarder et à comprendre.
Alfie Kohn , auteur de Punished by Rewards , a écrit à ce sujet:
Un autre problème avec les récompenses (et les punitions) est qu'il modifiera le comportement des gens. Par exemple, si vous accordez des bonus à vos employés, ils se concentreront sur l'obtention de ces bonus, quels que soient les autres objectifs (à l'échelle de l'entreprise). Cela créera l'individualisme et la concurrence entre les départements et les employés. Le ressentiment aura lieu et tout le monde regardera tout le monde. Surtout lorsque l'un de vos objectifs est de "contribuer à mesurer les performances individuelles".
Le reste de l'employé peut réfuter les règles du jeu et quitter. L'augmentation du chiffre d'affaires deviendra alors un nouveau problème.
Veuillez noter que de nombreuses suggestions sur la façon d'améliorer la motivation ont été faites dans cette communauté .
la source
Oui, ça pourrait
Mais seulement si vous le concevez très soigneusement, sinon cela pourrait se retourner contre vous. J'ai fait quelques commentaires mais j'ai pensé résumer ma position
Pour la réputation, l'objectif principal devrait être de fournir une mesure que les employés peuvent utiliser pour suivre leur amélioration des compétences au fil du temps. Concevez-le très soigneusement en gardant cela à l'esprit, le plus difficile est de trouver de bons moyens de mesurer les compétences, je ne peux pas du haut de ma tête le faire.
Les badges sont principalement une chose "amusante", je les garderais principalement à l'écart des problèmes plus axés sur les compétences. C'est-à-dire des badges comme "cette semaine, le hibou" ou un groupe "expédié! Badge" serait ok. Si vous avez des badges basés sur les compétences comme "Correction de la plupart des bogues" ou "Rapport de la plupart des bogues", réfléchissez très attentivement à la façon dont cela pourrait être perçu et joué. Les badges devraient davantage mettre l'accent sur la mise en évidence du comportement que sur sa promotion à l'OMI. Assurez-vous d'avoir des badges d'équipe et individuels.
Je recommanderais fortement contre les badges négatifs, ces choses devraient être amusantes et faire peur aux gens de faire des erreurs est dangereux. Générez plutôt un e-mail convivial et convivial pour ces cas.
Je déconseille fortement de les laisser décider et voter sur les badges. Les gens peuvent envoyer leurs suggestions de badges, mais comme leur effet sur les gens peut être assez grave, les badges utilisés doivent être déterminés par une décision prudente d'une personne qui sait ce qu'ils font et non par un vote majoritaire.
Les révisions de code sont une idée intéressante et je suppose que l'une des façons de générer une valeur de compétence. Mettre en évidence le code et en discuter pourrait être très utile. Cependant, cela pourrait se retourner, si tout le monde sait qu'ils sont jugés sur tout ce qu'ils écrivent, le développement peut ralentir. Surtout avec le développement itératif où vous écrivez parfois quelque chose rapidement et ensuite refactorisez vous ne voulez pas ce comportement.
Cela pourrait peut-être être compensé soit par la personne qui soumet le code elle-même, soit par quelqu'un d'autre qui ne peut soumettre que le code d'un certain âge. Néanmoins, il peut être difficile de savoir quels effets il y aura
À la fin, je pense que vous devrez l'essayer et voir ce qui fonctionne et ce qui ne fonctionne pas, il y a un bon livre intitulé Reality is broken qui pourrait être intéressant. Le livre "Drive" de Daniel Pinks est également à lire absolument.
la source
À mon avis, NON , car il ne mesure pas la bonne pratique elle-même, mais un symptôme (si d'autres pensent c'est une bonne pratique).
Pour paraphraser un livre de l'oncle Bob (oublié le titre): Un bon code semble presque sans effort, il rend le problème trivial, comme si le langage avait été fait pour l'écrire.
Dans mon expérience, un tel code passe inaperçu, et ce n'est qu'après un long moment qu'il vient à l'attention, que ce code n'a jamais posé de problèmes, et peut-être alors on se souvient, que le problème était, avant l'introduction du code, un énorme gâchis d'incertitude et l'imprécision. Le code qui reçoit des éloges dans les critiques est généralement celui que les examinateurs considèrent un bon jour lorsqu'ils ne sont pas d'humeur à tâtonner, et qui a le moins de changements.
la source
L'idée apporterait une nouvelle dynamique à l'équipe. Si vous sentez que l'équipe est dans une ornière, c'est un bon moyen de faire bouger les choses.
N'oubliez pas que ce ne seront pas toutes les licornes et les arcs-en-ciel. Certains n'aimeront pas l'initiative, de sorte que la productivité / qualité globale pourrait en souffrir. Cependant, ce risque en vaut la peine. Cela dépend de votre situation.
la source
Je suggère d'utiliser la motivation extrinsèque (ce que vous proposez est une forme de motivation extrinsèque) pour motiver les gens à faire des choses "mécaniques", répétitives et ennuyeuses, telles que:
Je ne l'utiliserais pas pour la motivation sur tout type de travail qui nécessite de la créativité, ou lorsque la qualité ne peut pas être mesurée objectivement. Par exemple, si vous avez une personne qui fabrique des widgets et vous pouvez valider mécaniquement si une pièce est bonne ou mauvaise, et vous avez un processus qui ne permettra de fabriquer une pièce que si elle suit le processus approuvé, alors il est productif de motiver le travailleur avec des récompenses extrinsèques pour la productivité parce que le processus ne lui permettra pas de prendre des raccourcis pour faire plus d'unités au détriment de la qualité.
Si vous n'avez pas ces garanties en place, votre tentative de motivation extrinsèque se retournera sûrement. La programmation tombe carrément dans cette catégorie - nous ne pouvons tout simplement pas mesurer de manière fiable la qualité des logiciels. En effet, lorsque vous créez un widget, il quitte l'usine et n'affecte pas le travail que vous faites sur le widget suivant, mais lorsque vous créez un logiciel, vous devez continuer à le retravailler encore et encore. Ce que vous faites maintenant a des effets à long terme. Ce sont ces effets à plus long terme qui sont très importants mais qui ne peuvent pas être mesurés. La motivation intrinsèque est un facteur de motivation beaucoup plus utile pour ce genre de chose.
Cela signifie:
la source
Une partie de ce qui fait que cela fonctionne est le grand nombre de participants qui ne se connaissent pas ou doivent travailler ensemble quotidiennement. Je pense que dans un petit groupe, cela deviendrait plus une façon de jouer le système pour bien paraître ou pour faire mal paraître vos concurrents pour la promotion. C'est pourquoi les évaluations formelles par les pairs sont souvent un système médiocre. Dans un petit groupe, les personnes ayant le meilleur représentant seront celles qui sont les plus astucieuses politiquement et non les meilleurs programmeurs.
la source
La réponse courte est oui, cela pourrait fonctionner.
La réponse un peu plus longue est oui, cela pourrait fonctionner, mais cela pourrait également se retourner.
En plus d'être programmeur professionnel, je suis également analyste comportemental amateur.
L'une des principales conclusions de la science du comportement moderne est que le comportement est fortement influencé par ses conséquences.
Si vous contrôlez les conséquences, vous pouvez influencer le comportement dans une certaine mesure. Le degré dépend de l'importance des conséquences spécifiques pour chaque individu dont vous essayez de changer le comportement et de la facilité avec laquelle il peut éviter vos conséquences et trouver d'autres pour lesquelles il est disposé à travailler.
En tant que programmeur professionnel, l'une des conséquences de l'écriture de code est que je suis payé; arrête de me payer, et j'arrêterais de me présenter avant longtemps. Le salaire est une conséquence très importante pour moi (j'élève une famille), et il n'y a pas d'autres conséquences dans mon entreprise actuelle pour lesquelles je serais prêt à travailler au lieu d'être payé.
Si vous étiez mon patron, vous auriez à décider quelles conséquences (incitations, renforcements) m'offrir. Mais vous ne pouvez pas décider comment je les perçois. Par exemple, mon patron pourrait décider d'offrir une place de parking spéciale si je suis sélectionné comme "Codeur du mois". Si je vivais à San Francisco ou à New York et que je conduisais une voiture, je serais peut-être disposé à travailler pour cela. Mais là où j'habite maintenant, le stationnement n'est pas un problème et je peux quand même me rendre au travail à pied.
D'après mon expérience, le plus grand risque que vous courez avec la mise en œuvre d'un programme comme SO sur le lieu de travail est que vous pourriez être perçu comme offrant des votes par les pairs au lieu de payer aux gens ce qu'ils valent.
la source