web-dev-qa-db-fra.com

La propriété est-elle une bonne pratique?

Récemment, dans ma société, il a été suggéré qu'un développeur devrait se concentrer (et une seule) dans une caractéristique. Cela signifierait quelque chose comme définir le développeur de côté de la routine d'équipe normale, la libérant de certaines autres responsabilités (réunions et telles) et cette personne serait la "seule" responsable de la fonctionnalité, de la technologie sage.

Pour le compte rendu, nous utilisons Scrum à titre sûr et nous avons pour les développeurs à temps plein par équipe, partageant les propriétaires de QA et des produits entre nos deux équipes (Android et IOS).

Bien que je conviens que cela augmenterait la productivité à court terme, j'ai le sentiment (et je pense que je l'ai appris à l'université) qu'il s'agit d'une mauvaise pratique pour de nombreuses raisons:

  • Code Review perd la valeur.
  • Partage minimal de connaissances.
  • Incrément de risque.
  • Perte de flexibilité d'équipe.

Ai-je raison ou ce n'est pas une mauvaise pratique du tout?

22
mdelolmo

Au cours de mes 20 années d'expérience, il est préférable de faire pivoter de responsabilités parmi les concepteurs ou au moins une paire de propriétaires. La propriété unique des fonctionnalités a les problèmes suivants, dont plusieurs, dont vous avez mentionné:

  • il a tendance à des concepteurs de trous de pigeon et à limiter leurs opportunités de croissance
  • il met tous les œufs dans un panier, donc si quelqu'un est frappé par un bus ou quitte, il peut y avoir un trou dans la connaissance
  • une seule personne peut ne pas voir un problème dans le code et sans que les commentaires de code de propriétaire pair sont beaucoup moins efficaces
  • il est difficile de gérer la cohérence et la lisibilité du code si tout le monde travaille sur le code à l'aide de leur propre style -, alors que cela peut être travaillé avec des directives de style, les subtilités peuvent se glisser surtout lors de l'utilisation de la convention sur la configuration où les personnes s'appuient sur un comportement par défaut.
  • les développeurs peuvent avoir tendance à devenir protecteurs et défensifs de leur code s'ils le possèdent, ce qui peut inhiber l'évolution du code - si plusieurs personnes possèdent de la possession, cette tendance est réduite
37
Jason K.

La propriété est inévitable et bien fait peut être une bonne chose. Il aide à renforcer la maîtrise et permet une autonomie - deux de les piliers généralement reconnus d'engagement . Cela indique clairement qui a la responsabilité pour ce code et le sida de la délégation, de la communication et de la fin de la merde.

Mais vous ne parlez pas de cela. Vous parlez de faire une nouvelle équipe de découper cette personne du reste du code. Ce n'est pas génial. Cela limite leur carrière. Cela ajoute des risques au projet/société. Cela nuit à Comradarie.

Donc, une modération pourrait être pour le transformer de cette mauvaise idée.

13
Telastyn