Làm thế nào để bạn trả lời: Từ bao giờ kể từ khi cập nhật các câu hỏi của CHUYỆN từ khách hàng? [đóng cửa]


19

Kể từ khi cập nhật, mọi người cứ gọi và nói "Kể từ khi cập nhật X, Y và Z chậm, xấu và bị sập"

Điều này đã xảy ra kể từ buổi bình minh của các bản cập nhật.

Mọi người mong đợi điều gì? Gamma xuất hiện sau phiên bản beta và thử nghiệm gamma luôn biến người dùng của chúng tôi thành The Incredible Hulks ...

Có lẽ bạn chưa bao giờ nghe điều này từ một khách hàng, có lẽ bạn đang học đại học hoặc một FLOSS Dev, người có thể lan truyền sự đổ lỗi cho hơn 5 hoặc 6 chàng trai, có lẽ bạn đơn vị kiểm tra mã của mình, có lẽ bạn không ở trong tình huống thú vị đó nơi khách hàng thực sự gọi cho bạn yêu cầu thời gian chính xác trong ngày bạn sẽ phát hành bản vá hôm nay (tôi rất muốn làm điều đó cho Microsoft) hoặc có lẽ bạn là một người làm bánh quy đáng tiếc như tôi vừa gửi một chiếc mới cập nhật và trở về nhà và sợ hãi sẽ trở lại làm việc vào ngày mai.

Dù sao đi nữa, dù sao bạn cũng sẽ thông minh hơn tôi. Làm thế nào để bạn chỉ trích lĩnh vực đóng khung trong "Bạn phải là một lập trình viên tồi bởi vì bạn đang làm cho phần mềm của bạn tồi tệ hơn"?


1
Nó luôn xảy ra với tôi bất cứ khi nào chúng tôi chạy nước rút đến SẢN XUẤT
Gopi

1
Có một số hồ sơ nhẹ luôn luôn có thể giúp đỡ (như là một phần của chiến lược lớn hơn). "Thật buồn cười; dữ liệu cho thấy trang hiện đang được tạo nhanh hơn 5%. Phần nào chính xác cảm thấy chậm? Có lẽ chúng ta có thể làm gì đó về nó ..."

1
Câu hỏi thực sự là nếu X, Y và Z thực sự là bất kỳ tahn tồi tệ nào trước đây, hoặc nếu có một số yếu tố khác ngoài tầm kiểm soát của bạn trong công việc.
Gerry

"Bạn phải là một lập trình viên tồi bởi vì bạn đang làm cho phần mềm của bạn tệ hơn"? ... po9ssingly ... trong một số lĩnh vực ... do nhầm lẫn .. trong quá trình làm cho nó trở nên tốt hơn nhiều trong các lĩnh vực sau ...
Mawg

Câu trả lời:


16

