web-dev-qa-db-fra.com

Trop de contrôle de la version et de suivi des bogues par changement?

Je travaille à un endroit qui est cvs-fou et bugzilla-noix.

  1. Il y a tellement de branches de chaque libération que l'on ne peut pas les compter. Tout le monde est constamment en train de se vanter.

  2. Il n'y a pas de fluidité à ce poste. Tout se sent SECK-STEP . Il faut 25 étapes même pour une chose simple. Ce n'est pas comme étant sur une ligne de production d'usine: c'est comme mettre en place une usine moi-même tous les jours.

Exemple de situation:

Pour réparer un seul bogue, j'obtiens d'abord une nouvelle machine virtuelle propre. Ensuite, je crée une succursale pour cette solution de bogue unique, basée sur une autre branche décrite dans le rapport de Bugzilla. J'installe la succursale sur la machine, définissez-la. Je corrige le bug. Je vérifie, laissez-la et la machine pour que d'autres testeront. Ensuite, je dois entrer dans le logiciel de contrôle de bug et expliquer ce que j'ai fait et écrire un cas de test, avec toutes les étapes. Finalement, quelqu'un d'autre la fusionne avec une libération.

Peu importe à quel point le bogue est petit, je dois faire toutes ces choses. Parfois, les gens combinent des travaux sur plusieurs bugs, mais comme je l'ai dit, il y a beaucoup de branches que cela n'est guère possible.

À tout autre travail, j'irais juste entrer et réparer le bogue. Je me souviens même à peine d'utiliser SCM, bien que chaque travail que j'ai utilisé ait utilisé: c'est parce que dans tous les autres travaux, ils l'ont maintenue sur le chemin .

Y a-t-il un point sur lequel le processus gagne dans le chemin et devient une fin à elle-même? Est-ce que même l'ingénierie?

50
Ponk

Y a-t-il un point auquel le processus gagne dans le chemin et devient une fin à elle-même?

Les processus lourds sont courants, malheureusement. Certaines personnes - en particulier la direction - imaginent religieusement que processus Produire des produits. Donc, ils surviennent aux processus et oublient que c'est vraiment une poignée de personnes actives et intelligentes qui en fait Créer les produits. Pour la haute direction, il est effrayant de penser même que leur entreprise est entre les mains de quelques geeks, de près les yeux de la réalité et de penser à leur cher "processus", ce qui leur donne l'illusion de contrôle.

