Question

Ce qui ne les ingénieurs en logiciel rencontre après l'autre stressfull de presse?Eh bien, la première chose que nous rencontrons dans notre groupe sont les bugs que nous avons publié à l'air libre.Le plus gros problème que nous avons, comme les ingénieurs en logiciel de rencontrer après un stressfull version est code spaghetti, aussi appelé le grosse boule de boue.

Le temps et l'argent pour chasser la perfection sont rarement disponibles, et ils ne devraient pas l'être.Pour survivre, nous devons faire ce qu'il faut pour obtenir notre logiciel de travail et hors de la porte sur le temps.En effet, si une équipe termine un projet avec de temps à perdre, aujourd'hui, les gestionnaires sont susceptibles de prendre cela comme un signe d'accorder moins de temps et d'argent ou de moins en moins de gens la prochaine fois.

Vous devez fournir un logiciel de qualité, à temps et dans le budget

Coût:L'Architecture est un investissement à long terme.Il est facile pour les gens qui paient les factures de le rejeter, à moins qu'il y est tangible immédiat des prestations, notamment les déductions fiscales, ou à moins que le surplus d'argent et de temps arrive à être disponibles.Tel est rarement le cas.Le plus souvent, le client a besoin de quelque chose de travail d'ici demain.Souvent, les personnes qui, de contrôler et de gérer le processus de développement tout simplement ne pas considérer l'architecture comme un problème urgent. Si les programmeurs savent que la fabrication est invisible, et les gestionnaires ne veulent pas payer pour cela de toute façon, un cercle vicieux est né.

Mais si c'était vraiment le cas, que chaque à long terme de projet logiciel serait finalement toujours conduire à une grosse boule de boue.

Nous savons que ne pas, toujours, se produire.Comment venir?Parce que la déclaration que les gestionnaires ne pas considérer l'architecture comme une préoccupation urgente est faux.Au moins aujourd'hui.Les gestionnaires dans le domaine de l'informatique savez très bien que la maintenabilité est la clé de l'entreprise.

entreprise devient fonction du type de données à la conduire.Les entreprises sont devenues dépend de façon critique sur leurs logiciels et des infrastructures informatiques.Il existe de nombreux systèmes essentiels à la mission qui doit être sur-le-air vingt-quatre heures par jour, sept jours par semaine.Si ces systèmes, les stocks ne peuvent pas être vérifiées, les employés ne peuvent pas être payés, les avions ne peuvent pas être acheminés, et ainsi de suite.[..]

Par conséquent, il est au cœur de l'entreprise à chercher des moyens pour maintenir les systèmes loin de la grosse boule de boue.Que le système est encore plus facile à maintenir.Que le système fonctionne réellement et que vous, en tant que programmeur peut prouver qu'il fait.Est-ce que votre manager vous demander si vous avez terminé votre codage aujourd'hui, n'est-elle vous demander si la libération, qui a des correctifs de A, B et C peut être fait aujourd'hui, ou fait-elle demander si le logiciel qui sera publié fonctionne réellement?Et vous l'avez prouvé que cela fonctionne?Avec quoi?

Maintenant pour ma question:

Quels moyens avons-nous de prouver notre gestionnaires et/ou les parties prenantes que notre logiciel fonctionne?Sont ces feux verts de notre logiciel-tests unitaires-il assez bon?Si oui, n'est ce pas que seulement prouver notre grand-ballon de boue est encore en train de faire ce que l'on attend d'elle?Que le logiciel est facile à gérer?Comment pouvez-vous prouver votre conception est de droite?

[Ajouté plus tard]

Chris Galets sa réponse ci-dessous est de mettre mon équipe sur la bonne voie.L'Assurance de la Qualité est certainement la chose que nous recherchons.Merci À Chris.Avoir une politique d'assurance qualité convenu avec les parties prenantes est que la conséquence logique de ce que mon équipe est à la recherche pour.

La question qu'on devrait tous être dans la politique d'assurance qualité?

  • Avoir que buildserver de course visible pour mon intervenants
  • Avoir le buildserver pas seulement de "construire", mais ajoutant les tests qui ont été le cadre de la politique d'assurance qualité
  • Ayant un accord de mes intervenants sur notre processus de développement (où les développeurs de l'examen de chacun de code fait partie d')
  • de plus..

