Tại sao không triển khai vào thứ Sáu? [đóng cửa]


94

Joel đã đề cập trong podcast số 24 của StackOverflow rằng chính sách của công ty FogCreek là không gửi phần mềm vào các ngày thứ Sáu. Tuy nhiên, ông không giải thích lý do tại sao.

Tôi đồng ý. Tại nhà tuyển dụng của tôi, chúng tôi triển khai vào tối thứ Năm. Vì vậy, chúng tôi có thứ Sáu để dọn dẹp bất kỳ lỗi nào đã bỏ sót Đảm bảo chất lượng (QA).

Tuy nhiên, người quản lý của tôi gợi ý rằng chúng tôi nên triển khai vào tối thứ Sáu trong trường hợp QA không có đủ thời gian để kiểm tra phần mềm trước khi phát hành. Tôi nói, Kế hoạch cuối tuần của mọi người thì sao? Và nếu chúng tôi triển khai vào tối thứ Sáu, thì chúng tôi sẽ phải làm việc vào thứ Bảy để dọn dẹp bất kỳ lỗi nào bị bỏ sót - điều này thật tệ.

Vậy tại sao không gửi phần mềm vào thứ sáu?

* Chúng tôi có thể (không chắc) cần đưa ra giả định này: có một nhóm phát triển phần mềm cốt lõi nằm trong một múi giờ triển khai ứng dụng web cốt lõi của công ty họ.


11
nếu đó là quy trình của tôi, nó sẽ được triển khai vào các ngày thứ tư, giữa tuần có vài ngày để giải quyết các vấn đề trước cuối tuần
CVertex

3
Apple thường triển khai vào các ngày thứ ba.
mouviciel

2
Điều tuyệt vời về thứ Ba là bạn có thứ Hai để kiểm tra lần cuối và có thể là một buổi triển khai thực tế để mọi người đều ở trên cùng một trang và điều đó cho bạn thời gian còn lại của tuần để giải quyết bất cứ điều gì sắp xảy ra. Đến thứ Sáu, bạn sẽ biết liệu mình có phải làm việc vào cuối tuần đó hay không.
Mike DeSimone

7
Tôi không hiểu điều này không liên quan đến lập trình như thế nào. Không phải kết quả cuối cùng của việc lập trình là việc triển khai mã của bạn?
womp

1
@womp Nếu tôi theo lý luận của bạn thì việc triển khai mã cuối cùng là để đạt được một số nhu cầu theo định hướng kinh doanh. Và điều này nên biện minh cho bất kỳ câu hỏi liên quan đến kinh doanh?
Pascal Thivent

Câu trả lời:


87

Nó không chỉ là một vấn đề của lỗi. Có thể có các gánh nặng hỗ trợ liên quan khác - giải thích các tính năng mới cho người dùng, giám sát rằng không có vấn đề về hiệu suất.

Một bản phát hành mới nói chung sẽ có nghĩa là một hoạt động hỗ trợ tăng đột biến - vì vậy, lên lịch để điều đó xảy ra khi có ít người hơn (hoặc khi có nhiều thời gian hơn) là một ý tưởng tồi.


6
jon tenset phát hành mã bất cứ lúc nào anh ấy thích, .. phải không ?!
Matt

15
@Matt - Nếu ngày bắt đầu là thứ sáu, thì khi Jon phát hành phần mềm của mình, Jon Skeet sẽ không điều chỉnh lịch phát hành của mình cho phù hợp với lịch ... lịch sẽ điều chỉnh theo lịch phát hành của anh ấy.
Newtopian

2
@Newtopian: bạn đã trộn lẫn với Chuck Norris, Jon Skeet chỉ là một bot của Google
Niteriter

5
@Matt, sửa: Jon Skeet không bao giờ biên dịch mã trong cấu hình Gỡ lỗi, chỉ Phát hành. Khi trình biên dịch hoàn tất, bản dựng mới ngay lập tức được chuyển đến các khách hàng trên toàn thế giới. Anh ấy thích nó theo cách đó.

2
Studio của tôi dường như có một thói quen kinh khủng là ra mắt vào thứ Sáu. Tôi có thể nói thực tế là sếp của tôi nhận được hầu hết các cuộc gọi từ khách hàng tức giận của mình vào thứ Bảy / Chủ nhật khi có điều gì đó bị bỏ lỡ. (KHÔNG BAO GIỜ
RA MẮT

50

Không bao giờ triển khai vào thứ sáu vì:

  1. Cuối tuần rồi nên mọi người bớt sắc đi
  2. Bây giờ là cuối tuần nên mọi người không có mặt để sửa lỗi
  3. Cuối tuần rồi nên mọi người không rảnh để trả lời câu hỏi
  4. Bây giờ là cuối tuần, tại sao bạn sẽ triển khai sau đó?

1
KIIS - bạn không thể nói nó tốt hơn. ..
R Claven

46

Bạn đã trả lời khá nhiều câu hỏi của riêng bạn. Đó là một lý do ngắn gọn và ngọt ngào: nếu bạn giao hàng vào thứ Sáu và một lỗi xuất hiện trong quá trình sản xuất, nói chung sẽ không có ai xung quanh để sửa nó hoặc nói chuyện với khách hàng cho đến thứ Hai tuần sau. Đó là khả năng mất doanh thu vài ngày trong trường hợp xấu nhất.


1
Ở đây cũng vậy. Tôi đang phát triển phần mềm nội bộ cho một công ty sản xuất, vì vậy tôi không có khách hàng bên ngoài. Nhưng người dùng của chúng tôi làm việc vào cuối tuần và vào ban đêm, vì vậy việc triển khai tối thứ sáu sẽ là điều tồi tệ nhất chúng tôi có thể làm :-)
Christian Specht