Nếu điều này xảy ra với bạn mỗi khi bạn triển khai, có thể có một lỗ hổng nghiêm trọng trong quá trình phát triển của bạn. Tôi sẽ nghi ngờ một vài điều đang gây ra vấn đề.

  1. Bạn có phát triển dựa trên cơ sở dữ liệu có cùng kích thước (đại khái) với sản xuất không? Nếu không thì bạn sẽ luôn gặp phải những vấn đề này bởi vì các truy vấn tốt với các tập dữ liệu nhỏ thường là những con chó có con lớn.
  2. Bạn có tải thử nghiệm trong QA? Những gì hoạt động tốt với một thử nghiệm người dùng rất khác với cách mọi thứ sẽ phản hồi với 1000 người dùng cố gắng làm mọi việc cùng một lúc.
  3. Bạn có cho rằng nhận thức của người dùng là sai và đối xử với họ như họ ngu ngốc khi phàn nàn? Nếu vậy, thái độ của bạn đang gây ra nhiều khiếu nại không làm giảm bớt chúng.
  4. Bạn đang làm một công việc tốt của thử nghiệm? Bạn có kiểm tra hồi quy các tính năng không thay đổi để xem liệu chúng có bị ảnh hưởng bởi thay đổi không? Bạn thậm chí có quan tâm mọi thứ mất bao lâu cho đến khi họ đánh prod?
  5. Bạn có chú ý đến thời điểm nào là thời điểm tốt cho người dùng khi bạn triển khai hoặc bạn có triển khai một sự thay đổi cho hệ thống kế toán khi bảng lương ngày được chạy và tự hỏi tại sao người dùng lại tức giận vì chậm?
  6. Bạn có sự khác biệt về môi trường giữa dev và prod. Đôi khi những khác biệt đáng tiếc trong hệ điều hành hoặc phiên bản cơ sở dữ liệu cũng sẽ gây ra vấn đề như thế này. Nó thường là một ý tưởng tốt để có một enviromnet dàn giống hệt như prod, một số thiết bị cùng hệ điều hành, cùng cơ sở dữ liệu với dat càng gần dữ liệu prod càng tốt. Điều này được sử dụng để kiểm tra việc triển khai của bạn. Chạy nó đầu tiên trên máy chủ này và có một số người dùng hoặc người kiểm tra truy cập vào nó và chạy qua một số thử nghiệm.
  7. Quá trình triển khai của bạn tốt như thế nào, bạn có thường bỏ lỡ các bước không? Nó có thể được điều hành bởi một người nào đó không phải là nhà phát triển bởi vì rõ ràng mã nào đi trong nhánh bạn đang triển khai? Chúng tôi đã tốt hơn rất nhiều trong việc triển khai mã khi chúng tôi có một nhóm quản lý cấu hình và không ai có quyền ngồi với prod và bảo mẫu mà nó thực hiện thay đổi "oopsie". Tự động hóa bản dựng của bạn có thể giúp rất nhiều. Không ai nên đoán những gì cần phải đi prod vì nó nên đến QA và dàn dựng trước và bất kỳ vấn đề deplyment nào đã được giải quyết. Thay đổi cơ sở dữ liệu kịch bản là chìa khóa quá. Chúng sẽ nằm trong các tập lệnh và kiểm soát nguồn, vì vậy quá trình xây dựng có thể chọn chúng mà không cần ai đó phải nhớ, ồ, chúng ta cần thay đổi độ dài trên Cột B thành 241 từ 50.

Điểm tốt: 1. Có, 2. Đôi khi, 3. Đạt, 4. Không, 5. Không nếu chúng tôi có thể giúp nó. Tôi có một câu hỏi cho bạn, nhưng tôi có thể nghĩ về nó và đăng nó sau.
Peter Turner

6. Đôi khi, nhưng đó là những lỗi hợp pháp thường gây ra bởi một cái gì đó trong bản cập nhật cũ không được chạy.
Peter Turner

7. Vâng, đó là một vấn đề lớn - không ai sử dụng tệp Makefile mà tôi đã viết trừ khi nó thực sự cần thiết và đây là nguyên nhân của 60% tai ương của chúng tôi. (PS tôi sẽ đánh dấu điều này là đúng nếu bạn định dạng nó tốt hơn)
Peter Turner

Đây là một câu trả lời tuyệt vời cho "Tôi nên xem xét gì để ngăn chặn việc phát hành phá vỡ UX?" nhưng tôi không chắc tại sao @PeterTurner chấp nhận vì điều này không trả lời câu hỏi thực tế.
Lilienthal

13

Làm thế nào để bạn chỉ trích lĩnh vực đóng khung trong "Bạn phải là một lập trình viên tồi bởi vì bạn đang làm cho phần mềm của bạn tồi tệ hơn"?

Nhưng những lời chỉ trích như vậy chủ yếu là hợp lý. Một bản phát hành mới không nên tệ hơn bản trước, nhưng như chúng ta biết, trong thực tế nó thường như vậy, và đó là lỗi của chúng tôi vì chúng tôi đã tạo ra nó.