C'est pourquoi les startups agiles avec une poignée de bons ingénieurs peuvent battre de grandes entreprises établies, dont les travailleurs dépensent 95% de leur énergie sur le processus et les rapports. Quelques exemples de nouvelles start-up qu'une fois a battu leurs concurrents et/ou ont créé des marchés complètement nouveaux:

  • Apple (Apple j'ai été créé par 1 ingénieur; il y avait 3 hommes à la société à l'époque).
  • Google (créé à l'origine par 2 programmeurs).
  • Facebook (1 - Effort homme à l'origine).
  • Microsoft (2 - Société homme en 1975).

On pourrait facilement dire que celles-ci ne sont que des valeurs aberrantes, des exceptions extrêmes et de faire quelque chose de grave, vous feriez mieux d'être une grande entreprise établie. Mais la liste continue. Et sur. C'est embarrassant longtemps. Presque toutes les sociétés majeures d'aujourd'hui ont commencé comme une boutique de garage, qui a fait quelque chose d'inhabituel. Quelque chose d'étrange. ils le faisaient mal. Pensez-vous qu'ils le faisaient selon le processus ?

89
Joonas Pulakka

Les entreprises souffrent généralement de ce que j'aimerais appeler le dilemme de flexibilité de contrôle. Les règles, les structures et les frais de vue bureaucratiques les moins faciles à accomplir (c'est aussi plus amusant). Cependant, il est tout aussi facile de faire des "mauvaises" choses comme "bonnes" choses. Cela signifie que vous n'êtes bien que si vous avez des employés qualifiés qui font des erreurs non critiques.

D'autre part, si vous avez beaucoup d'employés bas à semi-qualifiés et/ou que le coût des erreurs est trop élevé (comme le risque de débris de navette spatiale sur l'hémisphère nord) Les entreprises ont tendance à empiler de plus en plus de "règles" "et" processus "pour les essayer de les minimiser.

Le seul problème est que les frais généraux cumulés de ces processus rendent difficilement à accomplir quoi que ce soit, ce qui entraînera les employés les plus talentueux quittant la société. Cela entraîne encore plus de compétences moyennes, nécessitant encore plus de processus et de bureaucratie. Donc, la spirale de la mort continue jusqu'à ce que quelque chose de radical se produise ou que la société devienne ventre.

Si vous vous trouvez lors d'une entreprise qui semble avoir dépassé le point de non retour de cet aspect, vous pouvez vous résoudre à "ne pas se soucier de" de votre travail (ce qui est le plus resté a fait) ou de faire de l'enfer de là avec votre âme intacte :)

Si la société n'a pas disparu trop loin et que vous avez les moyens, vous pouvez essayer d'inverser le parcours à travers une détermination et une volonté. Méfiez-vous que cela puisse prendre une quantité considérable de travail et d'énergie personnelle sans garantie de succès, alors soyez certain que cela en vaut la peine. Parfois, il vaut mieux couper sa perte et se comporter une expérience plus riche.

21
Homde

Cette question contient vraiment deux questions, qui doivent être traitées séparément:

Pourquoi certaines équipes ont-elles un processus de développement strict?

La réponse simple est parce que s'ils ne le font pas, des erreurs se produisent. Erreurs coûteuses. Cela est vrai pour le développement et il est vrai pour le reste du domaine informatique également (Sysadmins, DBAS, etc.).

C'est très difficile pour beaucoup de développeurs et de travailleurs informatiques de comprendre car la plupart d'entre nous n'ont jamais travaillé sur l'un des "extrêmes" - des sociétés de style fortune avec au moins une douzaine de développeurs et de processus stricts à suivre, ou Petits micro-isvs ou même les travaux indépendants où les gens ne baissent tout simplement pas mal, ni le coût d'une baise est faible.

Mais si vous avez déjà vu une entreprise entre ces phases - même une entreprise dotée d'un personnel informatique brillant et talentueux - vous comprendrez les dangers de ne pas avoir de processus ou d'avoir un processus à moitié considéré. Vous voyez, la communication entre le personnel souffre d'une explosion combinatoire problème; Une fois que vous avez atteint le niveau d'environ 6 à 10 développeurs sur une seule équipe, la principale cause de défauts majeurs ou critiques n'est pas un manque de talent ou de savoir-faire, mais plutôt un manque de communication.

Alice demande lundi matin et décide qu'il va bien de faire une chirurgie reconstructive dans le coffre, car personne d'autre ne travaille sur cette partie. Bob arrive une heure plus tard, devenue de ses vacances et plein d'énergie et décide qu'il va mettre en œuvre une nouvelle caractéristique majeure dans la même zone, et pourquoi prendre la peine d'une succursale, car personne ne touche jamais ce code de toute façon? ALICE paient donc cette "dette technique", BOB met en œuvre sa caractéristique tueur qui a été sur le brûleur arrière pendant 6 mois et lorsqu'ils vérifient enfin leur code (juste avant la fermeture du vendredi, bien sûr!) L'équipe doit rester en retard et essayer de travailler dans l'enfer cauchemard des conflits qui continuent de vivre comme des insectes et des régressions au cours des deux prochaines semaines.

Alice et Bob ont tous deux un excellent travail sur les tâches de codage, mais ils ont tous deux commencé avec une mauvaise décision ("Quel est le pire qui pourrait arriver?"). Le responsable de l'équipe ou le chef de projet les conduit à travers un post mortem et une liste de contrôle pour empêcher cela de se produire à nouveau:

  • Les check-ins doivent être quotidiens pour minimiser l'impact des conflits;
  • Les changements qui prendront considérablement plus d'un jour doivent être effectués sur des succursales;
  • Toutes les tâches significatives (y compris les travaux non-fonctionnalités telles que le refactoring) doivent être correctement suivis et attribués dans le suivi de bogues.

Je vais parier que, à beaucoup d'entre nous, ce "processus" semble juste comme un bon sens. C'est vieux chapeau. Mais saviez-vous que beaucoup d'équipes plus petites ne font pas cela? Une équipe de deux manières pourrait ne pas même se déranger avec le contrôle de la source du tout. On s'en fout? C'est honnêtement pas nécessaire. Les problèmes ne commencent que lorsque l'équipe grandit, mais le processus ne le fait pas.

Bien entendu, l'optimisation des processus est comme une optimisation des performances; Il suit une courbe exponentielle inverse. La liste de contrôle ci-dessus peut éliminer 80% des défauts, mais après la mise en œuvre, vous constatez qu'une autre chose explique le restant 80% des défauts. Dans notre exemple fictif-mais familier, il peut s'agir d'erreurs de construction dus à différents environnements de construction, ce qui est à son tour due au fait qu'il n'y a pas de matériel standard et de développeurs utilise des bibliothèques open source qui sont mises à jour toutes les 2 semaines.

Vous avez donc trois choix: soit (a) normaliser le matériel et restreindre sévèrement l'utilisation de la bibliothèque 3ème partie, qui est coûteuse et peut nuire de manière significative de manière significative, ou (b) Configurer un serveur de construction, qui nécessite une coopération du groupe Sysadmin et un Développeur à temps plein pour le maintenir, ou (c) Laissez les développeurs se faire eux-mêmes en distribuant une machine virtuelle standard et en disant aux développeurs de s'appuyer sur cela. Clairement (b) est la meilleure solution à long terme mais (c) a un meilleur équilibre à court terme de la fiabilité et de l'opportunité.

Le cycle continue et allumé. Chaque "politique" que vous voyez a généralement été instituée pour résoudre un problème réel. Alors que Joel Spolsky a écrit tout le chemin en 20 (sur un sujet complètement différent de vous, mais pertinent néanmoins):

Lorsque vous allez dans un restaurant et que vous voyez un signe qui dit "aucun chien autorisé", vous penserez peut-être que le panneau est purement proscriptif: M. Restaurant n'aime pas les chiens autour, alors quand il a construit le restaurant qu'il a présenté ce signe.

Si c'était tout qui se passait, il y aurait également un signe "sans serpents"; Après tout, personne n'aime les serpents. Et un signe "pas d'éléphants", parce qu'ils brisent les chaises quand ils s'assoient.

Le Real Raison que la signature est historique: c'est un marqueur historique qui indique que les personnes avaient l'habitude d'essayer de ramener leurs chiens au restaurant.

C'est la même chose dans la plupart (je ne dirai pas toutes les équipes de logiciels: des stratégies telles que "Vous devez ajouter un étui à tester pour chaque correctif de bogue" indique presque invariablement que le L'équipe a toujours eu des problèmes de régressions. Les régressions sont un autre de ces problèmes qui sont le plus souvent dus à une panne de communication plutôt qu'à une incompétence. Tant que vous comprenez la politique, vous pourrez peut-être prendre des raccourcis légitimes (par exemple, j'ai dû réparer 6 petits bugs, mais ils étaient tous dans la même caractéristique, je peux donc réellement écrire un cas d'essai pour les 9 d'entre eux).

