Pourquoi ne pas se déployer un vendredi? [fermé]


94

Joel a mentionné dans le podcast StackOverflow # 24 que la politique de la société FogCreek est de ne pas expédier de logiciel le vendredi. Cependant, il n'a pas expliqué pourquoi.

Je suis d'accord. Chez mon employeur, nous sommes déployés le jeudi soir. Nous avons donc vendredi pour nettoyer tous les bogues qui ont manqué l'assurance qualité (QA).

Cependant, mon responsable a suggéré que nous déployions le vendredi soir au cas où le contrôle qualité n'aurait pas assez de temps pour tester le logiciel avant une version. Je dis, qu'en est-il des projets de week-end des gens? Et si nous nous déployons un vendredi soir, nous devrons travailler samedi pour nettoyer tous les bogues manqués - ce qui est nul.

Alors pourquoi ne pas expédier le logiciel un vendredi?

* Nous pourrions (pas sûrs) avoir besoin de faire cette hypothèse: il y a une équipe de développement logiciel de base située dans un fuseau horaire déployant l'application Web principale de leur entreprise.


11
si c'était mon processus, il serait déployé les mercredis, le milieu de la semaine vous donne quelques jours pour résoudre les problèmes avant le week
CVertex

3
Apple se déploie généralement le mardi.
mouviciel

2
Ce qui est bien à propos de mardi, c'est que vous avez lundi pour les vérifications finales et peut-être un déploiement d'entraînement afin que tout le monde soit sur la même longueur d'onde, et cela vous laisse le reste de la semaine pour faire face à tout ce qui se passe. Vendredi, vous saurez si vous devez travailler ce week-end.
Mike DeSimone

7
Je ne vois pas en quoi ce n'est pas lié à la programmation. Le résultat final de la programmation du déploiement de votre code n'est-il pas?
womp le

1
@womp Si je suis votre raisonnement, le déploiement de code consiste finalement à répondre à certains besoins orientés métier. Et cela devrait justifier toute question liée aux affaires?
Pascal Thivent

Réponses:


87

Ce n'est pas seulement une question de bugs. Il peut y avoir d'autres fardeaux de support connexes - expliquer les nouvelles fonctionnalités aux utilisateurs, surveiller qu'il n'y a pas de problèmes de performances.

Une nouvelle version signifiera généralement un bref pic d'activité de support - donc planifier cela quand il y a moins de personnes disponibles (ou lorsqu'il y a plus de ressentiment du temps pris) est une mauvaise idée.


6
jon skeet publie du code à tout moment qu'il aime, .. non ?!
Matt

15
@Matt - Si la journée a commencé comme un vendredi elle cesse de l'être lorsque Jon sort son logiciel, Jon Skeet n'adapte pas son calendrier de sortie au calendrier ... le calendrier s'ajuste à son calendrier de sortie.
Newtopian

2
@Newtopian: vous l'avez mélangé avec Chuck Norris, Jon Skeet n'est qu'un robot Google
Niteriter

5
@Matt, correction: Jon Skeet ne compile jamais de code dans la configuration Debug, seulement Release. Lorsque le compilateur est terminé, la nouvelle version est immédiatement expédiée aux clients du monde entier. Il aime ça comme ça.

2
Mon studio semble avoir une terrible habitude de se lancer vendredi. Je peux dire pour un fait que mon patron reçoit la plupart de ses appels clients en colère le samedi / dimanche quand quelque chose a été manqué. (NE JAMAIS LANCER LE VENDREDI)
ChristoKiwi

50

Ne jamais déployer le vendredi car:

  1. C'est la fin de la semaine donc les gens sont moins vifs
  2. C'est la fin de la semaine donc les gens ne sont pas disponibles pour corriger les bugs
  3. C'est la fin de la semaine, donc les gens ne sont pas disponibles pour répondre aux questions
  4. C'est la fin de la semaine, alors pourquoi vous déploieriez-vous alors?

