Quelle est la méthodologie la plus proche de l'équipe chirurgicale dans le Mythical Man-Month? [fermé]

StackOverflow https://stackoverflow.com/questions/899171

Question

Le Mythical Man-Month est maintenant classique, mais la méthodologie « équipe chirurgicale » est toujours intéressante. Quelle est la méthodologie la plus étroite qui lui ressemble ou a la même essence?

Pour résumer l'analogie de l'équipe chirurgicale: Un chirurgien comprend le problème / domaine des affaires et est l'expert. Ils sont l'autorité quand il y a des questions ou des conflits avec l'équipe. Les chirurgiens travaillent entre eux-mêmes quand il y a des problèmes, disent avec la conception, fonctionnant comme une petite équipe d'experts serré. Donc, en substance, ils ont la connaissance du domaine, sont confiés à ils pensent est juste, et faire le codage réel? Le reste de l'équipe se concentre sur le soutien, les tests, la documentation et les plans de projet sont déléguées les tâches. Par conséquent, le chirurgien est aussi le plus qualifié / ressource formé.

La réponse pourrait être projet, la programmation, les méthodologies de conception car il semble avoir des répercussions sur des domaines principaux de méthodologie. Agile, MDA, Extreme, dans le développement de sourcing? Cette question a également plus de sens pour le logiciel qui est grand dans un domaine commercial complexe, pensez contrôle du trafic aérien, pas un développeur de logiciels commerciaux ou l'utilité commune.

Était-ce utile?

La solution

L'un des motifs mentionnés dans Modèles d'organisation de développement logiciel Agile est intitulé « Trois à sept aides par rôle »; elle diffère de l'équipe chirurgicale en ce sens qu'elle accorde une attention à chaque rôle, par exemple, il est non seulement que le chirurgien « rôle » qui a des aides ou des relations. tous les rôles ont un certain nombre de relations

Un autre modèle de la même source nommée « architecte met également en œuvre », qui peut être analogue à « équipe chirurgicale » en ce que l'architecte en particulier est (probablement) hautement qualifiés.

Autres conseils

Dans le cas d'un chirurgien, l'acteur clé est à la fois l'expert de domaine et le implementor.

i.e.., Il est à la fois le gestionnaire de programme de logiciel (architecte) et le développeur.

Ce type de méthode peut adapter certaines situations à court brûlures. Par exemple, une opération complexe comme une migration de serveur en direct ou mise à niveau du logiciel

Pour le développement général, cependant, il y a quelques problèmes avec de telles méthodes « héros »:

  • Peu de développeurs clés comprennent le domaine du problème à un degré suffisant, et doivent compter sur des experts du domaine. Ceci est simplement une fonction de spécialisation -. Il est difficile de trouver des programmeurs kick-butt qui sont aussi des avocats, des médecins, des comptables, ou autres sont des experts dans le domaine du logiciel est la modélisation

  • Évolutivité est limité par le nombre de "chirurgiens" dont vous disposez.

  • Il y a beaucoup de temps vers le bas pour le reste du personnel pendant qu'ils attendent les instructions, puisque le « faiseur » hautement concentré gère également l'équipe. C'est ok dans le OU, puisque vous avez affaire à un mandat « zéro bug » et « logiciel en direct. » Mais dans cette économie, une charge de travail plus distribué est plus efficace, même si elle se traduit par le problème de synchronisation occasionnelle entre les membres de l'équipe.

Je ne suis pas sûr une méthode traite vraiment, car il est vraiment une question de priorité les développeurs et à la flexion tout à leurs besoins, plutôt que d'être quoi que ce soit sur la façon dont les développeurs développent réellement leur logiciel.

Si vous recherchez une Méthodologies qui impements, je suppose que cela peut être de mauvaises nouvelles. Je préfère considérer bonnes nouvelles , en ce qu'elle signifie que vous pouvez utiliser cette approche avec à peu près une méthodologie de développement logiciel.

Je travaille exactement un projet qui a été exécuté de cette façon. Il était tellement agréable, je me sens presque mal appeler « travail ». Quatre d'entre nous les développeurs (avec personell de soutien supplémentaires, y compris le singe occasionnel de code junior supplémentaire) a obtenu un montant vraiment prodigous de code écrit et fonctionne correctement en seulement 9 mois. D'autres endroits où je suis allé ne aurait pu faire autant avec une équipe de 20.

Dans le texte que je vois ce qui suit:

Agile comme:

  • De petites équipes axées sur la résolution de problèmes spécifiques
  • La collaboration entre les surgeions

Non Agile comme:

  • Les chirurgiens sont l'autorité, la conduite du plan, la détermination de la conception, la répartition des tâches de soutien (les viewng comme subservent au codage) et faire le codage. Tous ces éléments sont très commande et de contrôle dans l'approche et contrairement aux équipes d'auto dirigeant (vs une équipe dirigée)
  • Il semble y avoir aucune collaboration avec le partenaire commercial (laisser la collaboration seule fréquente avec le partenaire busines)
  • Il semble pas backlog de produit prioritaire, donc le chirurgien prend ce qui est important de ne pas le partenaire
  • Il semble être pas de livraison incrmental (boucle de rétroaction étanche)

Pour un projet de chute d'eau, il suggère d'utiliser une équipe d'experts (chirurgiens) pour faire la planification, la conception, de codage, etc., et la répartition des tâches au personnel « support ». Sur une équipe agile, les tests ne sont pas traités comme support, mais une partie intégrante de la livraison.

On ne peut pas dire avec certitude la méthodologie préconisée. Cependant, il ne semble utiliser la langue (plans de projet, les tâches) et supposer que l'approche en cascade est suivi (phases comme la conception, codage, tests conduite par un plan). Quelle que soit la méthode est utilisée, l'un pour lequel quelques-uns déterminer le travail pour le grand nombre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top