2009-07-08 5 views
1

Dans le secteur des systèmes d'administration, les serveurs et l'infrastructure informatique sont déplacés dans les centres de données et le personnel informatique est parfois coupé. Est-il possible que la même chose arrive aux développeurs de logiciels, que le logiciel du monde puisse être produit par quelques grandes sociétés au lieu de tant de développeurs?Le développement logiciel sera-t-il consolidé?

Répondre

3

N °

Le logiciel de construction n'est pas une activité qui évolue bien. Si cela prend une femme 9 mois pour avoir un bébé, cela prend-il 18 femmes un mois? Quelqu'un a mentionné ci-dessus "Le Mois de l'Homme Mythique" - ce problème a été abordé là. À un moment donné, les coûts de communication et les coûts indirects associés au développement de logiciels dans une équipe commencent en réalité à ralentir la progression. Il y a aussi l'argument qu'il y a un facteur de 10 différence de productivité entre les excellents programmeurs et un programmeur moyen (ou - ceux qui perdent leur temps à poster sur StackOverflow et ceux qui ne le font pas) Et le mythique (ou peut-être pas ... donc-mythique) Programmeurs Productifs Net-Négatifs - ceux qui à travers de mauvaises pratiques, de mauvaises décisions de conception, ou en quelque sorte détruire le moral de l'équipe causent réellement négative productivité.

De plus, la plupart des maisons de logiciels se spécialisent dans un type de logiciel ou dans une langue, et de nouvelles choses sortent tout le temps. «L'innovation se produit ailleurs» - une fois que vous êtes assez grand, vous êtes à l'aise de faire ce que vous avez toujours fait, donc vous n'allez pas chercher de nouvelles choses qui pourraient détruire votre modèle actuel. Et l'open source est grand maintenant - de sorte que vous ne pouvez pas vraiment obtenir une grande entreprise qui verrouillera tous les logiciels, sauf le leur. (Peu importe combien Microsoft veut ...)

+0

"S'il faut une femme de 18 mois pour avoir un bébé" Neuf mois est la durée habituelle d'une grossesse! – HLGEM

+1

Oui, mais son bébé a été créé itérativement – Joe

+0

LOL - corrigé – Nate

1

Je dirais non - à court terme. Avec des choses comme la TDD et la programmation jumelée et d'autres choses, il semble que des équipes plus petites et plus agiles soient la voie à suivre.

Et je reviens toujours à des choses comme "The Mythical Man Month". Je pourrais avoir une énorme société avec 1000 développeurs - mais cela ne signifie pas qu'un projet de 1000 heures-homme serait fait en un jour.

ne semble pas comme ça marcherait bien

+1

Comme l'énonciation "9 hommes ne peuvent pas faire un bébé dans un mois". – JulianR

+10

Sauf si j'ai été menti à toute ma vie, 9 hommes ne peuvent pas faire un bébé à tout moment – Joe

+1

@Joe - vous m'a fait LOL dans mon cube +1 à vous bon monsieur –

0

Certains se tournent vers les grandes maisons de développement en Inde et voir cela comme une possibilité, une fois les petits défauts sont tous élaborés.

0

Il y avait toujours des tentatives pour automatiser la génération de logiciels. Pour écrire uniquement UML et ensuite avoir le logiciel écrit magiquement à partir d'un programme.

Mais les sys-admins sont toujours nécessaires, peut-être pas tellement plus. Et il y a des milliers de petites sociétés d'infrastructure et d'hébergement de serveurs là-bas.

Il en sera de même pour le développement de logiciels. Avec l'amélioration des outils et des cadres et tout le besoin pour les programmeurs réels va diminuer. Mais il y aura toujours les petites entreprises qui feront des choses personnalisées et les grandes entreprises comme SAP construiront les grands frameworks. Et quelqu'un doit aussi écrire les frameworks.

Ne craignez donc pas pour votre travail :)

0

Peut-être en partie, mais pas complètement.

En plus de diverses entreprises de logiciels (qui produisent principalement des logiciels), de nombreuses entreprises ont besoin de logiciels personnalisés comme pièces de leurs produits - disons, par exemple, firmware pour un appareil radar. Ces entreprises emploient beaucoup de développeurs individuels, et l'externalisation d'un tel travail n'est pas pratique ni efficace, car il faudrait quelqu'un pour créer des spécifications exactes pour ce qui est nécessaire. Créer de bonnes spécifications peut être encore plus difficile que de simplement créer le logiciel.