1
KIIS - vous n'auriez pas pu le dire mieux. ..
R Claven

46

Vous avez pratiquement répondu à votre propre question. C'est une raison courte et douce: si vous expédiez un vendredi et qu'un bogue entre en production, il n'y a généralement personne pour le réparer ou parler aux clients jusqu'au lundi suivant. Cela représente potentiellement plusieurs jours de perte de revenus dans le pire des cas.


1
Pareil ici. Je développe des logiciels internes pour une entreprise manufacturière, donc je n'ai pas de clients externes. Mais nos utilisateurs travaillent le week-end et les quarts de nuit, donc déployer le vendredi soir serait le pire que nous puissions faire :-)
Christian Specht

8

Nous évitons de publier du code le jeudi ou le vendredi - personne ne veut passer son vendredi à déterminer les bogues critiques pour la mission, et il est probable que même si nous produisons un correctif en 1 jour, il faudra au moins un autre jour avant qu'il ne puisse être publié, ce qui signifie soit travailler le week-end, soit il ne sera réparé que la semaine prochaine.


6

Cela dépend de votre groupe cible. Nous déployons principalement les vendredis. Notre produit basé sur un navigateur est utilisé dans le monde entier par les clients, mais principalement pendant les heures de bureau. Cela signifie que nous n'avons pas vraiment de temps autre que le dimanche matin si nous voulons nous assurer que nous n'affectons aucun client (l'Inde et le Moyen-Orient ne quittent pas le travail de bureau le samedi), mais généralement nous «faisons des compromis» et déployer les vendredis après-midi.

Si précédemment travaillé sur un site de rendez-vous où nous voulions idéalement déployer de nouvelles choses vers mardi, car l'activité a culminé autour du week-end et étrangement, le lundi autour du déjeuner.

Quoi qu'il en soit, cela se résume à 2 considérations. 1. Quand cela sera-t-il le moins perturbateur pour vos clients (s'il s'agit d'une application Web) et 2. Quand sera-t-il le mieux adapté à l'équipe de développement pour la résolution rapide des bogues critiques.

Si vous craignez que vos développeurs deviennent bâclés vers la fin de la semaine, votre pipeline QA est peut-être trop court.


4

Nous déployons normalement les mardis, puis nous avons le reste de la semaine pour nous attaquer à n'importe quel problème. Cela dépend aussi un peu de l'industrie, s'il n'y a pas de travail le week-end, il est peut-être possible de déployer le vendredi soir, mais s'ils fonctionnent, ce n'est pas une bonne idée.

Pour cela, les gens ont tendance à être un peu plus bâclés les vendredis (en pensant déjà à cette date chaude | bière froide | les deux) et les jours avant de partir en vacances ;-)


4

Cela dépend vraiment de votre application et de son niveau d'occupation / critique le week-end.

Nous ne déployons généralement pas de logiciel le vendredi, mais le faisons souvent le samedi ou le dimanche. Nous avons trouvé que le dimanche matin était particulièrement utile pour minimiser l'impact d'une sortie.

Cela dépend vraiment de savoir si vous essayez de minimiser l'impact de tout temps d'arrêt dont vous avez besoin pour faire votre publication, OU d'atténuer les bogues potentiels.

Vous ne verrez aucun bogue tant que les clients n'utiliseront pas réellement le système (dans la plupart des cas), donc un déploiement un vendredi équivaut à un déploiement un lundi matin, si votre utilisation est faible le week-end.

D'un autre côté, des choses comme les achats en ligne ont tendance à être plus utilisées le week-end, vous serez donc certainement déconseillé d'en déployer un le vendredi.

Cela dépend également de votre politique d'assistance en dehors des heures d'ouverture. Si vous avez quelqu'un sur appel qui peut annuler le logiciel, le risque est moindre. Pourtant, je préfère le faire pendant la semaine de travail.

