Un de mes collègues avait l'impression que notre service logiciel était très avancé, car nous utilisions à la fois un serveur de build avec intégration continue et un logiciel de contrôle de version. Cela ne correspondait pas à mon point de vue, car je ne connaissais qu'une seule entreprise que je fabriquais et qui n'en avait pas non plus. Cependant, mon expérience est limitée à une poignée d'entreprises seulement.
Est-ce que quelqu'un connaît une véritable entreprise (plus de 3 programmeurs) , qui est dans le domaine des logiciels et n'utilise pas ces outils? Si une telle entreprise existe, y a-t-il une bonne raison pour qu'elle ne le fasse pas?
version-control
continuous-integration
Daramarak
la source
la source
Réponses:
Je ne suis pas sûr que vous les qualifieriez d'acte sérieux, mais MySpace est assez pauvre sur ce front: voir http://highscalability.com/blog/2011/3/25/did-the-microsoft-stack-kill- myspace.html .
la source
Vous seriez surpris de voir ce que la réalité peut faire au bon sens ;-)
Je pense qu'il y a encore pas mal d'entreprises qui n'utilisent pas de système de contrôle de version. Fait intéressant dans tous les cas que j'ai vus jusqu'à présent, ce n'est pas parce qu'ils s'opposent volontiers à l'utilisation de tels systèmes, mais plutôt parce qu'ils ne savent pas que quelque chose comme SVN existe! Quant à moi: je suis totalement d'accord avec vous et je ne peux pas imaginer une situation où je ne veux utiliser aucun type de contrôle de version. Enfer, je pousse même mes propres fichiers personnels (documents Word, etc.) sur mon PC personnel dans un référentiel GIT.
Dans le cas d'un système d'intégration continue, il est un peu plus courant de ne pas les utiliser dans les opérations quotidiennes. Parfois aussi parce que les gens ne savent pas qu'un tel système existe mais j'ai aussi vu des cas où l'excuse - très discutable - de ne pas les utiliser est que "nous ne sommes pas assez complexes" ou "ça marche très bien sans intégration continue, alors pourquoi s'embêter à ajouter une autre technologie? " Bien sûr, cela ne résiste pas à une évaluation réaliste - mais pour répondre à la question initiale: ce n'est pas si rare.
la source
Presque toutes les entreprises de mon secteur (banque) utilisent actuellement le contrôle de version. Mais il est certainement possible de développer un logiciel avec succès sans contrôle de version. Il y a 20-30 ans. c'est exactement ce que nous avons fait.
Je dirais que de nombreuses banques, peut-être même la majorité, n'utilisent pas de serveur de build à intégration continue. Si vous livrez déjà des logiciels avec succès sans intégration continue, il est parfaitement rationnel de continuer dans cette voie.
la source
Juste pour mettre un contre-point à la réponse de @ RoadWarrior:
Je travaille pour une banque. J'ai passé les 3 dernières années à implémenter le contrôle de version et j'ai maintenant réussi à l'obtenir sur environ 20% de notre base de code (ce qui est assez important, nous avons environ 20 développeurs et avons développé nos systèmes pendant> 16 ans)
Grâce à mes contacts dans l'industrie (banque), je connais une tonne d'autres instituts financiers qui n'ont pas ce qu'une personne sensée appellerait le contrôle de version.
Oui, notre industrie (développement de logiciels) est beaucoup plus triste que la plupart voudraient l'admettre.
la source
contrôle de version: Dans mon premier travail il y a 25 ans, il n'y avait pas de système de contrôle de version en tant que tel, mais c'était RSX11 sur PDP-11. Cependant, niveau très élevé de contrôle de la qualité avec des examens formels de la conception et du code (c'était dans l'industrie nucléaire).
Depuis lors, chaque travail a utilisé des systèmes de contrôle de version, y compris SCCS, PVCS, clearcase, cvs et perforce.
Donc, d'après mon expérience, l'utilisation du contrôle de version est à peu près universelle dans le développement de logiciels sérieux.
intégration continue: c'est plus un problème, en particulier dans les endroits qui ont beaucoup de code hérité qui n'a probablement même pas beaucoup de tests automatisés. Il faut un très gros investissement pour déplacer le code existant dans un environnement CI, et bien que cela soit finalement payant à la fin, il est difficile d'amener la direction à s'engager dans un tel investissement sans gain à court terme.
J'ai travaillé dans un seul endroit (une grande banque) qui avait CI en place pour certains projets, et nous avons mis en place un type de système CI sur notre projet qui a rendu les choses beaucoup plus faciles, mais a pris environ 6 mois à faire.
la source
J'imagine que la plupart des entreprises n'utilisent pas ces choses, car elles ne comprennent pas les avantages et leurs développeurs ne veulent pas apprendre ou ont peur de "remuer le pot" en faisant des choses différentes de la façon dont elles ont été fait avant.
la source
Bien que je sois maintenant un employé, je travaillais à mon compte comme consultant en base de données. Pendant ces nombreuses années, j'étais dans quelque 800 à 1000 entreprises, du niveau maman-pop aux Fortune 100.
J'ai vu relativement peu d'endroits qui faisaient une intégration continue, mais je ne me souviens pas avoir vu une entreprise qui n'utilisait pas le contrôle de version. J'en ai vu quelques-uns où il n'y avait pas de référentiel centralisé pour le code contrôlé par version. Les programmeurs individuels ont utilisé le contrôle de version soit sur leur propre ordinateur, soit conservé du code contrôlé par version quelque part sous leur répertoire personnel sur le serveur.
Je ne pense pas que l'une de ces sociétés était dans le domaine des logiciels, mais leurs programmeurs l'étaient certainement.
la source
Non, je déteste le dire, mais c'est vrai. Les deux derniers endroits où j'ai travaillé (une division d'une banque et une société financière), c'est moi qui ai implémenté le système de contrôle de version. Un certain nombre d'endroits (en particulier les magasins non logiciels) ne comprennent pas pourquoi c'est vraiment nécessaire pour un développement à long terme. L'équipe commence normalement par une ou deux personnes, puis se développe à partir de là, quoique douloureusement. Avec une ou deux personnes, vous pouvez vous en tirer (pas bien) sans lui car vous pouvez être en communication quasi constante les uns avec les autres.
La construction continue est un cas entièrement différent. Si je devais deviner, je parierais que près de 90% des endroits où le développement est effectué n'ont pas de solution CI en place. Je vais à des conférences et la plupart des gens sont stupéfaits qu'une organisation autre qu'un MS ou Google l'ait. Ce que j'ai trouvé, c'est que la direction ne veut pas dépenser la petite somme d'argent pour le faire fonctionner même si cela peut faire gagner beaucoup de temps.
Les principales raisons pour lesquelles j'ai trouvé cela sont:
Les membres de la direction ont gravi les échelons au sein de la même organisation. Ils n'en ont jamais utilisé et n'en ont pas eu besoin, pourquoi devraient-ils changer maintenant? Certains que j'ai trouvés ont juste peur du changement. Quelque chose de nouveau est effrayant, et cela les empêcherait de dépoussiérer leur ancien compilateur et aiderait nos plus jeunes en cas de besoin. D'autres fois (et plus souvent), ils ont des budgets toujours serrés et ils doivent décider où dépenser de l'argent. Pour nous, leur mise en œuvre est un besoin évident, mais c'est parce que nous les avons déjà utilisés. Nous connaissons les avantages, ils ne le savent pas.
Les gestionnaires ne sont pas des informaticiens, et tout ce qu'ils ici, c'est que vous voulez dépenser de l'argent pour quelque chose qui n'était pas nécessaire auparavant.
La plupart des arguments que j'ai entendus de la part des gens se concentrent sur les meilleures pratiques, etc. Avec cette somme d'argent que vous allez dépenser, nous allons économiser X fois et vous avez besoin de chiffres pour la sauvegarder. Ce n'est pas toujours vrai, mais c'est mon expérience dans le passé.
la source
Je dirais que beaucoup de gens n'utilisent pas le contrôle de code source car ils peuvent coder par eux-mêmes et sont habitués à sauvegarder périodiquement la base de code sur un serveur central ou un disque dur USB. Je me suis forcé il y a environ un an à commencer à utiliser SVN parce que je savais que ce serait bénéfique à long terme. Il a fallu un certain temps pour s'y habituer, mais maintenant j'ai des tonnes d'historique de code que je peux constamment consulter. Je souhaite maintenant que je l'avais mis en œuvre il y a quatre ans lorsque j'ai commencé.
Intégration continue? Utilisez-le uniquement si vous en avez besoin. Pour moi, il n'y a que deux ingénieurs logiciels donc nous ne bénéficierions pas d'une intégration continue car nous travaillons nous-mêmes sur nos propres logiciels.
la source
Ha, vous pensez que vous êtes avancé parce que vous avez SCM et un système CI? Permettez-moi de vous dire que c'est l'heure des amateurs quand il s'agit.
Beaucoup d'entreprises font le minimum requis, car c'est tout ce dont elles ont vraiment besoin . Si cela fonctionne et que vous obtenez de bonnes versions reproductibles sans effort majeur, il n'y a rien à corriger. La dernière chose que vous voulez faire dans de telles circonstances est de commencer à `` réparer '' les choses, surtout quand il s'agit de retirer les ressources d'administration de leur travail pour configurer et administrer vos nouveaux serveurs et construire des systèmes.
Cependant, certaines entreprises ont besoin de systèmes un peu plus rigoureux en place, une fois que non seulement la construction, mais contrôle les exigences tout au long du déploiement via des plans de test et des résultats de test, prenant en compte la révision du code, les procédures de consignation de style workflow et gestion du lot de travail désigné par le chef d'équipe. C'est une véritable gestion de configuration, et sacrément heureux de ne pas avoir à travailler dans ce genre d'environnement!
J'ai travaillé dans quelques entreprises, et je ne peux penser à aucune qui ne possédait aucune forme de SCM. Certains d'entre eux étaient plus complets que d'autres, mais tous avaient un système qui fonctionnait bien pour eux, même ceux qui utilisaient VSS.
la source
Même avec deux programmeurs lorsque vous travaillez sur des applications complexes et une liste de tâches, il peut être difficile de ne pas se marteler mutuellement les changements.
Même notre ancien logiciel de gestion des versions montrait les changements côte à côte et permettait de les appliquer dans les deux sens. Sans elle, des changements auraient été manqués à plusieurs reprises.
Je vois un certain nombre d'avantages qui viennent de CI, mais je ne peux pas imaginer pourquoi une entreprise ne ferait pas usage d'un logiciel de contrôle de version.
la source
Le dernier emploi où j'ai travaillé sans contrôle de version remonte à 2006 (je suis développeur Web, FWIW). L'entreprise n'avait que 2 ou 3 développeurs avant de m'engager, mais j'étais le premier d'une dizaine de développeurs embauchés en seulement quelques mois. L'une des premières choses que j'ai faites lors de l'embauche a été d'introduire le contrôle de version (CVS, parce que je ne savais pas à quel point il était nul!), Mais de nombreux développeurs embauchés après moi n'ont pas pu le faire fonctionner sur leur développement. environnements, donc je ne l'ai pas utilisé. Oh, ai-je mentionné qu'ils n'avaient même pas d'instances locales de l'application en cours d'exécution? Ils ont piraté du code sur le serveur. Et pas de tests automatisés, bien sûr. Je grince des dents quand j'y repense.
Avant cela, j'ai fait du travail de programmation AS / 400 sans contrôle de version. Je ne sais pas si un VCS décent était même disponible pour cet environnement.
Maintenant, j'utilise Git pour tous mes projets individuels, et mes derniers travaux l'ont également utilisé.
CI est une autre affaire. C'est génial d'avoir, et je l'encourage, mais c'est moins essentiel que le contrôle de version, au moins pour les petits projets dans des langages interprétés. Cependant, la plupart de mes emplois récents ont eu des serveurs CI; entre autres, cela signifie que personne ne peut oublier d'exécuter la suite de tests complète avant le déploiement.
la source
J'en ai certainement rencontré quelques-uns ici et là, mais surtout des petites entreprises. Le problème que je vois le plus souvent, ce sont les entreprises qui disposent en fait de SCM, mais jugent que de nombreux projets sont trop petits ou sans importance pour y être suivis.
la source