0

Je voudrais faire valoir que la disponibilité de matériel de base à bas prix et des ressources telles que "cloud computing" augmenter l'incitation pour le développement être plus décentralisée. Les sociétés massives, avec leurs énormes ressources, ne peuvent plus bénéficier d'un tel avantage par rapport aux équipes de développement indépendantes ou de plus petite taille. En un sens, c'est comme s'il y avait quelques grandes maisons d'édition, mais il y avait encore beaucoup d'auteurs indépendants (ou de groupes d'auteurs) là-bas. L'exception serait des choses comme tous ces nouveaux romans de la série "Tom Clancy", tous écrits par un nom de plume qui représente de nombreux auteurs indicibles.

0

Je ne pense pas que cela se produira. Une grande partie du développement de logiciels consiste à avoir une connaissance intime du domaine dans lequel vous travaillez. Il est impossible qu'une seule grande entreprise puisse avoir une connaissance approfondie du domaine des problèmes pour un grand nombre de secteurs.

Le développement de logiciels a également tendance à faire partie du noyau qui rend une entreprise précieuse, contrairement aux fonctions de support périphériques telles que l'informatique ou les ressources humaines. L'externalisation des compétences de base est une proposition très dangereuse. Non seulement il y a d'énormes problèmes de propriété intellectuelle, mais il y a toujours la possibilité que l'entreprise qui s'occupe de l'externalisation disparaisse ou décide qu'elle ne veut plus faire le travail. Si cela se produit, l'entreprise qui a externalisé le travail est fondamentalement morte.

0

Un bon logiciel est conçu pour rendre les utilisateurs productifs, et cela signifie surtout comprendre les emplois des gens et comment ils les font. Compte tenu de la grande variété d'organisations et de processus de travail en leur sein, cela nécessite des concepteurs et des développeurs qui travaillent aussi étroitement que possible au point d'application. Toutes les tentatives de normalisation de ces processus de travail en une seule application ont inévitablement abouti à un logiciel qui ne correspond au travail de personne.

Je ne m'inquiéterais pas de sitôt, en me basant sur n'importe quel processus de développement logiciel actuellement disponible, ou dont je me souviendrai.

0

L'administration des serveurs peut être automatisée. Une batterie de serveurs moderne bien administrée ne dispose plus d'administrateurs système se connectant directement à un serveur. Tout est déployé et géré par l'automatisation. Comparez cela avec le développement logiciel, où chaque programme individuel doit encore être écrit par un humain réel. Il n'y a pas d'automatisation de l'acte de création. Pour cette raison, le développement de logiciels est plus comme un métier que comme une industrie. Une industrie peut évoluer et sortir. Un métier ne peut évoluer que par la segmentation en groupes indépendants. C'est ainsi que fonctionnent les projets de 1000 développeurs. Ils sont entièrement composés d'équipes d'une demi-douzaine de personnes. Donc, non, à moins que quelqu'un n'invente un véritable outil pour automatiser l'acte de créer un logiciel et le transforme d'un métier en industrie, vous n'allez pas voir la même tendance que pour les administrateurs système. Ce que vous voyez, c'est que l'artisanat est utilisé dans les pays à bas salaires et qu'il peut être plus rentable d'embaucher des artisans bon marché. Notez que j'ai dit "peut", pas "volonté". Le coût le plus élevé du développement de logiciels est la communication, et la communication est la plus susceptible de devenir hors de contrôle lorsque vous êtes en mer.

0

Les grandes entreprises vont faire cela, mais il ne sera jamais complètement propriétaire. D'une part, les grandes organisations souffriront de la multitude de problèmes qui affligent toujours les grandes entreprises.

Ne pariez jamais contre un seul développeur ou une petite équipe avec un objectif ciblé et les compétences pour écrire du bon code. Les meilleures pratiques, les bons outils et les connaissances sont facilement accessibles à tous. Il n'y a aucune raison (en fait, il y a de nombreuses raisons de ne pas le faire) pour déplacer le développement vers des organisations centralisées.

Questions connexes