Nous déployons généralement des trucs du mardi au jeudi, préférant éviter le lundi (notre jour le plus chargé) et le week-end (quand un bug pourrait passer inaperçu et causer des problèmes)


4

Vous devriez déployer le vendredi afin que vous ayez tout le week-end pour le nettoyer et corriger les bogues avant que le reste de votre équipe ne remarque vos oublis lundi.


3

Je ne planifierais jamais un déploiement le vendredi sauf si je prévoyais également d'être au bureau samedi pour vérifier que cela fonctionne correctement, si vous finissez par vous déployer un vendredi à cause d'un dérapage, vous êtes en grand danger de précipiter les choses, il vaut mieux attendre. , laissez tout le monde se calmer pendant le week-end, puis expédiez le lundi après un examen du matin.

Si votre déploiement se déroule pendant le week-end, le fait de commencer le vendredi soir peut vous donner une bonne longueur d'avance, car souvent le bureau s'effacera un peu plus tôt, de sorte que la charge globale du système sera inférieure à celle du lundi matin, par exemple.


2

J'ai travaillé avec une entreprise qui avait une politique de déploiement le vendredi; ils étaient en Israël et le samedi est généralement le dernier jour de la semaine de travail. En tous cas...

Dans ma dernière entreprise, la politique était de fournir à Ops le package de déploiement au plus tard à midi les mardis et jeudis. Cela signifie qu'ils ont une demi-journée pour le sortir et demander des ajustements mineurs si quelque chose ne va pas avec la dernière phase du contrôle qualité pré-direct. (Tout autre contrôle qualité peut avoir lieu à tout moment de la semaine car il n'est pas en direct.)

La libération dans n'importe quel environnement, sauf en direct, convient à tout moment, si les Ops ont le temps de le faire (bien sûr, cela devrait être réservé à l'avance de toute façon) mais ne relâchez jamais pour vivre:

Lundi - Mauvais, vous venez de rentrer d'un week-end (espérons-le sans travail) et vous n'aurez pas tout ce que vous avez fait la semaine dernière en tête. Mercredi - Habituellement le jour le moins productif de la semaine et se situe comme le «milieu de la journée de travail». Si votre emplacement était mardi et que vous l'avez manqué à cause de bugs, mercredi est probablement un mauvais choix car vous ne donnez pas assez de temps pour corriger et tester ces bogues. Vendredi - Allez. Sérieusement? C'est vendredi. Si cela a vraiment besoin d'être expliqué, c'est que vous n'êtes pas assez expérimenté pour occuper le type de poste de direction dans lequel vous vous trouvez. Mais sérieusement, c'est parce que déployer le vendredi signifie proposer à vos clients de venir le week-end pour tester votre travail en direct environnement. Pour moi, cela bat toute idiotie pour laquelle vous pourriez vous aligner.


1
Je conviens que l'expédition le vendredi est mauvaise. Je voulais que la communauté StackOverflow me donne de solides raisons, afin que je puisse facilement persuader mon responsable de toute possibilité de déploiements le vendredi. Et j'espère que ce fil aidera d'autres développeurs de logiciels, comme moi, à éviter les déploiements terribles du vendredi :)
Bill Paetzke

0

Nous avons la chance de faire bon usage du décalage horaire, nous avons des bureaux répartis dans le monde entier. Ainsi, lors de la mise à jour des clients, nous les organisons de manière à ce que cela se fasse du jour au lendemain pour le client afin de minimiser l'impact sur eux.

cela fonctionne bien lorsque vous contrôlez la mise en œuvre et le déploiement de votre logiciel, mais la publication sur un site Web est un tout autre animal. Comme d'autres l'ont déjà souligné, assurez-vous de prévoir du temps pour:

  1. Prise en charge des bizarreries et des bogues pouvant survenir
  2. Accompagner les utilisateurs dans les transitions
  3. Correctifs de dernière minute
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.