Phạm sai lầm là con người và nó không biến ai thành "lập trình viên tồi", vì vậy đừng nhận những lời chỉ trích cá nhân (dù sao tôi cũng sẽ không bao giờ nhận bất kỳ lời phê bình chuyên nghiệp nào từ một người không phải là đồng nghiệp). Chỉ cần cảm ơn khách hàng đã báo cáo vấn đề, và khắc phục nó ngay khi bạn có thể. Đó là công việc của bạn như một lập trình viên giỏi.


9

Chà, tại nơi làm việc, chúng tôi không tương tác trực tiếp với khách hàng nhiều, vì vậy tôi sẽ phải trả lời câu hỏi này từ công việc dự án cá nhân. Tôi đang viết một công cụ trò chơi mà mọi người có thể sử dụng để xây dựng trò chơi của riêng họ. Nó vẫn ở giai đoạn tiền alpha, nhưng tôi đã có một vài người dùng quan tâm và đôi khi tôi gặp lỗi.

Khi tôi nhận được một báo cáo như thế này từ người dùng, tôi cố gắng sử dụng liên lạc cá nhân. Tôi không có ý định giới thiệu các lỗi và tôi muốn chúng có trải nghiệm tốt với động cơ của mình, vì vậy tôi cần làm cho chúng tin vào điều đó. Đầu tiên, hãy xử lý IM để chúng ta có thể nói chuyện. Tôi sẽ hỏi người dùng về dự án của họ và cố gắng lấy một bản sao của dự án. Điều này làm cho việc sinh sản dễ dàng hơn rất nhiều. Hỏi họ những gì họ đã làm khi trục trặc xảy ra. Trong khi đó, tôi đã mở công cụ gỡ lỗi và tôi đang giải quyết vấn đề trong khi chúng tôi đang nói chuyện.

Nếu đó là một ngoại lệ, nó thường khá đơn giản. Tái tạo vấn đề và trình gỡ lỗi nắm bắt nó và đưa bạn đến thẳng vị trí lỗi với dấu vết ngăn xếp đầy đủ và rõ ràng điều gì đang xảy ra. Nếu đó là hiệu suất chậm hoặc hành vi không chính xác, có thể mất nhiều thời gian hơn. Nhưng trong hầu hết các trường hợp, tôi có thể chuẩn bị sẵn sàng trong vòng 20 phút đầu tiên. Tôi nén nó và gửi cho họ để kiểm tra. "OK, tôi nghĩ rằng tôi đã nhận nó. Xem điều này có hoạt động ở cuối của bạn không?"

Phản hồi gần như là một sự pha trộn giữa sự kinh ngạc và lòng biết ơn, bởi vì hầu hết các nhà phát triển (đọc: các công ty phần mềm) chỉ không sửa lỗi và phát hành lại nhanh như vậy. Và sau đó, nếu nó thực sự được sửa, tôi đã biến một nhà phê bình tiềm năng thành một người hâm mộ. Đó là một kỹ thuật thực sự tốt; Tôi chỉ muốn nhiều nhà phát triển sẽ áp dụng nó.


1
Vâng, họ rất ngạc nhiên. Tôi làm việc với rất nhiều y tá đăng nhập vào diễn đàn PHPBB của chúng tôi và sử dụng biểu tượng cảm xúc 'Bang dựa vào tường', rồi nghĩ rằng chúng tôi là những thứ khá nóng khi chúng tôi chuyển DLL hoặc chạy truy vấn SQL và hệ thống của họ đang hoạt động trở lại và họ thậm chí không phải đăng xuất.
Peter Turner

6

Cá nhân tôi có vấn đề tích cực. Tôi tương tác mọi lúc với rất nhiều người chăm sóc và tôi cũng viết mã.

Khi họ tải xuống một bản phát hành mới và nói với tôi một cái gì đó như thế, tôi luôn nói một cái gì đó như thế này:

Cảm ơn đã báo cáo cho tôi lỗi đó. Có lẽ nó đã được giới thiệu cùng nhau tất cả các tính năng mới mà chúng tôi đã thêm. Chúng tôi sẽ sửa nó càng sớm càng tốt.