Quelques informations supplémentaires:L'équipe, je suis à la pointe est de construire des services web qui sont consommés par d'autres équipes de développement logiciel.C'est pourquoi une rupture webservice est immédiatement coûtant de l'argent.Lorsque les développeurs de la presentationlayer de l'équipe, soit les testeurs ne peut pas aller de l'avant, nous sommes dans l'immédiat, le stress et ont pour corriger les bugs le plus tôt possible, ce qui à son tour plomb à rapide hacks..

[ ajouté plus tard ]

Merci pour toutes les réponses.C'est en effet sur la "confiance".Nous ne pouvons pas faire une version si le logiciel n'est pas approuvé par les parties prenantes, qui sont activement tester notre logiciel, en utilisant le site web qui consomme notre webservice.Lorsque des problèmes surgissent, la première question de nos testeurs, c'est:Est-il un servicelayer problème ou un presentationlayer problème?Qui dirige moi d'avoir une politique d'assurance qualité qui garantit que notre logiciel est ok pour les tests qu'ils font.

Donc, la seule façon que je peux maintenant envisager l'activation de la confiance avec les testeurs, c'est pour:- Parler avec l'actuelle équipe de test, rendez-vous sur les tests qu'ils sont en mesure d'exécuter manuellement (à partir de leur test de script et scénario) et assurez-vous que notre équipe a les tests unitaires-tests déjà vérifié à l'encontre de notre webservice.Que serait un bon point de départ pour un "signe-off" avant de nous faire un communiqué que le presentationlayerteam doit intégrer.Il va prendre un certain effort de préciser que la création de tests automatiques pour tous ceux scénario va prendre un certain temps.Mais il va certainement être utile pour s'assurer de ce que nous construisons est vraiment en train de travailler.

Était-ce utile?

La solution

Vous ne pouvez pas le prouver au-delà de la portée des tests, et à moins qu'il y est un pare-balles spécification (ce qui ne l'est jamais), les tests ne jamais prouver quoi que ce soit au-delà de l'évidence.

Ce que vous pouvez faire en tant qu'équipe, l'approche de votre logiciel de conception de manière responsable et ne pas céder à la tentation d'écrire du mauvais code pour plaire gestionnaires, exigeant des ressources nécessaires et des contraintes de temps, et le traitement de l'ensemble du processus comme beaucoup comme un métier comme un travail.Les meilleurs sculpteurs de la renaissance connaissait personne n'aurait pu voir le dos des statues à être placés dans les coins de cathédrales, mais tout de même pris l'effort de s'assurer qu'ils n'étaient pas à vendre eux-mêmes à court.

Comme une équipe, la seule façon de prouver votre logiciel est fiable est de construire une piste d'enregistrement:faire les choses correctement dès le début, corriger les bugs avant la mise en œuvre de nouvelles fonctionnalités, ne cédez jamais à la rapide hack fixer, et assurez-vous que tout le monde partage le même enthousiasme et de respect du code.

Autres conseils

Je fais partie d'une équipe travaillant sur un projet d'envergure pour une non gouvernementales client.Le premier module de la phase 1 a été une catastrophe énorme, l'équipe a été géré par les nations unies, il n'y avait pas une équipe de contrôle qualité, et les développeurs n'étaient pas motivés pour travailler mieux.Au lieu de cela, le gestionnaire n'arrêtait pas de crier et de déduction de salaire pour les personnes qui na pas de travailler des heures supplémentaires!!

Le client, hein, ne pas demander à ce sujet, ils ont été vraiment énervé, mais ils sont restés avec notre entreprise, car ils savent que personne n'comprendre l'entreprise, comme nous le faisons.

Quelle a donc été la solution:

  • Première chose a séparé la gestion des programmeurs, et de mettre un sympathique chef d'équipe.
  • Deuxièmement, obtenir un qualifié de l'équipe QA.Dans les premières semaines, des bugs ont été en 100s.
  • Troisièmement, mettre 2-3 développeurs que le soutien de l'équipe, la responsabilité n'est pas de faire de toute nouvelle tâche, il suffit de corriger les bugs, de travailler directement avec l'assurance de la qualité.
  • Quatrième, de motiver les gars, parfois, ce n'est pas l'argent ou supplémentaires, les vacances, parfois, un bon mot sera parfait.Petit exemple, après avoir travaillé 3 jours en ligne pour près de 15 heures par jour, le chef d'équipe a fait une note pour le gestionnaire.Deux jours plus tard, j'ai reçu une lettre du chef de la direction pour me remercier de mes efforts et de me donner 2 jours de vacances.

Nous allons bientôt remettre le 4ème module du système, et comme l'un de l'équipe de soutien que j'ai pu dire sa au moins 95% sans bug.Ce qui est un saut énorme de nos premiers modules.

