JoelはStackOverflowポッドキャスト#24で、金曜日にソフトウェアを出荷しないことがFogCreek社のポリシーであると述べました。しかし、彼はその理由について詳しく説明しませんでした。
同意する。私の雇用主では、木曜日の夜に展開します。したがって、金曜日に品質保証(QA)を逃したバグをクリーンアップします。
しかし、私のマネージャーは、リリース前にQAがソフトウェアをテストするのに十分な時間がない場合に、金曜日の夜に展開することを提案しました。私は言う、人々の週末の計画はどうですか?そして、金曜日の夜に展開する場合、土曜日に作業して、逃したバグをクリーンアップする必要があります。
金曜日にソフトウェアを出荷してみませんか?
*この仮定を立てる必要があるかもしれません(確かではありません):1つのタイムゾーンに1つのコアソフトウェア開発チームがあり、自社のコアWebアプリケーションを展開しています。
justバグの問題ではありません。他の関連するサポートの負担があるかもしれません-ユーザーに新機能を説明し、パフォーマンスの問題がないことを監視します。
通常、新しいリリースはサポートアクティビティの短いスパイクを意味します。したがって、利用可能な人が少ないとき(または時間のtimeみが大きいとき)にスケジュールを設定するのは悪い考えです。
あなたはほとんど自分の質問に答えました。それは短くて甘い理由です。金曜日に出荷し、バグが原因で本番になった場合、通常、次の月曜日まで修正したり顧客と話したりする人はいません。最悪の場合のシナリオでは、潜在的に数日間の収益の損失になります。
金曜日に展開しないでください:
木曜日または金曜日にコードをリリースすることは避けます-金曜日にミッションクリティカルなバグを見つけ出すことを望んでいる人はいません。1日で修正を行っても、リリースされる少なくとも1日前になります。つまり、週末に作業するか、来週まで修正されません。
ターゲットグループに依存します。主に金曜日に展開します。当社のブラウザベースの製品は、世界中のお客様に使用されていますが、主に営業時間中に使用されます。つまり、顧客に影響を与えないようにしたい場合は、日曜日の朝以外の時間は本当にありません(インドと中東は土曜日にオフィスワークから降りません)が、通常は「妥協」します金曜日の午後に展開します。
以前は火曜日頃に新しいものを展開したいという理想の出会い系サイトで働いていたとしたら、活動は週末頃にピークに達し、奇妙なことに月曜日の昼ごろに始まりました。
とにかく、それは2つの考慮事項になります。 1.顧客への影響が最も少ないのはいつ(Webアプリケーションの場合)2.重大なバグを急いで修正する開発チームに最適なのはいつですか。
週末の終わりに開発者がだらしないようになるのを心配している場合、QAパイプラインが短すぎる可能性があります。
通常、火曜日に展開します。その後、残りの週は問題に飛びつきます。週末にも仕事がなければ、金曜日の夜に展開してもいいかもしれませんが、彼らが働いているなら、それは良い考えではありません。
その人たちは、金曜日(すでにその熱い日|冷たいビール|両方について考えている)と休暇に出る前の日にはもう少しだらしない傾向があります;-)
それは本当にあなたのアプリケーションと週末の忙しさ/重要性に依存します。
通常、ソフトウェアを金曜日に展開することはありませんが、多くの場合、土曜日または日曜日に展開します。日曜日の朝は、リリースの影響を最小限に抑えるのに特に適していることがわかりました。
リリースするために必要なダウンタイムの影響を最小限に抑えようとするかどうか、つまりOR潜在的なバグを軽減します。
顧客が実際にシステムを使用するまで(ほとんどの場合)バグが表示されないため、週末に使用率が低い場合、金曜日に展開することは月曜日の朝に展開することと同じです。
一方、オンラインショッピングのようなものは週末により多く使用される傾向があるため、金曜日にそれらのいずれかを展開することは絶対にお勧めします。
また、営業時間外のサポートポリシーにも依存します。ソフトウェアをロールバックできる担当者がいる場合、リスクは少なくなります。それでも、私は週の作業中にそれをしたいです。
私たちは通常、火曜日から木曜日までのものを展開し、月曜日(私たちの最も忙しい日)と週末(バグが気付かずに座って問題を引き起こす可能性がある)を避けることを好みます
土曜日にオフィスにいて正常に機能していることを確認する予定がない限り、金曜日に展開する予定はありません。 、週末に皆が落ち着いて、朝のレビューの後、月曜日に出荷できるようにします。
週末に展開を実行する場合、金曜日の夜に開始すると、オフィスが少し早くクリアされることが多いため、良好なスタートを切ることができます。そのため、システム全体の負荷は月曜日の朝よりも低くなります。
should金曜日にデプロイすることで、週末をかけてクリーンアップし、残りのチームが気付く前にバグを修正できるようにします月曜日にあなたの見落とし。
私は金曜日に展開するポリシーのある会社で働きました。彼らはイスラエルにいて、通常土曜日は週の最後の日です。とにかく...
私の最後の会社では、火曜日と木曜日の昼食時間までに展開パッケージをOpsに提供することがポリシーでした。これは、公開前のQAの最終段階で何か問題が発生した場合に、それを入手して微調整を要求する半日があることを意味します。 (他のQAはライブではないため、週のどの時点でも発生する可能性があります。)
ライブ以外の環境へのリリースはいつでも問題ありません。Opsがそれを行う時間があれば(もちろん、事前に予約する必要があります)、ライブではリリースしません:
月曜日-悪いことですが、週末から(できれば休みの日)戻ってきたばかりで、先週やったことすべてを心に留めることはできません。水曜日-通常、最も生産性の低い曜日であり、「仕事の中間」の日です。あなたのスロットが火曜日で、バグのために見逃した場合、水曜日はそれらのバグを修正してテストするのに十分な時間を提供していないため、おそらく悪い選択です。金曜日-さあ。マジ?それは金曜日だ。これを本当に説明する必要がある場合、あなたはある種の管理職を務めるのに十分な経験がありません。環境。私にとって、それはあなたがあなた自身を並べているかもしれないどんな愚かにも勝ります。
時差を十分に活用できる幸運があり、世界中にオフィスが広がっています。したがって、クライアントへの更新を行う場合、顧客への影響を最小限に抑えるために、顧客のために一晩行われるように調整します。
これは、ソフトウェアの実装と展開を制御するときにうまく機能しますが、Webサイトでのリリースはまったく別の動物です。他の人がすでに指摘したように、あなたは次の時間を確保してください: