Comment un grand nombre de développeurs écrire ensemble de logiciels sans soit un processus lourd ou un logiciel de mauvaise qualité?

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

Question

Je travaille dans une entreprise avec des centaines de personnes pour l'écriture des logiciels essentiellement le même produit. La qualité du logiciel doit être élevé parce que tant de gens en dépendent (pas moins les développeurs eux-mêmes). Pour cette raison toutes les questions importantes a donné lieu à une nouvelle vérification -. Soit de façon automatisée ou manuelle

En conséquence, le processus de fourniture de logiciels devient de plus en plus lourde. Donc, cela nécessite plus de développeurs qui ... eh bien vous pouvez le voir est un cercle vicieux.

Nous avons maintenant un problème avec la diffusion des logiciels rapidement -. Le délai même de changer une ligne de code pour un problème très grave est au moins un jour

Quelles techniques utilisez-vous pour accélérer la fourniture de logiciels dans une grande organisation, alors que la qualité des logiciels en maintenant?

Était-ce utile?

La solution

Je travaille aussi dans une grande et lourde organisation. J'ai eu du succès la mise en œuvre de plusieurs développement logiciel agile méthodes, mais il y a deux en particulier que je ont trouvé particulièrement utile.

développement itératif et incrémental - Gardez votre cycle de développement court et serré. À travers une grande équipe, si de nombreuses modifications sont apportées entre les deux versions, vous pouvez vous retrouver dans un cauchemar d'intégration.

Les grandes entreprises se penchent vers les grands plans de projet avec des lignes de temps longues de développement. Combattre cela. La planification d'un projet sur une année entière n'a pas de sens quand votre perception tout pourrait changer après les deux premières semaines de développement. État de vos parties prenantes pour se habituer à l'idée de faire de petites versions supplémentaires et d'adaptation aux exigences en constante évolution.

Tests unitaires automatisés - Ceci est une excellente façon de vous assurer libérez le logiciel de qualité. Les pires bugs sont causés par des changements de code apparemment innocentes qui ont des conséquences non intentionnelles ailleurs. tests unitaires complets sont peut-être la meilleure façon d'attraper ce genre de bug. Si vous pouvez passer à essai moteur de développement ou développement axé sur le comportement , encore mieux.

Toute grande organisation va avoir des développeurs médiocres. Il est un fait de la vie. les tests unitaires automatisés est une excellente façon de garder un œil sur eux. Un de vos meilleurs développeurs d'écrire leurs tests unitaires pour eux. Vous aurez l'assurance que au moins leurs œuvres de code (même si elle est moche).

Autres conseils

Il y a plusieurs façons d'améliorer le processus, mais l'élément clé est modularité . En séparant clairement les responsabilités (en code et dans l'organisation) et la définition des interfaces claires et cohérentes, une grande équipe peut travailler autant de petites équipes tous liés ensemble.

Wise, mais sombres paroles:

Quelque chose que le travail pourrait:

organiser le projet de sorte qu'il y a une application de base construite par une ou deux personnes, de préférence actionnés par l'intermédiaire d'une langue. Ensuite, laissez tous les programmeurs soient efficacement utilisateurs du noyau, par un codage dans cette langue.

Je pense à des produits à base de langue: SAS , < a href = "http://en.wikipedia.org/wiki/S_%28programming_language%29" rel = "nofollow noreferrer"> S / R , Matlab , etc.

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