Question

Lorsque vous travaillez sur des améliorations à une ligne existante d'application d'entreprise, pensez-vous qu'il est préférable de lots jusqu'à des changements dans de plus grands moins fréquents communiqués ou expédiez sans cesse de nouvelles fonctionnalités dans les plus petites versions? En supposant qu'il ya des mises à niveau matérielles ou les mises à jour de base de données, faites-vous ces changements avec les versions ainsi, ou les garder séparées?

Libérer tout ensemble a l'avantage qu'il ya moins de perturbation de l'entreprise, et moins en dehors des heures de travail invovled, mais tout problème que vous rencontrez plus tard pourrait être dû à la mise à niveau de base de données, le matériel, ou un certain nombre de modifications apportées au logiciel.

Libérer peu et rend souvent plus facile de localiser les problèmes résultant d'un rejet, mais conduit à plus de perturbations et plus de temps passé les tests de régression.

Vaut-il mieux?

Était-ce utile?

La solution

Voyez comment chaque version affecte les clients. Fréquentera petites versions les rendre plus heureux à cause de la résolution des problèmes critiques plus rapidement? Est-ce que cela améliorer vos ventes et de la réputation? Si elle soigneusement évaluer si ces avantages l'emportaient sur le travail supplémentaire effectué, sinon il suffit de suivre le chemin qui est plus pratique pour vous.

Autres conseils

Cela dépend vraiment de l'environnement de votre dans certains scénarios.

De nombreux clients : Vous voulez que tous les clients d'avoir le même communiqué, dans la mesure du possible. Il est beaucoup plus facile d'avoir anuel, semianual ou trimestriels de grandes versions, comme les tests et la coordination déploiement est très coûteux. Dans ce cas, j'inclure des changements db ainsi.

« infrastructure Big » : si vous travaillez dans un environnement de grande entreprise avec personell dédiée aux systèmes d'exploitation et bases de données, encore une fois le coût global d'une libération est grande et donc moins fréquentes versions plus grandes sont mieux <. / p>

Pour les courts, calculer les frais d'une libération au pouvoir de l'homme, interuption d'affaires, la coordination, l'expérimentation et la mettre en relation avec les avantages de chaque nouvelle solution de fonction ou bug.

J'ont généralement tendance à avoir 1-2 grandes versions par an et des corrections de bugs inbetween pour les bouchons d'exposition.

Je pense que la meilleure réponse est: un mélange des deux.

Par exemple, si vous avez ajouté des bonbons pour les yeux, ou fait le nom plus textbox « de ajaxy », ou peut-être dans un jetiez nouveau type de rapport - font ce que les versions « petits ». Libération anticipée, et la libération souvent possible.

Par contre, si vous avez modifié un processus faisant face à l'utilisateur de forcer les utilisateurs à « une nouvelle formation », ou si vous êtes exigeant des changements d'infrastructure massifs -. Aller pour un grand dégagement, et en faire le moins souvent possible

Comme vous l'avez dit, s'il y a peu ou pas de perturbation, faire aussi souvent que possible, vos utilisateurs seront plus heureux - et vous effectivement passer du temps moins sur les tests de régression, car il vous suffit de tester tout ce qui aux changements que vous avez fait.

Je pense que mieux travailler dans une grande libération et rafistoler que vous avez besoin pour résoudre les problèmes en bas de la ligne.

En tant que développeur vous avez besoin d'anticiper les problèmes et les pauses possibles dans votre système pour le rendre aussi robuste que possible. Cela signifie généralement beaucoup d'essais au préalable.

Voir également que l'utilisateur final ne peut pas vouloir payer pour les petits incréments du produit et ils peuvent aussi bien attendre une grosse mise à jour. Un bon exemple de ceci est quand je suis arrivé Adobe Photoshop, ils semblent sortir une nouvelle version chaque année donc je simplement attendu jusqu'à ce qu'il semblait que le moment était venu

Un plus petit nombre de communiqués signifie que vous serez trouver tous vos bogues à la fois. Il devient plus difficile de savoir quel changement de code qui a provoqué bug. Ensuite, vous avez plus d'un problème avec les bugs en cascade - un changement de code que vous a fait des mois a provoqué un bug il y a, mais en attendant, vous avez fait cinq changements que tous dépendent du bug vous avez introduit il y a plusieurs mois

.

Plus petit, les versions de haute qualité sont meilleurs. Les petites versions rendre plus facile d'avoir de haute qualité.

Personnellement, je suis en faveur de grandes versions.

Un logiciel à la maison qui présente des mises à jour plusieurs fois par semaine. Il est ennuyeux parce qu'il n'y a pas de fonction mise à jour automatique, juste une notification qui ne cesse de revenir.

Vous pouvez jeter un oeil à cette même question: À quelle fréquence devrais vous libérez des mises à jour de logiciels

En fait - les deux.
Pouvez-vous le développement peut-être divisé en branche devel et RELEASE? Toutes les questions urgentes doivent être faites dès que possible sur la branche NRE et envoyé aux utilisateurs comme un correctif. Après avoir appliqué le correctif à la branche REL, la nécessité d'appliquer le correctif sera envoyé à l'équipe de DEV (note: pour fixer une question Rel vous devez écrire un code rapide, alors que dans la branche DEV vous avez besoin de mettre un peu de temps en repensant le correctif proposé , étant donné que les conditions dans la branche DEV pourraient avoir changé, il est courant que vous écrivez du code complètement différent pour résoudre le même problème dans DEV ou succursale NMR).
Lorsque le développement de toute nouvelle version sera fait, vous devez tester les nouvelles fonctionnalités et les correctifs migrées de Rel. Si tout est ok, vous serez en mesure de déployer toute nouvelle grande version et archiver le DEV courant dans REL, tandis que le vieux sera maintenant REL scellé.

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