Cela explique pourquoi les processus sont là, mais ce n'est pas toute l'histoire. L'autre moitié est:

Pourquoi le processus est-il si difficile à suivre?

C'est en fait la question plus simple à répondre: c'est parce que l'équipe (ou sa gestion) est axée sur Résultats répétables et minimiser les défauts (comme ci-dessus) mais 't donné une attention suffisante sur Optimisation et Automatisation de ce processus.

Par exemple, dans la question initiale, je vois plusieurs problèmes:

  • Le système de contrôle de révision (CVS) est l'héritage des normes actuelles. Pour NOUVEAU Projets, il a été remplacé presque entièrement par Subversion (SVN), qui est en elle-même de devenir rapidement éclipsé par des systèmes distribués tels que Mercurial (HG). La commutation à HG ferait branchement et fusionnerait loin Plus simple, et même dans mon exemple hypothétique ci-dessus, l'exigence de validation quotidienne deviendrait beaucoup moins douloureuse. Le code n'a même pas à compiler, car le référentiel est local; - En fait, les développeurs Laziers pourraient même automatiser cette étape s'ils le souhaitaient, la mise en place d'un script de déconnexion pour valider automatiquement les modifications apportées au référentiel local.

  • Aucun temps n'a été utilisé automatiser le processus de la machine virtuelle. L'ensemble du processus d'obtention, de configuration de la configuration et de téléchargement de sources/bibliothèques sur une machine virtuelle pourrait être automatisé à 100%. Il pourrait s'agir d'un processus sans surveillance que vous exécutez sur un serveur central quelque part pendant que vous travaillez sur le correctif de votre ordinateur sur votre machine locale (et utilisez uniquement les VM pour assurer une construction propre).

  • D'autre part, à une certaine échelle, la solution VM-Per-Developer commence à devenir idiote et vous devez simplement avoir un serveur d'intégration continu. C'est là que les avantages de la productivité réelles sont entrés, car il libère (principalement) les développeurs individuels de devoir s'inquiéter des constructions du tout. Pas besoin de s'inquiéter de la mise en place de machines virtuelles propres car le serveur de construction est toujours Clean.

  • Le libellé de la question ("cas de test avec toutes les étapes") implique qu'il y a quelque chose de manuel Tests en cours. Encore une fois, peut travailler pour les petites équipes avec une charge de travail relativement faible, mais n'a aucun sens à une plus grande échelle. Les tests de régression peuvent et doivent être automatisés; Il n'y a pas de "étapes", juste une classe ou une méthode ajoutée à la suite de tests d'unité/d'intégration.

  • Inutile de dire, passant de Bugzilla à un nouveau système de suivi de bogues (meilleur) ferait cette partie de l'expérience beaucoup moins douloureuse.