Trong thực tế, khách hàng là ông chủ thực sự của bạn. Nếu trải nghiệm với bạn là xấu, thì nó cũng tệ cho bạn.

Ngay cả khi anh ấy không đúng, bạn là một phần của công ty, bạn nên nhân cơ hội này để:

  • học hỏi từ anh ấy, bằng cách thu thập những cải tiến tiềm năng mà bạn có thể thực hiện cho sản phẩm.
  • chuyển đổi một khách hàng không hài lòng thành một khách hàng hạnh phúc, thật hạnh phúc khi anh ấy sẽ nói về bạn xung quanh (bao gồm cả sếp của bạn)
  • tự hào về những gì bạn đang làm

1
"Chuyển đổi hơn khách hàng không hạnh phúc thành một người không hạnh phúc"? Tôi sẽ không muốn làm điều đó.
Nói dối Ryan

4

Chi tiết, chi tiết, chi tiết. Tôi hỏi họ đã làm gì và khi nào, hãy cụ thể. Nó có thể là một cái gì đó hoặc có thể chỉ là video Justin Beaber vừa được phát hành trên youtube. Các tệp nhật ký là bạn của bạn trong cả hai trường hợp.

Tôi cũng yêu cầu ngày khi họ nhận thấy nó. Đôi khi, đặc biệt là trong các cửa hàng doanh nghiệp, người dùng không biết khi nào phát hành, họ chỉ biết rằng một cái gì đó mất nhiều thời gian để hoàn thành và bây giờ họ chỉ phàn nàn về nó.

Công việc bóng tối. Không thể nhấn mạnh điều này đủ. Nếu bạn đủ may mắn để có người dùng ở gần, chỉ cần xem họ làm việc theo thời gian. Tôi thường thấy họ bỏ qua các vấn đề rõ ràng và không bao giờ báo cáo chúng. Họ thường sẽ chỉ phàn nàn khi họ biết một cái gì đó mới hoặc ban đầu họ nhận thấy một vấn đề.


3

Bước 1 là bạn phải xuất phát từ một suy nghĩ rằng điều này (bản cập nhật phá vỡ những thứ khác) là không bình thường. Bản cập nhật của bạn không được phá vỡ hoặc làm chậm các phần khác của ứng dụng. Điều đó không ổn, điều đó không được mong đợi và đó không phải là lỗi của người dùng khi họ phàn nàn về điều đó. Bạn nên làm nhiều thử nghiệm nhất có thể để cố gắng ngăn chặn nó. Khi nó xảy ra, bạn có một vấn đề, và một vấn đề khẩn cấp.

Bước 2 là bạn phải biết những gì bạn đã làm. Hệ thống kiểm soát nguồn của bạn có thể giúp bạn hoặc một loại hệ thống theo dõi công việc nào đó, nhưng bạn phải có thể nói ngay khi bạn nhận được một trong những khiếu nại này "ok, tôi đã thêm một cột vào bảng này, thay đổi lưới này để tính toán các loại thuế mới, đã thêm hai báo cáo mới này ... "và cứ thế.

Bước 3 là bạn phải có kinh nghiệm tìm kiếm các sự cố hoàn hảo và sự cố một cách nhanh chóng, vì vậy bạn biết loại nào có thể gây ra chúng và có thể xử lý vấn đề ngay lập tức. Điều này đã đi vào hoạt động và bạn phải nhanh chóng tìm ra vấn đề và tìm ra bản vá. Thay đổi báo cáo không thể làm chậm một phần ứng dụng không sử dụng báo cáo. Bây giờ bạn đang ở chế độ khẩn cấp và phải tìm ra lỗi ở đâu và phải làm gì với nó - mà không phá vỡ một phần khác của ứng dụng trong quy trình.

Bước 4 là cho mỗi một trong những đau khổ này, bạn nên học một bài học mà bạn sẽ kiểm tra cho lần tiếp theo. Bạn sẽ trở thành "gã đó", người phản đối một số công trình nhất định bởi vì "điều đó sẽ thật kinh khủng khi có 10.000 hồ sơ".

