Extreme Programming (XP) est-il incompatible avec les idées exprimées dans Peopleware?

16

Je viens de terminer la lecture de Peopleware (DeMarco, Lister) et j'ai fait des recherches sur Extreme Programming (XP) un peu avant. Selon moi, les deux approches sont presque exclusives l'une de l'autre.

Peopleware suggère d'isoler les programmeurs de toute perturbation et définit la priorité sur le travail ininterrompu afin d'aider les programmeurs à réaliser le flux. XP propose en revanche d'assurer autant de communication que possible, suggérant même aux programmeurs de "s'asseoir ensemble", de coder par paires et de travailler généralement dans la même pièce (générant beaucoup de bruit).

Ces deux écoles de pensée concurrentes sont-elles peut-être l'une d'elles prouvées bonnes / mauvaises ou y a-t-il un compromis efficace? Je peux voir les arguments des deux parties, mais je ne vois aucun compromis raisonnable.

Je suis très nouveau dans l'étude de la gestion du développement logiciel, il est donc possible que je ne comprenne pas quelque chose. Tous les commentaires sont les bienvenus.

PS En tant que mini-question supplémentaire, en tant que programmeur, que trouveriez-vous plus productif?

Aleksandrs Ulme
la source
4
Ils ne sont pas exclusifs. Les développeurs de paires doivent fonctionner sans interruption.
Lukasz Madon
@lukas: même en considérant cela, qu'en est-il de "s'asseoir ensemble"?
Aleksandrs Ulme

Réponses:

12

Vous avez manqué le point avec Peopleware. Nulle part le livre ne suggère d'isoler les programmeurs dans des bureaux individuels, mais de les regrouper en 2 à 4 personnes par bureau.

La raison principale est d'isoler les programmeurs du bruit non lié à la programmation, comme le vendeur qui crie au téléphone, le bavardage entre le directeur et le secrétaire, le bruit généré par les personnes en mouvement, la sonnerie du téléphone, les portes qui claquent, etc.

Extreme Programming est entièrement compatible avec un bureau 2 à 4. Pour faire une programmation en binôme, vous êtes 2 ou 3 max.


la source
Oui, en examinant la chose, j'ai remarqué la remarque que les programmeurs devraient être isolés "du bruit très différent de ceux qu'ils font", c'est-à-dire des non-programmeurs. Merci!
Aleksandrs Ulme
J'ai eu le luxe de travailler dans un bureau pour 3 personnes pendant environ 5 ans. Cela fonctionne vraiment bien - si les gens travaillent ensemble.
quick_now
@quickly_now: vous travaillez maintenant dans un espace ouvert?
1
Je travaille dans un bureau d'une personne maintenant. J'avais l'habitude de travailler dans un bureau de 3 personnes, et avant cela dans un espace ouvert. (Et avant cela ... plan plus ouvert ... et avant cela, un bureau avec une porte que je pouvais fermer). Ma préférence après tout, c'est un bureau d'une personne. Si vous ne pouvez pas obtenir ce luxe, alors 2-3 personnes sont bonnes. Plus qu'un simple enclos à cochons géant.
quick_now
11

Je pense que les deux approches décrivent une stratégie de travail générale, mais pas nécessairement chaque minute de travail dans une journée. Un équilibre doit exister.

Soyez suffisamment proche pour permettre une communication rapide, mais retirez-vous dans une zone isolée lorsque la discussion est terminée et que le travail réel doit suivre.

Personnellement, je trouve que «s'asseoir ensemble» et «générer beaucoup de bruit» pendant tout le temps ne fonctionne pas. Il y a du temps pour parler pour discuter des problèmes, décider des prochaines étapes et ainsi de suite, puis il y a du temps pour coder et les gens doivent avoir des zones calmes pour le faire.


la source
4

La clé est la phrase «isoler les programmeurs de toute perturbation et donner la priorité au travail ininterrompu». La chose prioritaire est claire dans XP lorsque les histoires sont sélectionnées à chaque itération pour être les plus précieuses. Les clients doivent s'efforcer d'avoir un ensemble d'histoires "stables", sans trop changer d'avis au milieu de l'itération (cela peut arriver, mais cela devrait être des cas particuliers, pas la norme).

La partie "isoler les programmeurs" est la plus délicate. Cela signifie que les programmeurs devraient faire ce qu'ils font le mieux: Programmer. Pour que XP fonctionne, les programmeurs doivent être placés dans un environnement où ils se concentrent uniquement sur l'achèvement des histoires, sans frais généraux externes comme les réunions, les appels téléphoniques, les petites faveurs et autres. Cela peut être accompli soit en plaçant chaque paire de programmeurs dans leur propre bureau, soit en plaçant tous les programmeurs dans une salle de guerre où personne d'autre ne peut entrer sauf en cas de nécessité absolue.

Soronthar
la source
1

Personnellement, je trouve IMPOSSIBLE de travailler en binôme avec quelqu'un, même si j'apprends de cette personne. Peut-être que c'est juste pour que certaines personnes (c'est-à-dire moi) fonctionnent mieux de manière plus "classique" (entrer dans la zone, silence, etc ...).

Ou peut-être est-ce le fait que XP est principalement implémenté dans les boutiques de développement Web dans lesquelles les gens portent de nombreux chapeaux et au lieu de résoudre des problèmes difficiles dans un domaine (par exemple, optimiser un morceau de code), ils passent du temps à trouver une solution déjà existante pour un problème non très difficile intellectuellement (par exemple, intégrer un panier à la page, etc.).

Pour quelque chose comme ça, travailler en binôme, beaucoup de communication, etc. pourrait être le seul moyen d'aller de l'avant efficacement (vous n'allez pas passer X heures juste pour trouver ce module d'envoi d'e-mails Joomla! / Droopal bug, êtes-vous ?)

Jas
la source
-2

Oui, XP est complètement incompatible avec Peopleware et les bonnes pratiques de développement logiciel. Peut-être avez-vous besoin de vous rafraîchir avec la section avant de continuer?

http://code.scottshipp.com/2017/03/22/open-office-plans-excerpt-from-peopleware/

Le tableau 8-1 en bas le décrit assez bien, l'entrée finale étant la torpille ultime.

  1. Les gens vous interrompent-ils souvent inutilement? 38% oui 76% oui

Dans un bureau de plusieurs personnes, il n'y a physiquement aucun moyen d'éviter cela. L'unité du conjoint de quelqu'un l'appelle et même si la personne sort après avoir répondu, vous êtes toujours interrompu par la réponse. Quelqu'un essaie d'être poli, va prendre un café et appelle pour voir si quelqu'un veut quelque chose.

N'oublions pas le codeur qui met les écouteurs et augmente le volume pour que vous puissiez toujours l'entendre à 6 pieds de distance ou pire encore, se sent obligé d'utiliser un stylo / crayon pour tambouriner avec une section d'un `` grand air ''. Oh, et si vous avez la malchance d'avoir un seul fan de sport travaillant dans l'informatique, ils sont tous gonflés.

"Oh! Avez-vous vu le match d'hier soir? !!!! Et cet APPEL !!!! Étaient-ils aveugles ?? !!"

Eh bien, vous obtenez l'image.

XP par définition précoce est 2 programmeurs et un clavier. C'est une méthodologie vraiment adaptée uniquement pour la plongée en profondeur sur les corrections de bugs difficiles à trouver, pas pour le développement de logiciels à grande échelle. Les concepts Open Plan et Team Room violent les recherches effectuées dans Peopleware.

user3450148
la source