Les entreprises ne sont pas nécessairement pas cher ou stupide Juste parce qu'ils n'ont pas résolu ces problèmes. Tout ce qu'ils savent, c'est que le processus actuel fonctionne, et dans certains cas, ils sont au risque d'inverser et de réticence à changer quoi que ce soit. Mais vraiment, ils doivent juste être convaincus de Avantages.

Si les développeurs ont passé une semaine à suivre leur temps sur toutes les tâches non codantes, vous pourriez facilement l'ajouter, montrer la gestion qui (par exemple) un investissement de 100-capital zéro, 100-homme dans une mise à niveau de Mercurial serait Éliminer jusqu'à 10 heures d'homme par semaine sur la résolution des conflits de fusion, alors c'est un gain de 10 semaines et ils accepteront presque certainement cela. Même idée avec les serveurs de construction (CI) ou un meilleur suivi des bugs.

Pour récapituler: les équipes n'ont pas encore fait ces choses parce que Personne n'a convaincu de la direction qu'il est assez important de faire aujourd'hui. Alors prenez l'initiative et transformez-la en une équation coûts-avantages; Découvrez combien de temps est dépensé sur les tâches qui pourraient être simplifiées/automatisées avec un risque minimal et calculer le point de rupture et le paiement éventuel d'un nouvel outil ou technique. Si elles Néanmoins N'écoute pas, vous savez déjà quelles sont vos options restantes.


Si les développeurs passaient une semaine à suivre leur temps sur toutes les tâches non codantes, vous pourriez facilement l'ajouter, montrer la gestion ... et la transformer en une équation coûts-avantages, etc.

La partie ci-dessus semble en expansion ultérieure.