Một chút nữa trên mặt trận "đây là bình thường". Tôi điều hành (trong số tất cả những thứ khác mà chúng tôi đang thực hiện) một dự án nhanh cho một khách hàng bên ngoài. Chúng tôi đã phát hành khoảng 6 tuần một lần trong hai hoặc ba năm nay. Và vâng, việc phát hành được lên kế hoạch đến phút. Chúng tôi chỉ làm một lúc 8 giờ sáng ngày hôm qua. Và đại khái là cứ sau 4 hoặc 5 lần phát hành (một hoặc hai lần một năm, nói cách khác) một cái gì đó bị phá vỡ trực tiếp, và chúng tôi nhảy vào hành động và làm cho nó nhanh nhất có thể. Mặc dù chúng tôi kiểm tra và thử nghiệm và kiểm tra trước khi phát hành. Sau đó chúng tôi nói với họ những gì đã xảy ra. "Có một lỗi nhỏ trong triển khai tháng 6, cho phép trường này trống, nhưng chúng tôi không bao giờ nhận thấy vì chúng tôi không sử dụng giá trị tại thời điểm đó. Sau đó, khi triển khai này khi chúng tôi bắt đầu sử dụng trường, những trường đã bị trống thông báo lỗi mà bạn đã thấy. Chúng tôi đã sửa lỗi để chúng không thể để trống, đưa các giá trị vào các bản ghi xấu và xác nhận rằng nó không còn nổ tung nữa. Chúng tôi xin lỗi. "Hoặc" Sự thay đổi khẩn cấp mà bạn đã cầu xin, chỉ hai ngày trước khi phát hành, đã gây ra hậu quả mà chúng tôi không nghĩ tới và không thử nghiệm. Hãy nhớ tại sao chúng ta chống lại những thay đổi khẩn cấp? "Tôi có thể không phải là một lập trình viên tồi vì đã làm cho nó tồi tệ hơn với bản cập nhật, nhưng tôi chắc chắn đã làm một điều xấu. Và tôi cần phải làm cho đúng. Tôi có thể không phải là một lập trình viên tồi vì đã làm cho nó tồi tệ hơn với bản cập nhật, nhưng tôi chắc chắn đã làm một điều xấu. Và tôi cần phải làm cho nó đúng. Tôi có thể không phải là một lập trình viên tồi vì đã làm cho nó tồi tệ hơn với bản cập nhật, nhưng tôi chắc chắn đã làm một điều xấu. Và tôi cần phải làm cho nó đúng.


0

Chỉ để bao gồm một khía cạnh khác:

Chúng tôi giữ một danh sách khách hàng yêu cầu điều này khi nó không như vậy. Mặc dù phần mềm là lỗi, thường rất có lỗi, nhiều khách hàng của chúng tôi sẽ tuyên bố "bắt đầu với bản cập nhật" để nhận được sự chú ý nhanh chóng, không nhận ra điều này làm lãng phí thời gian của mọi người vì chúng tôi sẽ đưa ra các đặc điểm cho vấn đề được chỉ định để tìm kiếm sự cố. Nếu khách hàng nói sự thật, điều này có xu hướng khiến nó được tìm thấy nhanh chóng. Nếu khách hàng nằm trong danh sách sai quá nhiều lần, chúng tôi sẽ không làm phiền vì chúng tôi không muốn lãng phí thời gian.

Tôi không thể tưởng tượng được cách suy nghĩ nào là cần thiết để nghĩ rằng nói dối chúng tôi sẽ đẩy nhanh quá trình. Những người này đang hoặc làm việc với các bác sĩ và nên biết đầy đủ những gì xảy ra khi mọi người nói dối với bác sĩ. Nguyên tắc tương tự được áp dụng.


1
Khía cạnh thực sự, ngoại trừ tôi nghĩ họ không nói dối. Họ tình cờ nhận thấy nó sau khi cập nhật (vì bất kỳ lý do tâm lý nào), và sau đó đưa ra kết luận - người dùng thực sự là bậc thầy khi nói về điều này :-)
Martin Ba
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.