Quelles sont les industries à développer le logiciel la plus haute qualité? Qualité la plus basse? Pourquoi? [fermé]

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

  •  24-10-2019
  •  | 
  •  

Question

D'après votre expérience, de ces industries qui développent des logiciels personnalisés à usage interne tels que les entreprises de services financiers, ceux qui produisent des logiciels de meilleure qualité mesurée des taux de défaut et, qualitativement, facilité d'entretien à long terme?

Ce qui contribue le plus à cette réalisation de meilleure qualité? Est-ce en raison de meilleures pratiques de développement de logiciels tels que davantage l'accent sur les essais ou les spécifications? Les développeurs qui comprennent mieux les outils ou qui sont forts solveurs problème? Une meilleure communication entre les membres de l'équipe?

Sur le revers, quelles industries pensez-vous produire le logiciel de qualité le plus bas? Pourquoi?

Était-ce utile?

La solution

Ceci est une question très complexe. Alors que la NASA offre certainement un code de haute qualité pour les systèmes critiques de la vie ou des systèmes robotiques qui doivent fonctionner à de grandes distances (pensez du logiciel récent correctif sur Voyager 2, treize heures-lumière sur de la Terre), la qualité de la NASA ne vient pas pas cher , ou rapidement. Ligne pour la ligne, il est probablement le logiciel le plus cher dans l'industrie.

Votre demande de rapports de base dans une entreprise n'a pas besoin de ce genre de qualité. Il n'est pas rentable. Il y a plusieurs façons d'améliorer la qualité, et ils varient dans le coût de simple et pas cher (normes de codage) à forte intensité de ressources, difficile et prend du temps énormément (écrit, la preuve mathématique formelle de correction sur chaque méthode).

outils de gestion de projets tels que l'évaluation des risques, post-mortem du projet, et l'amélioration continue peut aider une organisation à arriver à une suite de pratiques de qualité appropriée.

Sans pointer du doigt une industrie spécifique, je dirais que la plupart des pratiques destructrices, en termes de qualité, est la pression du temps. Rien n'induit un programmeur d'écrire du code bâclé autant que serré, les délais artificiels.

Quelles sont les conditions pour une meilleure qualité?

La communication est cruciale. Chaque développeur de l'équipe doit savoir ce que tout autre développeur travaille, au moins dans une large portée.

En second lieu, une compréhension que la qualité commence le jour où le projet est accepté. Les exigences doivent être comprises et validées. Les facteurs clés comprennent en vous assurant que les exigences d'identifier le problème à résoudre, plutôt que d'utiliser une solution proposée pour éviter la définition du problème; font les exigences sont suffisamment sûres mesurables et spécifiques que les deux développeurs et clients seront en mesure de reconnaître qu'une solution répond aux exigences; en veillant à ce que les exigences sont clairement communiquées à tous les consommateurs d'exigences, y compris les développeurs, testeurs, rédacteurs techniques, le personnel de soutien et les gestionnaires. La qualité est mieux mesurée par rapport aux exigences clairement définies; si vos besoins sont mal définis, alors la qualité est au mieux-hap danger.

Les commentaires sont cruciales. Pas seulement des revues de code, mais l'analyse des besoins, des dessins, et peut-être plus important encore, les plans de test. Le rôle des tests est de vérifier que les exigences ont été respectées. Vous ne pouvez pas tester mauvaises ou exigences inexistantes.

Et qui mène à la compréhension du rôle des tests. Vous ne pouvez pas tester la qualité dans un produit. Le test peut vérifier la qualité. Les tests peuvent trouver des défauts et de vérifier qu'ils ont été fixés. Mais si les pratiques de qualité ne sont pas respectées au point que le test commence, le test ne peut pas résoudre ce problème.

Alors que je ne suis pas fan du modèle de développement de chute d'eau, je pense que le développement agile peut prendre les choses trop loin à l'autre extrême, et peut facilement être abusé de façon que la qualité de mal. Je pense que scrum aide à atténuer certains des problèmes de agile; scrum favorise la communication au sein de l'équipe, et il reconnaît que les estimations ne sont que des suppositions éclairées qui peut être affiné l'amélioration des connaissances.

Autres conseils

J'ai toujours aimé "Ils écrivent le Right Stuff" qui détaille le processus de développement de logiciels pour les entrepreneurs de la NASA.

logiciel navette est certainement l'un des derniers endroits que vous souhaitez voir votre bug persiste!

Sur le revers, quelles industries pensez-vous produire le logiciel de qualité le plus bas? Pourquoi?

Je dirais que le web. La plupart du temps, car il est extrêmement facile à déployer, de nombreuses mises à jour / corrections peuvent être effectuées sans notification client (ou entrée). Il semble y avoir une mentalité beaucoup plus détendue que par rapport à, disons, boîtes de jeux.

Il va falloir aller de l'avant et de dire les banques écrivent le pire de code - ils ont besoin de toutes sortes de solutions personnalisées, mais l'écriture de code ne sont pas leur objectif principal, ils ont tendance à aller avec « faire fonctionner en quelque sorte ». Combinez cela avec le traitement de code comme un widget, vous pouvez avoir fait en l'expédiant hors au plus bas soumissionnaire, les choses qui sort peut être vraiment grincer des dents dignes.

Bien sûr, varie de banque à banque et une organisation à l'intérieur desdites banques, mais dans l'ensemble, je ne vois pas beaucoup de code de qualité en sortant. Comme quelqu'un qui a travaillé avec les banques pendant 10 ans, je me considère comme un expert sur le logiciel bancaire merdique:)

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