8

Chúng tôi tránh phát hành mã vào thứ Năm hoặc thứ Sáu - không ai muốn dành thứ Sáu của họ để tìm ra các lỗi quan trọng trong nhiệm vụ và rất có thể là ngay cả khi chúng tôi tạo ra bản sửa lỗi trong 1 ngày, thì ít nhất một ngày nữa nó mới có thể được phát hành, có nghĩa là làm việc vào cuối tuần hoặc nó sẽ không cố định cho đến tuần sau.


6

Nó phụ thuộc vào nhóm mục tiêu của bạn. Chúng tôi chủ yếu triển khai vào các ngày thứ Sáu. Sản phẩm dựa trên trình duyệt của chúng tôi được khách hàng sử dụng trên toàn cầu, nhưng chủ yếu là trong giờ hành chính. Điều đó có nghĩa là chúng tôi không thực sự có bất kỳ thời gian nào ngoài buổi sáng chủ nhật nếu chúng tôi muốn đảm bảo rằng chúng tôi không ảnh hưởng đến bất kỳ khách hàng nào (Ấn Độ và Trung Đông không nghỉ làm vào các ngày thứ bảy), nhưng nói chung chúng tôi "thỏa hiệp" và triển khai các buổi chiều thứ sáu.

Nếu trước đây làm việc trên một trang web hẹn hò, nơi lý tưởng nhất là chúng tôi muốn triển khai nội dung mới vào khoảng thứ Ba, vì hoạt động cao điểm vào khoảng cuối tuần và kỳ lạ thay, thứ hai vào khoảng bữa trưa.

Nhưng dù sao, nó đi xuống 2 cân nhắc. 1. Khi nào thì nó ít gây gián đoạn nhất cho khách hàng của bạn (nếu đó là một ứng dụng web) và 2. Khi nào thì nó sẽ phù hợp nhất với nhóm phát triển để sửa chữa gấp các lỗi nghiêm trọng.

Nếu bạn lo lắng về việc các nhà phát triển của mình trở nên cẩu thả vào gần cuối tuần, đường dẫn QA của bạn có thể quá ngắn.


4

Chúng tôi thường triển khai vào các ngày Thứ Ba, sau đó chúng tôi có phần còn lại của tuần để giải quyết bất kỳ vấn đề nào. Nó cũng phụ thuộc một chút vào ngành, nếu không có việc vào cuối tuần có thể triển khai vào tối thứ Sáu nhưng nếu họ đang làm việc thì đó không phải là một ý kiến ​​hay.

Vì vậy, mọi người có xu hướng cẩu thả hơn một chút vào các ngày thứ Sáu (đã nghĩ về ngày nóng | bia lạnh | cả hai) và những ngày trước khi đi nghỉ ;-)


4

Nó thực sự phụ thuộc vào ứng dụng của bạn và mức độ bận rộn / quan trọng của nó vào cuối tuần.

Chúng tôi thường không triển khai phần mềm vào thứ sáu mà thường triển khai vào thứ bảy hoặc chủ nhật. Chúng tôi nhận thấy buổi sáng Chủ nhật là đặc biệt tốt để giảm thiểu tác động của việc phát hành.

Nó thực sự phụ thuộc vào việc bạn đang cố gắng giảm thiểu tác động của bất kỳ khoảng thời gian ngừng hoạt động nào mà bạn cần để thực hiện bản phát hành, HOẶC giảm thiểu bất kỳ lỗi tiềm ẩn nào.

Bạn sẽ không thấy bất kỳ lỗi nào cho đến khi khách hàng thực sự sử dụng hệ thống (trong hầu hết các trường hợp), vì vậy việc triển khai vào thứ Sáu tương đương với việc triển khai vào sáng thứ Hai, nếu bạn có mức sử dụng thấp vào cuối tuần.

Mặt khác, những thứ như mua sắm trực tuyến có xu hướng sử dụng nhiều hơn vào cuối tuần, vì vậy bạn chắc chắn không nên triển khai một trong những thứ đó vào thứ Sáu.

Nó cũng phụ thuộc vào chính sách hỗ trợ ngoài giờ của bạn. Nếu bạn nhờ ai đó có thể khôi phục phần mềm, thì rủi ro sẽ ít hơn. Tuy nhiên, tôi vẫn muốn làm điều đó trong tuần làm việc.