Je peux confirmer que cela fonctionne. Les programmeurs ont utilisé peu de fois dans l'un des projets que j'ai travaillé et chaque fois qu'il a conduit à des modifications souhaitées.

Mon impression globale était que si cela est fait correctement, cette astuce peut er annuler Des quantités assez lourdes d'ignorance de la gestion et d'inertie.

J'aimerais noter que cette entreprise où nous (développeurs) devait recourir à ce type [~ # ~ # ~ # ~] L'approche était très immature. À des vendeurs de logiciels plus expérimentés, j'ai vu des choses comme celle-ci étant principalement faites par les gestionnaires eux-mêmes. Et en règle générale, ils étaient plus productifs à cela que les programmeurs américains. Beaucoup plus productif.

15
Aaronaught

Si vous travaillez dans une industrie fortement réglementée, une raison pour laquelle le processus est lourd: un jour, vous pourriez être audité et vous devrez montrer tous vos dossiers à expliquer qui a résolu ce bogue, comment, qui, qui l'a examiné, qui a examiné Il, etc ...

Donc, cela pourrait être un mal nécessaire.

D'autre part, s'il n'y a pas de justification de ce processus, à part peut-être un manque de confiance de la direction, vous devriez essayer de parler à votre responsable et de lui dire comment vous pourriez gagner du temps (et donc de l'argent) pour la société.

Personne dans son esprit droit qui refuse un processus plus rapide et meilleur s'il est correctement expliqué.

Mais soyez prêt à défendre votre argument pour justifier le changement.

9
Xavier T.

La moitié du problème est que vous utilisez des outils obsolètes dans un processus, qu'ils ne sont pas conçus pour. Ce que vous décrivez est très facile d'avoir dans les DVCs modernes, sans tâche fastidieuse de créer une branche par bogue.

Un autre problème est que vous n'êtes clairement pas dans la ligne de travail que vous aimez. Vous travaillez en maintenance, pendant que vous souhaitez le développement. Il y a peu de choses qui peuvent être faites à ce sujet en plus de changer le travail.

8
vartec

La discipline de l'ingénierie du logiciel est intrinsèquement "Tout sur le processus" afin de se demander s'il "est devenu" de cette façon est un peu absent le point.

Bien que la plupart des programmeurs préfèrent être dérangés du minimum de processus absolu, dans la mesure où certains défendront des méthodologies agiles, même lorsqu'ils ne résolvent pas les problèmes de leur organisation confrontés, il est entièrement possible une entreprise à décider d'utiliser des processus "lourds" pour motifs de l'entreprise saines, tels que "le client la demande". Ceci est courant si vos clients sont des entreprises de fortune 500, des universités ou des agences gouvernementales. Les récompenses de la vente à ces clients peuvent être suffisamment excellentes que cela justifie les frais généraux de processus ajoutés.

Votre entreprise est un point de données et il est impossible de généraliser votre expérience dans une tendance à l'échelle de l'industrie vers ou à l'abri des processus plus lourds. La vraie question est que l'équilibre fonctionne le mieux pour votre entreprise, vos produits, vos clients et vous, personnellement, en tant que programmeur? Si vous n'aimez pas travailler pour cette entreprise, insixez le changement ou obtenir un autre emploi.

8
kindall

De la Autre question J'ai vu de vous aujourd'hui, vous semblez assez mécontent de votre travail. Vous n'avez pas été là depuis longtemps, vous pouvez simplement dire à votre superviseur que vous pensez avoir commis une erreur et il est temps que vous puissiez séparer les moyens plus tôt que prévu.

Si vous êtes bon à votre travail, vous n'aurez pas vraiment de temps très difficile en trouver un nouveau, et honnêtement, s'il n'existe pas de bonne raison pour que ce processus existe, j'envisagerais probablement de bouger aussi. L'utilisation de CVS du tout serait vraiment un potentiel pour moi, mais je demande toujours la question de contrôle source lors de l'entretien. De toute évidence, je ne peux pas connaître votre situation, et il peut être impossible de laisser un emploi si vous avez d'autres obligations.

6
Steve Rukuts

J'allais faire un bec sur la façon dont l'ingénierie logicielle est inondée de très mauvais programmeurs, mais la situation que vous décrivez est affreuse.

Dans mon expérience personnelle, une partie de ce " processus " que vous décrivez est accompagné avec la direction et l'administration du système étant complètement ignorant des inefficacités des systèmes qu'ils imposent aux programmeurs. Les exemples incluent la restriction du choix du système d'exploitation, la limitation du logiciel utilisé, l'accès à Internet, les privilèges administratifs de bureau personnels; Toutes ces choses sont essentielles au bon développement.

En outre, des exigences de compatibilité entre les "solutions magiques" employées par différentes branches d'entreprises. Les exemples incluent des bureaux principaux imposants de la source de source centralisée, des serveurs Outlook hors site et des directives de codage ou des langues qui pourraient ne pas être adaptées à tous les problèmes.

Pas beaucoup de plaisir à garder les roues de l'entreprise Juggernauts qui roulent, mais j'ai découvert que de petites bulles d'innovation, de créativité et de brillance existent dans certaines entreprises.

3
Matt Joiner

Vous travaillez probablement dans un Société . J'essaierais de trouver une société à la place de la société , où il compte ce que vous ne faites pas comment vous le faites.

Dans ma compagnie, nous avons aussi un "processus" (mais c'est très simple) .. Mais quand cela devient dans la façon dont je brise les règles et saute les étapes. Personne ne me dira jamais rien tant que je ne brisez rien en prenant des raccourcis parce que je reçois des résultats.

3
Thomas Bonini

Y a-t-il un point auquel le processus gagne dans le chemin et devient une fin à elle-même? Est-ce que même l'ingénierie?

Littéralement, la plupart ingénierie mettent ensemble des pièces bien établies dans une commande définie en réponse à un problème particulier. C'est très évident que si vous me demandez à un moi ce qu'ils font toute la journée. Vous êtes confondre en ingénierie avec l'architecture ou le développement de produits en phase précoce (dans n'importe quel domaine). J'ai deux observations sur votre question.

  1. Vous semblez avoir été assigné au travail de correction de bugs, pas d'architecture ou de conception.
  2. Vos collègues semblent avoir créé des solutions de contournement limitées (combinant Bug Fix VMS) pour les rendre plus efficaces, vous ne semblez pas suivre leur exemple sensible.

C'est simplement un fait que, dans toute entreprise constructive qui prend un grand nombre de personnes, certaines personnes deviennent la conception et un groupe plus vaste "obtenir" pour effectuer la mise en œuvre. Désolé, mais vous êtes dans ce deuxième groupe.

Au fur et à mesure que les autres commentateurs ont noté, CVS n'est pas le meilleur outil pour le poste de modèle de développement extrêmement ramifié, mais je note également que vous n'êtes pas responsable de la fusion ... alors ne vous inquiétez pas pour cela.

La plupart de vos plaintes semblent essentiellement être "Je ne veux pas tester, avant, pendant ou après le développement!" Décomposons vos pas, pointez par point.

  • Pour corriger un seul bogue, j'obtiens d'abord une nouvelle machine virtuelle propre et propre. Un environnement de test
  • Ensuite, je crée une succursale pour cette solution de bugs unique, en fonction d'une autre branche décrite dans le rapport de BugZilla. - Vous avez dupliquer l'environnement Le bogue a été trouvé dans ... Comment ce déraisonnable?
  • J'installe la branche sur la machine, définissez-la. Je corrige le bug. Je vérifie ça - le processus de base de développement
  • ... laissant-la et la machine pour que d'autres testeront. - Votre équipe de fusion veut probablement que cela puisse vérifier le correctif si la fusion se passe au sud.
  • Alors je dois entrer dans le logiciel de contrôle de bug et expliquer ce que j'ai fait - Si vous êtes dans un magasin qui ne le fait pas ... Pourquoi suivez-vous des bugs du tout?
  • et écrivez un étui à essai avec toutes les étapes. - Je pourrais avoir tort, mais cela semble être la direction de tous les "enfants cool" vont de toute façon
  • Finalement, quelqu'un d'autre la fusionne avec une libération. - et plusieurs des étapes ci-dessus sont faciles à faciliter leur travail

