54 votes

Existe-t-il de bonnes métaphores pour expliquer la complexité d'un projet à un non-programmeur?

C'était juste mentionné que je suis "pas exactement de la construction de la Chapelle Sixtine". C'est vrai, mais je suis la construction d'une application de gestion de fret, ce qui n'est pas exactement aussi simple que de tracer les contrôles sur un formulaire (même si les vendeurs aimeraient vous faire croire que c'est).

Je ne tiens pas ce à l'encontre de la personne qui a dit cela, mais je ressens de la complexité de ce que je fais, c'est un peu mal compris, ou que la déclaration n'aurait pas été faite.

Existe-il des bonnes métaphores qui pourrait illustrer un projet de complexité pour les non-programmeurs?

83voto

APC Points 69630

Le haut-parleur presque certainement signifiait vraiment "la peinture de la Chapelle Sixtine [plafond]". Sont-il significatif de parallels?

Michel-ange avait quelques problèmes avec l'échafaudage suggéré par l'architecte. Il a terminé la construction de son propre cadre de référence.

Michel-ange était un sculpteur et il a dû apprendre la fresque dans l'ordre de la commission.

Le pape Jules II voulait 12 figures peintes, des apôtres. Michel-ange a négocié une main libre dans le choix du sujet, et livré scènes de l'Ancien Testament représentant plus de 300 figures. Il a fait toutes les peindre lui-même.

Le projet continuellement manqué de l'argent(parce que le Pape a gardé la guerre avec les états environnants).

Donc, nous allons voir. Lourde dépendance à l'égard d'une technique de prima donna, des problèmes de trésorerie, ne pas livrer les spécifications du client... Vous avez raison, cela ressemble à aucun projet de logiciel que j'ai jamais entendu parler.

51voto

Paul Tomblin Points 83687

Ce n'est pas une opération à la roquette.

34voto

bill weaver Points 2524

Certaines métaphores...

  • Complexité-sage, c'est un peu comme la construction d'une voitureou sur un bateau, à partir de zéro, par vous-même. Projets de logiciels qui nécessitent une équipe d'ingénieurs sont comme la construction de la navette spatiale. La seule différence étant que si vous foul les choses, les gens n'ont pas l'habitude de mourir. Si des peuples des vies sont en jeu, c'est même plus comme la navette spatiale. (Le logiciel n'est presque jamais aussi cool que rocketships, cependant).

  • Il est vrai que votre projet de logiciel n'est pas la Chapelle Sixtine (qu'est-ce que?), mais c' est un peu comme la construction d'un système de gestion de fret, qui lui-même est incroyablement complexe. Vous pouvez dessiner des diagrammes sur un tableau blanc ou arriver à porter autour de la conception du système et des diagrammes de flux de données. Les aider à voir.

  • Demander: "avez-vous déjà construit un ordinateur?" La sélection et la commande de tous les composants, la construction de l'ordinateur, le choix et l'installation du logiciel de l'exploitation, de pilotes de périphériques, la configuration, le résultat final sera tout prendre moins de temps et d'être beaucoup moins compliqué que ce fret, la gestion de projet.

Les conseils sur le rapportant à quelque chose qu'ils font est bon, mais assurez-vous de comprendre ce qu'ils font pour faire un bon analogie. Si elles ont suivi une formation de mécanicien et vous dit que c'est comparable à la reconstruction d'un carburateur (au lieu de, disons, une boîte de vitesses automatique), ils pourraient penser "bon, ce n'est pas très compliqué."

Neil Ernst parle de logiciel de métaphores un peu, l'applicabilité de la maison contractantes de la métaphore, et rend également les points que l'ingénierie logicielle est par nature difficile à expliquer parce que c'est de travailler dans l'abstrait.

Neil liens vers un essai de Jim Valdes, du Génie Logiciel et de l'Art de la Conception, dans laquelle il souligne

De cette façon, ce que nous appelons le génie logiciel est vraiment plus comme l'architecture (l'architecture réelle qui produit des bâtiments) que c'est comme d'autres types de l'ingénierie. Il est un élément de la science (un bâtiment a obéir aux lois de la physique), mais il est également un élément important de l'art. En fonction du type de logiciel que vous produisez, le mélange des deux peut différer quelques-uns, mais il y a toujours un mélange.

Alors, peut-être grand d'architecture et de construction exploits sont une bonne métaphore. (Non pas que ce que nous faisons vient près de la Chapelle Sixtine, mais nous devrions approcher de ce que nous faisons avec cela à l'esprit.)

Malheureusement, la personne qui rejette votre projet trivial est peu probable de le comprendre. Ils pourraient ne pas être en mesure de penser de façon abstraite assez pour l'obtenir. Le mieux que vous pouvez espérer, c'est qu'ils genre de saisir la voiture ou d'un bateau ou d'une maison analogie, ou peut-être les aider à voir avec les diagrammes.

Edit: Vous avez fait un point sur la complexité relative entre votre projet et le "dessin de contrôles sur un formulaire". Vous pourriez peut-être répondre à la Chapelle Sixtine remarque en disant: "c'est vrai. Toutefois, si trois mois de projet web est le petit hangar derrière de votre maison, ce système de gestion de fret est Rogers Centre.

21voto

Joseph Points 18099

Si ce n'est pas comme la construction de la Chapelle Sixtine, c'est peut-être plus comme construire une maison. Beaucoup de choses vont dans la construction d'une maison, avec beaucoup de différentes personnes avec différentes spécialités. Rien n'est trop compliqué, mais il y a beaucoup de travail!

Le problème, c'est vraiment pas comme la construction d'une maison; c'est comme construire une maison qui change tout le temps. Pour les fins de la complexité, cependant, cela pourrait illustrer votre point de façon plus efficace.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X