Chúng tôi thường triển khai nội dung thứ ba-thứ năm, ưu tiên tránh thứ Hai (ngày bận rộn nhất của chúng tôi) và cuối tuần (khi một lỗi có thể không được chú ý gây ra sự cố)


4

Bạn nên triển khai vào thứ Sáu để bạn có cả ngày cuối tuần để dọn dẹp nó và sửa lỗi trước khi các thành viên còn lại trong nhóm nhận thấy những sơ suất của bạn vào thứ Hai.


3

Tôi sẽ không bao giờ lên kế hoạch triển khai vào ngày thứ sáu trừ khi tôi cũng dự định có mặt tại văn phòng vào thứ bảy để xác minh rằng nó hoạt động chính xác, nếu bạn kết thúc triển khai vào ngày thứ sáu vì trượt giá, bạn có nguy cơ rất cao phải gấp rút mọi việc, tốt hơn hết là hãy chờ đợi , để mọi người bình tĩnh vào cuối tuần rồi giao hàng vào thứ Hai sau khi xem xét buổi sáng.

Nếu việc triển khai của bạn diễn ra vào cuối tuần thì bắt đầu từ đêm thứ sáu có thể giúp bạn khởi đầu thuận lợi vì thường văn phòng sẽ dọn dẹp sớm hơn một chút, do đó tải tổng thể của hệ thống sẽ thấp hơn so với sáng thứ Hai.


2

Tôi đã làm việc với một công ty có chính sách triển khai vào các ngày thứ Sáu; họ đã ở Israel và thứ Bảy thường là ngày cuối cùng của tuần làm việc. Dù sao...

Tại công ty cuối cùng của tôi, chính sách là cung cấp cho Ops gói triển khai không muộn hơn giờ ăn trưa vào các ngày Thứ Ba và Thứ Năm. Điều này có nghĩa là họ có nửa ngày để gỡ bỏ và yêu cầu điều chỉnh nhỏ nếu có bất kỳ vấn đề gì xảy ra với giai đoạn cuối của QA trước khi phát trực tiếp. (Mọi QA khác có thể xảy ra vào bất kỳ thời điểm nào trong tuần vì nó không trực tiếp.)

Phát hành vào bất kỳ môi trường nào ngoại trừ phát trực tiếp là được vào bất kỳ lúc nào, nếu Ops có thời gian để làm điều đó (tất nhiên, điều đó nên được đặt trước dù sao) nhưng không bao giờ phát hành để sống tiếp:

Thứ hai- Thật tồi tệ, bạn vừa trở về (hy vọng là một ngày cuối tuần không làm việc) và sẽ không có mọi thứ bạn đã làm tuần trước trong tâm trí của bạn. Thứ tư- Thường là ngày làm việc kém hiệu quả nhất trong tuần và được coi là ngày "giữa công việc". Nếu vị trí của bạn là Thứ Ba và bạn bỏ lỡ nó do lỗi, Thứ Tư có thể là một lựa chọn tồi vì bạn không cung cấp đủ thời gian để sửa và kiểm tra những lỗi đó. Thứ sáu- Nào. Nghiêm túc? Hôm nay là thứ sáu. Nếu điều này thực sự cần giải thích thì bạn không đủ kinh nghiệm để làm loại vị trí quản lý mà bạn đang đảm nhiệm. Nhưng nghiêm túc mà nói, đó là vì triển khai vào các ngày thứ Sáu có nghĩa là bạn tình nguyện đến khách hàng của bạn vào cuối tuần để kiểm tra trực tiếp công việc của bạn. Môi trường. Đối với tôi, điều đó đánh bại bất kỳ sự ngu ngốc nào mà bạn có thể đang tự xếp hàng cho mình.


1
Tôi đồng ý rằng vận chuyển vào các ngày thứ Sáu là không tốt. Tôi muốn cộng đồng StackOverflow cho tôi những lý do vững chắc để tôi có thể dễ dàng thuyết phục người quản lý của mình tránh mọi khả năng triển khai vào thứ Sáu. Và hy vọng chủ đề này sẽ giúp các nhà phát triển phần mềm khác, như tôi, tránh triển khai thứ sáu đáng sợ :)
Bill Paetzke

0

Chúng tôi đủ may mắn để tận dụng tốt chênh lệch múi giờ, chúng tôi có các văn phòng trải dài khắp thế giới. Do đó, khi thực hiện cập nhật cho khách hàng, chúng tôi sắp xếp nó để nó được thực hiện qua đêm cho khách hàng để giảm thiểu tác động đến họ.

điều này hoạt động tốt khi bạn kiểm soát việc triển khai và triển khai phần mềm của mình nhưng việc phát hành trên một trang web hoàn toàn là một động vật khác. Như những người khác đã chỉ ra, hãy đảm bảo rằng bạn dành thời gian cho:

  1. Hỗ trợ các lỗi và lỗi có thể xảy ra
  2. Hỗ trợ người dùng trong quá trình chuyển đổi
  3. Các bản sửa lỗi nóng vào phút trước
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.