Il doit s'agir d'une combinaison judicieuse de toutes les réponses jusqu'à présent. En fin de compte, lorsque vous parlez d'un groupe de personnes intelligentes (développeurs), vous devez leur donner les raisons pour lesquelles le comportement est important et leur donner suffisamment de contrôle sur la façon dont ce comportement est mis en œuvre pour qu'ils soient investis à bien le faire. Les mandats ci-dessus sont généralement lâches avec les gens intelligents, car s'ils n'ont pas convenu que le problème est un problème, ils passeront probablement plus de temps à contourner le mandat qu'à suivre la règle.
Voici quelques-unes de mes tactiques:
Validation des modifications:
Tout d'abord, l'équipe doit se mettre d'accord sur le moment de s'engager et sur quoi s'engager. Une configuration de construction qui a du sens est absolument essentielle, de sorte que les gens ne se retiennent pas simplement parce qu'ils ne savent pas où mettre quelque chose. Et un consensus sur le moment / la fréquence d'enregistrement. "Ne pas casser la version" est une bonne règle évidente, mais comment est-ce vérifié et qui en est informé? Une autre référence est "ce n'est pas fait s'il n'est pas enregistré".
La plupart des développeurs que je connais sont plus qu'heureux de vérifier le code IF:
- Le processus d'enregistrement est facile
- Le processus de synchronisation est facile (prise en compte des modifications d'autres développeurs)
- Voir les changements et passer d'une version à l'autre est facile
Une chose que j'ai remarquée récemment est que les enregistrements sont devenus plus fréquents et moins douloureux lorsque nous nous sommes dirigés vers un nouvel outil CM. Notre équipe est un pionnier de Rational Team Concert ayant auparavant utilisé Clearcase. Je ne veux pas annoncer d'outils, mais la nouvelle vague (pour moi) de connexions en streaming avec beaucoup de petites fusions rapides rend beaucoup plus attrayant l'enregistrement tôt et souvent.
Laisser les développeurs être en charge d'éliminer la douleur CM augmente généralement la quantité de checkin qui se produit.
Adhésion à l'architecture - pas d'écriture des problèmes de modèle dans les vues et les contrôleurs
Je mets cela dans le bloc général de "faire l'architecture correctement". Je suis d'accord avec celui qui a dit les évaluations par les pairs - la pression des pairs est excellente pour cela. L'une des façons dont je vois généralement les gens entrer dans le giron des meilleures pratiques dans ce domaine est lorsque leurs pairs leur demandent pourquoi ils l'ont fait dans l'autre sens (la manière pas si correcte). Généralement, la question du «pourquoi» amènera les gens à comprendre par eux-mêmes pourquoi ils auraient dû procéder différemment. Lorsque les gens ont une raison bien comprise de la meilleure pratique, il est beaucoup plus facile de s'y conformer.
De plus, s'il existe une formalité reliant une personne à une décision, il peut être plus facile d'attribuer des bogues dans ce domaine ... donc si une personne est responsable de la correction des bogues dans une zone de conception défectueuse, la nécessité de corriger quelque chose avant ils peuvent passer à quelque chose de nouveau et d'excitant peut être une grande motivation.
Évitez le codage en dur
Je commencerais par des normes de codage claires et en intégrant un examen des normes de codage dans les examens par les pairs. Le codage en dur est l'une de ces choses qui peut facilement être une case à cocher dans un programme d'examen par les pairs.
J'ai peur que ce genre de chose soit la seule chose où je l'ai vu devenir le rôle du chef d'équipe pour faire respecter la règle. Dans les équipes que j'ai dirigées, nous ne laissons généralement pas quelqu'un avancer tant qu'il n'a pas corrigé les commentaires d'un examen par les pairs de son code. Et "pas de codage en dur" est un commentaire fréquemment revu par les pairs.
En général
Avec presque toutes les meilleures pratiques, je pense que vous devez choisir vos batailles. Aucune équipe ne deviendra absolument parfaite. Mais vous pouvez garder un œil sur vos principaux points douloureux et commencer à les résoudre en grappes. Je pense que cela devient le rôle du leader de vraiment savoir ce qui est un point douloureux pour l'équipe contre une bizarrerie ennuyeuse d'un individu particulier.
Si votre équipe manque de faire une meilleure pratique particulière, je pense que la première question doit être "combien de dégâts cela cause-t-il?" si la réponse est "minimale", cela ne vaut probablement pas le temps. Certaines meilleures pratiques sont plus pertinentes pour des types spécifiques de systèmes - bien qu'elles soient globalement bonnes, elles ne valent peut-être pas la bataille pour des systèmes où la pratique n'est pas fréquente ou une partie importante du système.
Si la réponse à "combien de damange?" est "BEAUCOUP !!!", alors vous pouvez commencer à construire un dossier pour montrer à l'équipe que toutes ces douleurs et souffrances pourraient être éliminées en corrigeant ce point de relâchement dans les meilleures pratiques. La plupart des gens sont heureux d'éviter la douleur et la souffrance et cela change le dialogue de "fais ça parce que je te l'ai dit", à "on a décidé de faire ça parce que c'est mieux".