Recommanderiez-vous des pratiques de programmation extrêmes mises en œuvre dans des organisations où la composition de l'équipe change souvent? Si dans un scénario de programmation extrême, l'équipe devient volatile à mi-chemin, que recommanderiez-vous? Merci.Volatile Extreme Programming Team
Répondre
Quel processus va fonctionner lorsque la composition de l'équipe est volatile? Au moins avec XP, en utilisant la programmation par paire, vous avez l'espoir que plus d'un membre de l'équipe a une certaine familiarité avec toutes les parties du code. FWIW, je ne pratique pas XP, je ne vois pas comment le problème est exacerbé en utilisant XP.
Je suggère que la question de la volatilité de l'équipe soit abordée en premier. Aucun processus ne fonctionnera très bien si vous avez une porte tournante dans votre bureau en premier lieu et je dirais que l'utilisation d'un processus qui repose plus fortement sur la performance et la contribution d'un individu que celui destiné à être utilisé avec " des rouages remplaçables dans une machine "va aggraver les choses si c'est possible.
La programmation en binôme peut fonctionner dans une situation comme celle-ci, à condition de pouvoir garder certaines personnes suffisamment longtemps pour qu'elles puissent partager leurs connaissances sur les nouveaux membres de l'équipe. Cependant, une partie du problème est que vous ne pouvez pas vraiment pratiquer la partie «paire d'égales» de la programmation par paire et vous finirez dans une situation implicite senior/junior simplement parce que la moitié de la paire ne connaît pas la code assez bien.
La plupart des processus de développement reposent sur une équipe relativement stable qui connaît bien le codebase. Si vous n'avez pas cela, vous devez concevoir un processus autour du fait que vous aurez affaire à des développeurs qui essaient de saisir la base de code en même temps qu'ils essaient d'être productifs.
La programmation en binôme devrait aider les nouveaux membres de l'équipe à se perfectionner, ainsi que la communication osmotique dans une salle d'équipe. Des suites complètes de tests pour les développeurs et les clients doivent s'assurer que les nouveaux membres de l'équipe ne cassent pas les fonctionnalités existantes. Une qualité de code élevée devrait les aider à trouver leur chemin plus rapidement. Cela dit, les équipes volatiles sont vraiment un anti-modèle fort. Pourquoi les avez-vous en premier lieu?
Une couverture de test élevée et une intégration continue peuvent aider à garantir que les nouveaux membres de l'équipe ne rompent pas ce qui a déjà été implémenté. La programmation en binôme est le moyen le plus rapide que j'ai trouvé pour aider quelqu'un à se familiariser avec un projet. La planification de réunions, de courtes itérations et le suivi de la vitesse par rapport à ces itérations pourraient également aider les nouveaux développeurs à mordre facilement de petits morceaux qui sont plus faciles à gérer.
L'appariement programmeur devient un must. Les pratiques d'ingénieur (XP) ainsi que les pratiques de gestion (SCRUM) permettent de livrer à un rythme soutenu. L'une des premières choses que vous devriez souligner pour une équipe de travail est de le garder ensemble. Si cela n'est pas possible, l'appariement de programmation a encore plus d'importance!
Pour une cascade, un projet est démarré, les gens sont rassemblés, ils doivent ensuite passer par Form, Storm, Norm puis Perform. Une fois que l'équipe a appris à travailler ensemble, le projet prend fin et l'équipe de travail est dissoute. Ensuite, le processus est répété à nouveau. Voyez-vous le problème? Qui a tant d'argent pour continuer à payer le prix des équipes Form, Storm, Norm puis Perform, encore et encore? Cela étant dit, chaque équipe verra les membres de l'équipe aller et venir. Avec l'appariement de programmeurs, vous pouvez apporter de nouvelles personnes à l'équipe et elles deviendront efficaces presque immédiatement. En jumelant, ils apprendront très rapidement le domaine de l'entreprise, le code de l'application et la pratique de l'ingénierie.
Nous avons pris une équipe de 4 paires et ajouté 3 nouvelles paires à l'équipe. Nous avons jumelé tous les nouveaux développeurs avec des membres de l'équipe d'expérience. Nous nous sommes donnés 30 jours pour mettre les nouveaux membres au courant. L'équipe a atteint tous les livrables. Pourriez-vous ajouter 6 développeurs à une équipe de 8 développeurs dans une équipe cascade. L'équipe allait presque s'arrêter d'assimiler les nouveaux membres de l'équipe.
Bottom line, garder une équipe de fonction ensemble. Si cela n'est pas possible, utilisez efficacement l'appariement pour attirer rapidement de nouveaux passagers.