Quelqu'un d'autre devant vous appartient évidemment le triage de bogues pour s'assurer qu'un bug que l'on trouve n'est pas ré-fixé dans une autre version, ni cassé dans une version ultérieure (c'est ce que sont les cas de test pour).

La seule chose même inhabituelle inhabituelle ou excessive de ce processus est la chose VM. Il y a une chance équitable qui serait considérée comme raisonnable si nous savions quel domaine vous travaillez.

2
jkerian

Intéressant. Avez-vous des testeurs? Ils devraient faire une partie de cela. Je suis un et où je travaille, nous avons une solution décente.

Pour un défaut fonctionnel, comme vous expliquez, notre processus va comme ceci:

  1. Je teste le défaut dans un VM (rapporté par un client ou lors de mes tests exploratoires, ou W/E)
  2. Bug est trouvé/repro'd.
  3. Je crée le bogue. Les bogues incluent:
    • Repro complet, du point d'installation au point de voir le bogue.
    • Un lien vers un instantané de la VM (si je pense que le devira en aura besoin ... J'inspire de toute façon, juste au cas où ils le demanderont).
    • Informations système, tous les paramètres spéciaux que je devais faire.
  4. Ce bug est assigné au Dev. Pendant qu'ils travaillent sur un correctif I:
    • Créer un étui à essai
    • Écrire (ou convertir) le test manuel dans un test automatisé

Ensuite, j'attends une résolution et aidez la Dévier de quelque manière que ce soit à avoir besoin. Quand il revient comme résolu, je:

  1. Exécutez le boîtier de test automatisé et une version manuelle (parfois) pour confirmer le correctif.
  2. Fermez le bug.

TL; DR: Si vous n'avez pas de testeurs, alors vous en avez besoin. Si vous en avez, alors ils ne "font leur part".

2
Steven Evers

Je pense que la majeure partie du processus pourrait être automatisée, de sorte que la création de la machine virtuelle et de la branche (y compris le code de compilation, la configuration de la mise en marche, etc.) a tout été fait pour vous avant de commencer à travailler sur le bogue.

Décrivant ce que vous avez fait et comment il devrait être testé en vaut la peine pour tous les correctifs de bugs. J'ai trouvé écrire simplement le texte peut attraper des problèmes, car cela me fait penser au risque, etc.

Je pense donc que le processus peut être un peu "sur le dessus", mais que le vrai problème est le manque d'outils automatisés personnalisés pour prendre en charge le processus.

1
Ian

Yo Man, votre processus de pensée est juste en ce que vous avez décrit est complètement merdique et une véritable démonstration de la manière dont les choses peuvent être des logiciels. Voici la bonne nouvelle cependant, il y a tellement de sociétés qui pratiquent Agile de vrais esprits. La société que je travaille est une telle. Il y a beaucoup de nos jours et de la bonne nouvelle de cette journée.

Le temps que vous sentez que les choses ne sont vraiment pas juste sur votre lieu de travail, il y a deux choses que vous pouvez faire - soit vous pouvez influencer le changement positif ou laisser cet endroit et rejoindre un meilleur.

Les CVS ou tout système de gestion de configuration ne sont pas mauvais. Malheureusement, la façon dont il est utilisé, sans vraiment connaître son but, provoque cette douleur un peu dans la! @ # $ Pour l'ensemble de l'organisation.

Pour mieux comprendre ce que Agile est vraiment tout à propos, Peruse dans le livre, des "pratiques d'un développeur agile" de Venkata Subramaniam. C'est joliment écrit dans une langue facilement compréhensible.

Je vous souhaite bonne chance!

0
karthiks