Aujourd'hui, nous avons une puissante équipe de développement, qualifié de QA et expert bug fixateurs.

Désolé pour la longue histoire, mais c'est comment notre équipe (pendant 4 mois) s'est avéré le gestionnaire et le client que nous sommes fiables, et juste besoin de le droit de l'environnement.

Mais dans tous les cas triviaux, vous ne peut pas "prouver" que votre logiciel est correct.

C'est le rôle de User Uncceptance Tressante:pour montrer qu'un niveau acceptable de l'utilité a été atteint.

Je pense que c'est mettre la charrue avant les bœufs.C'est l'équivalent d'un pied soldat essayant d'expliquer à la général ce de la bataille des manœuvres et des raisons de protection de vos flancs est important.Si la gestion ne peut pas faire la différence entre un code de qualité et une grosse boule de boue, vous allez toujours à la fin de fournir une grosse boule de boue.

Malheureusement, il est complètement impossible de "prouver" que votre logiciel fonctionne sans bug (windows xp publicités toujours me gênait en annonçant "le plus sûr de la version de windows jamais", c'est impossible à prouver, lors de la libération).C'est à la gestion de configuration et d'appliquer un processus de contrôle qualité et d'établir des statistiques quant à ce que la livraison d'un produit ressemble réellement et quel est le niveau de bugs ou des comportements inattendus est acceptable dans la version finale.

Cela dit, si vous êtes une petite équipe et de définir votre propre QA politiques avec peu d'apport de la gestion, je pense qu'il serait avantageux d'en écrire un de base des processus de contrôle qualité et de gestion de signer à ce sujet.Pour nos applications web nous avons actuellement 4 navigateurs, et gestion le sait -- ainsi, lorsque l'application des pauses dans quelque obscure navigateur du mobile, tout le monde comprend clairement que ce n'est pas quelque chose que nous avons conçu l'application à l'appui.Il fournit également un bon effet de levier pour l'embauche supplémentaire de test ou de développement des ressources lorsque la direction décide qu'il veut commencer à faire des tests pour x.

Comme Billy Joel une fois, dire "C'est toujours une question de confiance."

Vous devez comprendre que le développement de logiciels est de la "magie noire" de tous, sauf de ceux qui écrivent des logiciels.Il n'est pas évident (en fait, tout à fait contre-intuitive) pour le reste de votre entreprise que beaucoup de vos initiatives de conduire à l'augmentation de la qualité et de réduire le risque de dépassement de temps et/ou de budget.

La clé est de construire un climat de confiance, de respect de la relation entre le développement et d'autres parties de l'entreprise.Comment voulez-vous construire cette confiance?Eh bien, c'est l'un de ces copain-copain de personnes des problèmes...vous aurez besoin d'expérimenter un peu.J'utilise les outils suivants souvent:

  1. La visibilité du processus - assurez-vous que tout le monde sait ce que vous faites et la façon dont les choses progressent.Aussi, assurez-vous que tout le monde peut voir l'impact et les changements qui se produisent au cours du développement.
  2. Souligner le peu de victoires - construire une relation de confiance, point de sortir quand les choses s'est passé exactement comme vous l'aviez prévu.Essayez de trouver des situations où vous avez eu à faire un jugement d'appel et d'utiliser le terme "atténuer le risque" avec votre gestion.
  3. Ne dites pas, "je vous l'avais dit." - disons que vous avez dit à la direction que vous avez besoin de 2 mois pour la réalisation de certaines tâches et ils disent, "eh bien, vous ne disposez que de trois semaines." Le résultat n'est pas susceptible d'être bon (en supposant que votre estimation est précise).Faire de la gestion de conscience du problème et de documenter toutes les choses que vous aviez à faire pour essayer de respecter la date limite.Quand la qualité est montré pour être pauvre, vous pouvez travailler à travers les questions qui vous fait face (et enregistré) d'une manière professionnelle plutôt que de pointer du doigt et en disant "je vous l'avais dit."

Si vous avez une bonne relation avec votre responsable, vous pouvez suggérer qu'ils ont lu quelques livres spécifiques pour le développement de logiciels afin qu'ils puissent comprendre les meilleures pratiques de l'industrie.

Aussi, je tiens à souligner à votre patron qui ne vous permet pas d'agir en tant que développeurs de logiciels professionnels est nuire à votre carrière.Vous voulez vraiment travailler quelque part qui vous permet de vous développer professionnellement plutôt que quelque part qui fait de vous un hacker.

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