Làm thế nào tôi nên cư xử như một nhà phát triển trong một dự án hướng đến thất bại?


335

Tôi là một nhà phát triển trong một nhóm gồm 5 thành viên và tôi tin rằng dự án của chúng tôi đang hướng đến thảm họa. Tôi sẽ mô tả lý do tại sao trong một khoảnh khắc, nhưng câu hỏi của tôi là: tôi nên cư xử như thế nào?

Thời hạn là trong 1,5 tháng, và tôi cảm thấy không có vấn đề gì với chúng tôi, dự án này sẽ thất bại. Tôi cho rằng chúng ta chỉ nên chấm dứt dự án và ngừng lãng phí thời gian, nhưng về mặt chính trị tôi nghĩ rằng người quản lý của chúng tôi không thể làm điều đó.

Tôi nên làm gì trong trường hợp này? Tôi có nên nỗ lực thêm, hay tôi chỉ nên làm nó dễ dàng? Và tôi nên nói gì với người quản lý?

Lý do dự án này hướng đến thất bại:

  • Với thời hạn tiếp cận, nhiều tính năng bắt buộc chưa kết thúc
  • Ứng dụng không ổn định và rất khó sử dụng
  • Hệ thống rất phức tạp, mã rất khó hiểu, rất khó thay đổi - Mô hình dữ liệu quá bị điều khiển bởi một cơ sở dữ liệu quan hệ phức tạp (hơn 100 bảng)
  • Lãnh đạo không rõ ràng; người quản lý phản hồi thông tin mới với những thay đổi lớn
  • Hầu như không có kiểm tra tự động hoặc kiểm tra đơn vị
  • Phụ thuộc nhiều vào các hệ thống khác, nhưng chưa có thử nghiệm tích hợp nào

Trên thực tế, chúng tôi thực sự chỉ kế thừa dự án này (cùng với mớ hỗn độn) khoảng 1-2 tháng trước từ một nhóm phát triển khác dưới cùng một người quản lý, người đã làm việc với nó trong vài tháng.


Một phần, bạn là một phần của một vấn đề. Tại sao bạn không thực hiện các bài kiểm tra đơn vị? Là một nhà phát triển, nó nên là nhiệm vụ của bạn. Bạn có thể thêm rằng đó là một thất bại lớn cho bất cứ ai quản lý dự án đó.
BЈовић

1
Câu hỏi liên quan (nhưng tôi không nghĩ là trùng lặp): Cách hiệu quả nhất để xử lý các thất bại liên quan đến phát triển là gì? . Lời khuyên tốt nhất tôi có thể cung cấp cho bạn chỉ là để cho quản lý biết, và sau đó làm hết sức mình. Bạn không thể kiểm soát công việc bạn được giao, nhưng bạn có thể kiểm soát phản ứng của mình với họ và chứng minh bạn là một nhân viên có giá trị, người sẽ luôn làm hết sức mình cho dù thế nào đi chăng nữa.
Rachel

Bạn đang sử dụng loại quy trình phần mềm nào? Thác nước / Agile? Và cái nào? RUP / Scrum / XP ...?
Sjuul Janssen

28
Cập nhật sơ yếu lý lịch của bạn. Đừng mất ngủ vì vấn đề của người khác. Mong đợi mọi thứ sẽ được gia hạn sau khi thời hạn được thông qua.
Sean McS Something 19/07/13

6
@kevincline đó là một câu chuyện dài, nhưng cuối cùng chúng tôi đã gửi nó đúng thời hạn, với rất nhiều lỗi và thiếu tính năng. Họ dường như muốn hệ thống khá tệ, vì vậy họ quyết định cho chúng tôi thêm thời gian. Danh tiếng của chúng tôi đã bị ảnh hưởng rất nhiều, nhưng nhìn chung mọi người nhận ra rất nhiều người đã làm rất nhiều sai lầm trong dự án này, vì vậy chúng tôi không phải là vật tế thần cho việc này. Dự án khôn ngoan, nó đã diễn ra tốt hơn tôi mong đợi, nhưng cá nhân tôi, làm việc trong dự án này và codebase trong nhiều tháng thực sự là điều tuyệt vời
Louis Rhys

Câu trả lời:


317

Truyền đạt mối quan tâm của bạn theo cách ngắn gọn nhất và không đối đầu có thể lên thang quản lý. Tóm tắt các rủi ro, nhưng không áp đặt kết luận của bạn lên chúng.

Quản lý phải luôn có lựa chọn phải làm gì, nhưng đó là công việc của bạn để đánh giá và truyền đạt tình huống. Sử dụng email, để để lại dấu vết giấy khi mọi thứ đi về phía nam.

Đã làm điều đó, tiếp tục làm việc trên dự án với thiện chí.

Hãy nhớ rằng, bạn có thể không biết tất cả mọi thứ cần biết về dự án, những người ủng hộ và các quyết định tài chính đằng sau nó. Các quyết định quản lý có vẻ ngu ngốc đối với bạn thực sự có thể dựa trên lý luận thông minh mà bạn không thể nhìn thấy.


51
+ 1. Một điều tôi muốn nói thêm là khi các quyết định quản lý có vẻ ngu ngốc đối với bạn, có một khả năng nhỏ là họ thực sự có lý do chính đáng mà bạn không có tầm nhìn, nhưng hầu hết thời gian họ thực sự ngu ngốc. Tất nhiên, đó là lợi ích tốt nhất của ban quản lý để thuyết phục bạn bằng cách khác ;-)
dasblinkenlight

178
+1, nhưng "làm việc trong đức tin tốt" không có nghĩa là hy sinh cuộc sống cá nhân của bạn để tham gia vào một cuộc hành quân chết chóc vô tận không có thời gian.
kevin cline

27
@LouisRhys Bất cứ khi nào bạn đối phó với thứ gì đó nhạy cảm, nơi cảm xúc có thể xâm nhập và nói với ai đó rằng điều gì đó quan trọng có thể thất bại mà họ đã đầu tư vào số lượng, có một dấu vết giấy có thể thực sự quan trọng. Đây chắc chắn là một thời gian cho CYA.
Jeremy Pridemore

17
@LouisRhys Bạn có thể nói chuyện với anh ấy qua cà phê / trà, nhưng luôn viết lên những mối quan tâm chính của bạn trong một email chính thức sau đó. Khi shit gặp fan trong 1,5 tháng, bạn có thể quay lại email bạn đã gửi và do đó tránh mọi sự đổ lỗi cho "tại sao chúng tôi không nói sớm hơn?" câu hỏi sẽ bắt đầu đến từ trên cao. Nó cũng hoạt động như một vật phẩm "có thể hành động", có nghĩa là người quản lý của bạn sẽ cảm thấy có xu hướng làm việc gì đó hơn là cúi đầu xuống và hy vọng mọi thứ cuối cùng sẽ ổn.
Mike Weller

4
Trong tóm tắt của bạn, hãy cố gắng tránh các chi tiết và ý kiến ​​kỹ thuật nếu có thể, nhưng hãy diễn đạt những thứ theo cách mà một người không phải là chuyên gia trong công nghệ của bạn có thể đọc và hiểu mà vào tài khoản khi đưa ra quyết định.
TobyEvans

105

Giữ một dấu vết giấy (ví dụ: nhật ký, email đã lưu, v.v.). Chỉ bao gồm các sự kiện và quan sát khách quan. Để lại tất cả kết luận cho bất kỳ ai (nếu có ai) đọc những gì bạn đã viết.

Là một nhà phát triển, nếu bạn không được xem là một trở ngại cho dự án, bạn có khả năng sẽ ổn từ việc chỉ tay mà không nghi ngờ gì sẽ xảy ra. Người quản lý của bạn có thể không may mắn như vậy, nhưng điều đó không liên quan ở đây.

Chỉ dựa trên các nguyên tắc chung, cập nhật sơ yếu lý lịch của bạn và đảm bảo rằng bạn thỉnh thoảng gặp các nhà phát triển khác bên ngoài công ty của bạn. Nếu bạn không thuộc bất kỳ nhóm nhà phát triển địa phương nào, hãy tham gia 2 hoặc 3. Phải mất nhiều năm để xây dựng một mạng lưới bạn bè và người quen nhưng về lâu dài, điều đó đáng giá. Hãy chắc chắn xem nó như một con đường 2 chiều - nếu bạn có thể giúp lấp đầy sự mở cửa trong công ty của bạn với một người có khả năng, điều đó cũng tốt như ai đó giúp bạn tìm việc.


59
@JimG. Đó là để hiển thị quản lý cấp trên và / hoặc nhân sự nếu / khi mọi thứ trở nên tồi tệ. Nếu bạn rơi vào tình huống bạn đang nói một điều và một người khác (có thể là người quản lý của bạn, cố gắng tự cứu lấy làn da của mình) sẽ nói điều khác, điều đó sẽ giúp bạn có một số tài liệu về phía bạn. Các dự án thất bại không phải lúc nào cũng dẫn đến việc chỉ tay và lầy lội, nhưng nó thường xảy ra đủ để một chút tự vệ thông thường không bao giờ bị tổn thương.
Dan Pichelman

89

Tôi sẽ khuyên bạn nên dành một ít thời gian để đọc 2 cuốn sách.

Death March là cuốn sách kinh điển mô tả phong cách quản lý dự án bệnh lý đang lan rộng trong phát triển phần mềm. Do lịch trình nén, tính năng phình to hoặc quản lý sai, nhiều dự án kết thúc ở trạng thái xấu; nó giúp hiểu rằng bạn không đơn độc và dự án của bạn không phải là cuộc diễu hành tử thần duy nhất. Tác giả Edward Yourdon phân loại các dự án cuối cùng thành 4 góc phần tư, mỗi dự án có chiến lược đối phó khác nhau. Đôi khi chiến lược đối phó duy nhất là bỏ đi. Tôi nghĩ cuốn sách này sẽ giúp bạn tìm ra phạm vi lựa chọn của bạn là gì và thu hẹp những gì bạn có thể và không thể làm.

Kỹ năng leet của tôi với sơn MS đã giúp tôi thực hiện điều này!

Thảm họa Disentanguity được viết nhiều hơn cho các nhà quản lý dự án. Nó nhằm mục đích tìm ra cách xử lý một dự án bị hỏng: Cái gì cần phải cắt, cái gì có thể cắt lại và làm thế nào để đưa nó cho khách hàng? Quản lý dự án phần mềm "thông thường" đưa chúng ta vào các dự án lộn xộn và chúng ta sẽ không thoát khỏi những vấn đề của mình bằng chính suy nghĩ đã đưa chúng ta vào chúng ngay từ đầu. Cuốn sách này khó đọc hơn một chút so với Death March , nhưng là một cuốn hay để có trên kệ sách của bạn.


4
+1 cho câu trả lời có liên quan đến phát triển phần mềm.
psr

2
Để đánh cắp một trích dẫn khác của Yourdon: "bỏ phiếu bằng chân". Khoảng 10 năm trước, tôi đã ở trong tình huống tôi là người thứ 5 rời khỏi nhóm phát triển 4 người trong một năm. Không lâu trước khi rời đi, chúng tôi đã có một VP mới, người đã đến và đưa cho chúng tôi một chút gì đó giống như bài phát biểu "động lực" cho tộc Orc trong The Two Towers để đi tìm những người lùn. Vài tháng sau tôi đơn giản bước đi. Thật tốt khi có một công việc được xếp hàng, nhưng tôi đã quá kiệt sức. Rời đi là, trong nhận thức muộn màng, một trong những điều tốt nhất tôi từng làm.
Roboprog

Đây là một câu trả lời tốt hơn nhiều .. OP mô tả một tình huống mà tôi thấy mình gặp phải và nghe về quá thường xuyên. Đôi khi cam chịu, và đôi khi cắt thành từng phần và phục vụ thành từng miếng nhỏ ..
hanzolo

58

3 chiến lược đơn giản và yếm thế để duy trì sự nghiệp / sự tỉnh táo.

  1. Xem một vụ đắm tàu ​​trong quá trình thực hiện - xuống tàu: Các dự án thất bại là khủng khiếp đối với tinh thần và trừ khi bạn có kỹ năng quản lý đi lên của ninja sẽ có một số tác động tiêu cực đến sự nghiệp của bạn. Nhảy ngay bây giờ nếu bạn có thể thấy bất kỳ hạ cánh mềm.

  2. Nếu điều đó không hiệu quả, hãy cúi đầu xuống: Mọi người sẽ bắt đầu tìm kiếm người để đổ lỗi - đừng làm cho họ dễ dàng! Trong khi leo thang mối quan tâm lên chuỗi quản lý có thể là điều đúng đắn để làm điều đó là không hiệu quả và rủi ro. Người quản lý riêng của bạn không có khả năng vượt qua mối quan tâm của bạn và bỏ qua anh ấy / cô ấy không chỉ khiến cả hai bạn trông xấu mà còn có thể coi bạn là "kẻ gây rối", tức là kiểu người có thể đổ lỗi cho việc phá hoại dự án ngay từ đầu, v.v. Điều này tất nhiên cũng có nghĩa là chuyên nghiệp, đặt trong giờ của bạn nhưng không có anh hùng.

  3. Lập kế hoạch cho một lối thoát khẩn cấp trên T + 1: cung cấp cho bạn một số tùy chọn và thực hiện nền tảng cho việc chuyển nội bộ hoặc bên ngoài tiềm năng ngay bây giờ. Nói chuyện với mọi người; không có lý do gì để chờ đợi người khác quyết định sẽ làm gì với bạn khi tài trợ dự án bị cắt hoặc bị ngập trong 'giẫm đạp' không thể tránh khỏi của những người di cư trong một vài tháng.

Xin lỗi nếu nó nghe có vẻ quá cay độc nhưng nếu bạn đã gọi nó một cách chính xác thì không có gì phải chịu đựng sự khó chịu theo cách của bạn. Hãy chuyên nghiệp, lạc quan nhưng luôn thực tế.


11
+1: số 2 là rất đúng ... Không có hành động tốt nào không bị trừng phạt.
Paulo Scardine

3
Quy tắc của tôi trong cuộc sống là nếu (2 :) thì goto (3 :) có tham chiếu đến (1 :)
John Nicholas

1
Tôi hoàn toàn đồng ý với # 1. Thành công phần lớn có thể được dự đoán trong vòng 100 ngày đầu tiên của dự án. Nếu ruột của bạn nói với bạn rằng có điều gì đó không ổn ... hãy lắng nghe nó.
Ông JavaScript

35

Dự án sắp thất bại này sẽ có tác động gì đến sự nghiệp của bạn tại công ty, và hơn thế nữa? Theo kinh nghiệm của tôi, chỉ đơn thuần là liên kết với các dự án thành công không phải là một chỉ số cho sự xuất sắc cá nhân của riêng bạn.

Những phẩm chất mà bạn thể hiện khi đối mặt với nghịch cảnh và đôi khi có vẻ là thất bại nhất định, thường được chú ý bởi những người cao hơn, nhiều hơn bạn nghĩ. Và tôi đang nói về việc vượt ra ngoài người quản lý trực tiếp của bạn.

Cá nhân tôi đã có kinh nghiệm khi thấy người quản lý trực tiếp của mình bị sa thải vì không đủ năng lực, và sau đó thấy mình được thăng chức vào vị trí của anh ấy cùng ngày. Không dễ chịu, nhưng nó cho thấy mọi người đang theo dõi tôi, và thích những gì tôi đã làm.

Thông thường, sự hỗn loạn và vô tổ chức tương tự đi kèm với một dự án thất bại, cho bạn cơ hội để tỏa sáng.

Vì vậy, hãy nhìn vào dự án theo cách này: dự án thất bại này có cơ hội gì, để ánh sáng chiếu vào tất cả những điểm mạnh và phẩm chất tốt nhất của tôi? Những bài học tôi học được từ kinh nghiệm này, điều đó sẽ làm cho tôi trở thành một chuyên gia tốt hơn và một người tốt hơn?

Về cơ bản, tổng hợp kinh nghiệm rút ra từ những thất bại là điều thúc đẩy thành công thực sự.

Lưu ý: Thomas Owens đã hỏi, những điều cụ thể mà một người có thể làm trong một dự án như thế này. Tôi có một vài gợi ý chung, mà tôi đã sử dụng làm hướng dẫn cá nhân trong những tình huống này. Nó sẽ giúp một dự án đau khổ thành công kỳ diệu? Không - nhưng tôi đã tìm thấy nó đã giúp tôi giữ một quan điểm đúng đắn về mọi thứ và tìm thấy thành công cá nhân bất chấp tình huống xấu.

1) Tập trung vào sự xuất sắc cá nhân - phấn đấu để viết mã tốt hơn bao giờ hết, đáp ứng các tiêu chuẩn cao hơn về chất lượng và chức năng.

2) Tập trung vào các số liệu cá nhân - bạn viết bao nhiêu mã, sinh ra các lỗi tiếp theo? Giảm tỷ lệ đó xuống thấp nhất có thể. Khi được yêu cầu cung cấp ước tính cho một nhiệm vụ được giao cho bạn, bạn nói chung có chính xác không, hoặc bạn có thấy rằng bạn đã quá / dưới bộ đệm thời gian quá nhiều không? Khi thực sự được giao một nhiệm vụ, bạn có cung cấp một mức độ phản hồi tốt về tiến trình công việc, bao gồm thông báo trước và trước về các vấn đề về thời gian giao hàng không?

3) Tập trung vào các số liệu của nhóm - Đây chỉ là một số điều nằm ngoài đầu tôi: Các thành viên khác trong nhóm có bị tụt lại vì sự phụ thuộc vào một nhiệm vụ bạn đang làm không? Bạn có giỏi trong việc ủy ​​thác hoặc phân chia nhiệm vụ / nhiệm vụ của mình cho những người khác trong nhóm không? Bạn có thấy khó khăn khi giao tiếp với một hoặc nhiều thành viên của nhóm không? Tất cả các lĩnh vực mà tôi làm việc để thường xuyên cải thiện trong.


Chỉ cần nghi ngờ về "phấn đấu để viết mã tốt hơn bao giờ hết, đáp ứng các tiêu chuẩn cao hơn về chất lượng và chức năng": nếu dự án thất bại, có lẽ không có thời gian để tìm kiếm chất lượng cao hơn. Có lẽ nên tập trung vào năng suất / hiệu quả thay thế.
Francesco Feelrinelli

2
@FrancescoFeltrinelli: bạn có thể có một điểm. Nhưng một phần trong tôi nghĩ rằng tôi sẽ không muốn mất tập trung vào việc tìm kiếm cơ hội cải thiện cá nhân trong thời kỳ khủng hoảng. Thật đáng kinh ngạc những gì chúng ta có thể học được khi đối mặt với khủng hoảng, và làm thế nào điều này cản trở chúng ta thành công trong những thách thức lớn hơn trong cuộc sống.
code4life

Được nhìn thấy để giải cứu một dự án thất bại có thể có mặt trái của nó. Nó làm cho bạn có nhiều khả năng được giao cho dự án thất bại tiếp theo.
Martin Brown

23

Trong tình huống như thế này, là bậc thang thấp nhất của thang, chỉ có rất nhiều bạn có thể làm để giúp dự án.

  • Hãy chắc chắn rằng công việc của bạn là không tì vết
  • giúp xác định các vấn đề lớn nhất
  • Cố gắng cung cấp câu trả lời, không chỉ là vấn đề. Trông giống như bạn đang cố gắng sửa chúng.

Bên cạnh đó, bạn thực sự phải chăm sóc số 1.

  • Tài liệu mọi thứ
  • giữ tất cả email, cuộc trò chuyện IM
  • Hãy thử và tìm cách thoát khỏi dự án nếu tất cả đều có thể

12
Quản lý tốt hiểu rằng các dự án đôi khi thất bại; quản lý tồi cố gắng tìm vật tế thần khi dự án thất bại. Đã ở cả hai tình huống, mã tốt đặc biệt quan trọng nếu bạn cần phải có một công việc khác. Chắc chắn tại các cuộc phỏng vấn họ hỏi bạn đang làm gì, ít nhất bạn có thể tự hào về mã của chính mình.
Michael Storesin

22

Thất bại trong các dự án có thể gây độc cho tâm hồn, gây trầm cảm, làm việc quá mức và lòng tự trọng thấp.

Tất cả đều liên quan đến phối cảnh.

Tôi đã làm việc trong các dự án khủng khiếp khi ngồi đối diện với một anh chàng khác có nụ cười trên khuôn mặt mỗi ngày. Ôi làm sao tôi muốn tát nụ cười đó ra khỏi mặt anh.

Một số người không bị làm phiền bởi tình trạng hiện tại của một dự án. Họ thích sự đóng góp của họ, nhiệm vụ của họ và đang làm việc trong lĩnh vực họ quan tâm. Trong khi những người khác, có một phản ứng tiêu cực mạnh mẽ với tình trạng hiện tại của sự vật. Đó là tất cả về kỳ vọng nhận thức của chúng tôi cho công việc hàng ngày của chúng tôi.

Trong khi bạn có thể đang làm một số công việc bạn thích. Có những yếu tố rõ ràng trong dự án hiện tại bạn không thích.

Bạn cần xác định những yếu tố vấn đề đó là gì, và giải quyết chúng.

  • áp lực thời hạn
  • kiểm soát chất lượng
  • tính chuyên nghiệp
  • hướng dẫn của quản lý

Có nhiều nhóm và công ty không tìm thấy các khía cạnh phát triển quan trọng ở trên. Những gì tôi đã tìm thấy là họ thường nghĩ như sau.

  • Áp lực thời hạn được coi là cách để thúc đẩy mọi người.
  • Chất lượng chi phí nhiều hơn và giới hạn trả lại.
  • Chuyên nghiệp áp dụng cho các lĩnh vực khác của doanh nghiệp.
  • Người quản lý là người chấm công và không phải là người đóng góp cho sự phát triển.

Những vấn đề này không phải của bạn. Đó là của họ và bạn không nên lãng phí bất kỳ năng lượng nào đối với hành vi của họ. Nếu bạn không phải là một trong những người mỉm cười và thích công việc của anh ấy ngay cả khi nó đi đến một vách đá, thì bạn nên nghĩ về việc tìm một nơi của các like mindednhà phát triển.

Bạn sẽ hạnh phúc hơn nhiều.


12

Cố gắng chủ động tìm kiếm một cách mới để đạt được thành công cho dự án. Hãy suy nghĩ về cách bạn có thể đề xuất một số lựa chọn thay thế. Ngay bây giờ ông chủ của bạn có lẽ đang bị đánh bại về dự án là một thất bại, ông sẽ không đánh giá cao ai đó đến với các giải pháp thay vì các vấn đề?

Có lẽ có một cách để phân chia các tính năng thành các sản phẩm giao hàng so le? Thường có các mức độ "phải có", vì vậy hãy xem liệu bạn có thể đưa những mức độ ưu tiên đó và nhóm chúng thành các mốc quan trọng không. Tốt hơn để có một số sản phẩm vào cuối dòng thời gian hơn là không có gì. Hoặc xem xét việc chia nhóm giữa những người làm việc với chức năng mới và những người khác làm việc vì sự ổn định, bằng cách này bạn có thể hiển thị một số tiến bộ trên cả hai mặt trận.

Nếu những nỗ lực này thành công, bạn sẽ chứng tỏ rằng bạn là một thành viên trong nhóm có thể tìm ra cách để thành công, nếu không, bạn vẫn sẽ chứng minh rằng bạn không từ bỏ và sẽ làm việc để tìm giải pháp.


+1; đây là điều mà quản lý tốt nên làm, nhưng nếu họ không thể hoặc không làm, việc thể hiện sáng kiến ​​có thể tiết kiệm trong ngày. Chỉ cần hiểu rằng thường những điều này đã được xem xét.

1
Đồng ý, đây là những điều tôi cũng sẽ nói người quản lý nên làm và trình bày với người quản lý của mình. Ở vị trí của OP, tôi nghĩ rằng đây là cách tiếp cận tích cực nhất để thực hiện thay vì bị cuốn vào những thất bại.
cdkMoose

12

Âm thanh giống như hầu hết các dự án tôi đã thực hiện. Tuy nhiên, nó có thể sẽ không kết thúc tồi tệ như bạn nghĩ:

1) Làm công việc của bạn. Đừng lo lắng quá nhiều về dự án tổng thể miễn là bạn hoàn thành trách nhiệm của mình.

2) CYA. Nếu dự án thất bại và bạn nghi ngờ người quản lý sẽ bắt đầu đổ lỗi cho tất cả mọi người trừ chính mình, hãy đảm bảo bạn có đủ bằng chứng chứng minh rằng bạn đã làm mọi thứ theo yêu cầu của bạn (xem mục 1).

3) Đưa ra một vài gợi ý lịch sự để cải thiện. Đừng nghe tiếng chuông cảnh báo, đừng cam chịu và u ám, hãy lịch sự và tinh tế.

Ví dụ: nếu nhóm không viết bài kiểm tra đơn vị hiệu quả (hoặc bất kỳ bài kiểm tra nào), hãy viết một vài bài kiểm tra đơn vị gần hơn với những gì bạn muốn thấy và đề cập một cách nhân quả cách làm như vậy giúp bạn giải quyết một vấn đề cụ thể hoặc tiết kiệm thời gian của bạn.

Dù kết thúc là gì nếu bạn muốn tác động đến sự thay đổi hãy tập trung vào các bước tích cực có kết quả cụ thể. Dự án này có thể không bao giờ trở thành người chiến thắng, nhưng có lẽ nhóm có thể học cho người tiếp theo.

Cũng thế:

4) Tái cấu trúc cơ hội là bạn của bạn.


3
CYA có nghĩa là gì?
Radu Murzea

3
"Che mông của bạn". Không chắc tôi có thể nói điều đó ở đây không, nhưng đó là ý nghĩa của nó.
Michael Cook

mục 4, không có bộ kiểm tra tự động, sẽ phá vỡ mọi thứ. hãy cảnh giác
Steven A. Lowe

11
  1. Làm việc chăm chỉ; nhưng không phải chi phí của gia đình hoặc sức khỏe của bạn.
  2. Giữ một bản ghi của tất cả các quyết định thiết kế quan trọng; đặc biệt là khi họ liên quan đến công việc của bạn.
  3. Giữ kết nối mạng và giữ cho các tùy chọn của bạn mở nếu tình huống trở nên quá khó khăn hoặc bạn trở thành nạn nhân của việc sa thải hàng loạt.
  4. Cố gắng đừng nghĩ dự án của bạn là một "dự án thất bại". Mọi người đều thích những người sống tích cực và chiến đấu hết mình khi đối mặt với nghịch cảnh. Vì vậy, càng lâu càng tốt, cố gắng để được rằng người. Một triển vọng tích cực, sự hài hước và quyết tâm luôn tốt cho nơi làm việc.
  5. Nếu bạn đang dự đoán một dự án thất bại, thì bạn đang dự đoán một cuộc họp sau khi chết. Tại cuộc họp sau khi chết, mọi người sẽ được tổ chức vào tài khoản. Hãy chuẩn bị để bảo vệ tất cả các mã của bạn. [Lưu ý: Theo nguyên tắc chung, bạn phải luôn viết mã sạch để dễ bảo vệ nó sau này.] Nếu bạn có email hoặc tài liệu thiết kế đã truyền cảm hứng cho các quyết định của bạn, thì điều đó còn tốt hơn nữa.
  6. Tại cuộc họp sau khi chết, hãy cố gắng giữ thái độ tích cực; và chỉ trình bày bằng chứng email và tài liệu thiết kế của bạn nếu phán đoán, nỗ lực hoặc tay nghề của bạn được đặt câu hỏi.

7

Điều tôi thấy hiệu quả nhất là khuyến nghị của Robert L. Đọc về cách chống lại áp lực lịch trình . Đây là những gì Đọc viết:

Chìa khóa để chống lại áp lực lịch trình chỉ đơn giản là biến nó thành áp lực theo thời gian. Cách để làm điều này để cung cấp tầm nhìn về mối quan hệ giữa lao động có sẵn và sản phẩm. Tạo ra một ước tính trung thực, chi tiết và trên hết, dễ hiểu về tất cả các lao động liên quan là cách tốt nhất để làm điều này. Nó có thêm lợi thế là cho phép các quyết định quản lý tốt được đưa ra về sự đánh đổi chức năng có thể.

Cái nhìn sâu sắc quan trọng mà ước tính phải làm rõ là lao động là một chất lỏng gần như không thể nén được. Bạn không thể gói nhiều hơn trong một khoảng thời gian nữa vì bạn có thể gói nhiều nước hơn vào một thùng chứa hơn và hơn thể tích của thùng chứa đó. Theo một nghĩa nào đó, một lập trình viên không bao giờ nên nói 'không', mà nên nói 'Bạn sẽ từ bỏ điều gì để có được thứ bạn muốn?' Hiệu quả của việc tạo ra các ước tính rõ ràng sẽ là tăng sự tôn trọng cho các lập trình viên. Đây là cách các chuyên gia khác cư xử. Công việc khó khăn của lập trình viên sẽ được nhìn thấy. Thiết lập một lịch trình không thực tế cũng sẽ rất rõ ràng với mọi người. Lập trình viên không thể bị lừa dối. Thật thiếu tôn trọng và làm mất tinh thần khi yêu cầu họ làm điều gì đó không thực tế.

Khi bạn nói rằng dự án "hướng đến thất bại", điều đó dựa trên đánh giá của bạn về những nhiệm vụ cần phải thực hiện và mỗi người trong số họ sẽ cần bao nhiêu nỗ lực. Làm cho đánh giá rõ ràng , dễ hiểuchi tiết . Nhiệm vụ riêng biệt thành các bộ phận thành phần của họ; giải thích chi tiết nhất có thể như thế nào thời gian phát triển sẽ được sử dụng.

Một khi bạn làm điều đó, bạn có một nền tảng vững chắc để thảo luận về mối quan tâm với quản lý. Trong tất cả các khả năng, một khi bạn chia nhỏ đánh giá của mình thành tất cả các nhiệm vụ cụ thể cần hoàn thành, bạn sẽ có thể chứng minh rằng công việc đó mất nhiều thời gian hơn bạn có - có thể nhiều, nhiều hơn nữa.

Khi bạn đang thảo luận về lịch trình chi tiết này với người quản lý của mình, hãy chuẩn bị linh hoạt. Người quản lý của bạn có thể nói "Nhiệm vụ X sẽ không mất một tháng; sẽ mất tối đa một tuần" hoặc "Nhiệm vụ Y hoàn toàn không cần thiết, hãy cắt nó khỏi lịch trình." Bạn chắc chắn có thể thảo luận về những điểm này, nhưng điều quan trọng hơn nhiều là đạt được sự hiểu biết giữa bạn và người quản lý của bạn về một số phiên bản thực tế của lịch trình. Bằng cách đó, nếu bạn không được phân bổ thời gian để thử nghiệm, thì bạn đã có một chỉ thị rõ ràng không kiểm tra, thay vì chỉ hết thời gian một cách "bất ngờ". Và chắc chắn là người quản lý của bạn sẵn sàng cắt giảm một số góc nhất định để giao hàng đúng hạn - có rất nhiều trường hợp trong đó '

Ước tính cung cấp cho bạn chất cụ thể để tranh luận và thảo luận. Nó đặt bạn trên cùng một trang; nó giúp bạn cảm thấy tự tin rằng người quản lý của bạn đã tính đến mối quan tâm của bạn. Và nó đưa bạn đến điểm mà nếu người quản lý của bạn hỏi rõ ràng điều không thể, nó sẽ hoàn toàn rõ ràng đối với cả hai bạn. Nếu dự án tốt và thực sự cam kết, bạn sẽ làm rõ điều đó, và sẽ tùy thuộc vào người quản lý của bạn để quyết định chính xác cách anh ta muốn bạn dành thời gian của bạn.


4

Vì người quản lý của bạn biết điều đó có thể sẽ thất bại, bạn tốt hơn hầu hết. Tôi sẽ xem xét làm việc với người quản lý và xem liệu có bất kỳ phần / tính năng nào của ứng dụng có thể được loại trừ hay không.

Chúng tôi thường nghĩ rằng mọi yêu cầu của khách hàng là một 'kẻ giết người thỏa thuận' và đi ra ngoài để hứa sẽ giao hàng. Cho đến khi ai đó làm việc với khách hàng và thăm dò sâu hơn, bạn có thể không thể đưa ra những quyết định này. Nếu bạn không thể làm điều này, vẫn cố gắng cung cấp những gì bạn nghĩ là quan trọng nhất. Đôi khi dễ xin tha thứ hơn là cho phép.


4

Tôi đã tham gia vào ba dự án rõ ràng là thất bại. Những điều này khá đau đớn nhưng nhìn lại, hai trong số ba người không có hậu quả tiêu cực đối với sự nghiệp của tôi và thậm chí người thứ ba không phải là ngày tận thế.

Dưới đây là một số quan sát tôi nhớ lại.

Các nhà phát triển ở các vị trí cấp dưới ("mã theo thông số kỹ thuật", "sửa lỗi", những thứ như vậy) sẽ không bị ảnh hưởng nhiều, trừ khi họ chùng bước do tinh thần bị hạ thấp trong đội. Tại những vị trí như thế này, một chiến lược sinh tồn hợp lý và thậm chí đôi khi thành công có thể chỉ là làm tốt nhất có thể.

  • Ví dụ, một trong những thất bại mà tôi gặp phải đã được khắc phục bằng cách khắc phục một cách đơn giản, có phương pháp hơn một trăm lỗi đã biết (kết hợp với cách tiếp cận đặc biệt thông minh để thúc đẩy tiến trình này bằng lãnh đạo công nghệ) cuối cùng đã khiến ban lãnh đạo quyết định khôi phục dự án và đưa ra đó là một cơ hội khác với một bản phát hành mới, từ đó tạo ra một thành công hợp lý.

Các lập trình viên ở các vị trí cao hơn, có ảnh hưởng sẽ tốt hơn để chuẩn bị chia sẻ những hậu quả tiêu cực của thất bại dự án. Một kiến ​​trúc sư, lãnh đạo công nghệ, nhà phát triển cao cấp thường được kỳ vọng sẽ tạo ra một tác động đủ lớn để được coi là chịu trách nhiệm cho thành công hay thất bại của dự án.

Ở vị trí cấp cao, một người tốt hơn nên được chuẩn bị để đạt được từ thất bại "một cách gián tiếp", bằng cách phân tích những gì đã sai và những gì có thể được thực hiện tốt hơn.

Những kiến ​​thức, bài học sau khi chết có thể là vô giá nếu được học đúng, sự nghiệp rất thành công ở các vị trí cấp cao có thể phụ thuộc vào mức độ chúng được học, như được giải thích trong câu trả lời xuất sắc này tại WP :

Sự phán xét không đến từ thành công, mà đến từ những thất bại. Hầu hết các công ty muốn thuê những người đã bị thất bại bởi các công ty trước đó ...


Trên một lưu ý thực tế hơn, người ta có thể coi phương pháp "phát hành tiếp theo / cập nhật" là một cách có thể thoát khỏi thất bại. Trùng hợp hay không (tôi nghĩ là không ), nhưng cả hai thất bại không gây thiệt hại cho sự nghiệp của tôi đều diễn ra theo những kịch bản rất giống nhau: phát hành Nlà một thảm họa hoàn toàn, phát hành N+1có thể chấp nhận được, phát hành N+2và sau đó là thành công rõ ràng.

Đi trong đôi giày của bạn, rất có thể tôi sẽ nỗ lực chuẩn bị / thúc đẩy ý tưởng "phát hành tiếp theo". Tạo (và giao tiếp !) Một cái gì đó giống như một danh sách dự kiến ​​các vấn đề đã biết mà bạn muốn khắc phục sau khi phát hành theo kế hoạch. Dự thảo một bản đồ đường bộ không chính thức cho bản phát hành tiếp theo.

Hãy nghĩ về cách bạn có thể truyền đạt những ý tưởng này đến mọi người xung quanh, làm thế nào bạn có thể tác động đến quản lý để xem xét kế hoạch này. Nếu dự án có người có kỹ năng tiếp thị tốt, hãy cố gắng liên kết họ để khấu hao thiệt hại thất bại bằng cách gói các bản phát hành sắp tới thành các thuật ngữ mượt mà hơn, như "truy cập sớm", "beta", "xem trước khách hàng", "phát hành giới thiệu", đại loại như cái đó.

Hãy nghĩ về một kế hoạch dự phòng trong trường hợp nếu những người cao hơn sẽ xuất hiện điếc với ý tưởng này. Hãy nhớ câu chuyện trên về "sửa chữa hơn trăm lỗi đã biết"? Có một cơ hội cho mọi thứ thay đổi, thực sự.

Quản lý có thể bị điếc trước những ý tưởng phát hành tiếp theo ngay bây giờ, nhưng có một cơ hội tốt để họ xem xét lại khi đối mặt với bằng chứng thuyết phục mạnh mẽ về tiến độ chất lượng dự án.

  • Rất có khả năng sẽ có khoảng thời gian khá dài giữa mã đóng băng để phát hành theo kế hoạch và quyết định quản lý để loại bỏ hoàn toàn. Thời gian đó là cơ hội của bạn: nếu bạn tập trung nỗ lực khắc phục các sự cố đã biết và "truyền giáo" đúng tiến trình, điều này có thể tạo ra sự khác biệt (như nó đã từng làm với tôi).

4

Có rất nhiều lời khuyên thực tế (và mặt khác) ở đây đã có, nhưng với tôi chìa khóa cho bí ẩn này là hai mục sau (nhấn mạnh của tôi):

Thời hạn trong 1,5 tháng

... Chúng tôi thực sự đã kế thừa dự án này (cùng với mớ hỗn độn) khoảng 1-2 tháng trước từ một nhóm phát triển khác dưới cùng một người quản lý ...

Vì thế....

Chào mừng đến với Đội Patsy The Avengers

Đội trước có những điều tốt hơn để làm ... hơn là thất bại. Và bằng cách nào đó người quản lý đã đi cùng với điều đó. Thay đổi nhóm theo sát thời hạn này không phải là động thái quản lý dự án tốt nhất để thực hiện, vậy ... chuyện gì thế?

Sửa chữa: Đội trước được thay thế, ~ 3 tháng trước thời hạn.

-> Tìm hiểu làm thế nào nhóm phát triển trước đã trốn thoát và làm điều đó. <-

3 tháng là khoảng thời gian vừa đủ để đạt được tốc độ trên một hệ thống có kích thước rõ ràng này, ít chính xác hơn kiến ​​trúc của nó, thêm các bài kiểm tra và hoàn thành nó. Bạn cần thêm thời gian

Và nếu bạn không thể làm điều đó, trừ khi bạn hoàn toàn chắc chắn rằng dự án sẽ được gia hạn vô thời hạn, hoặc được hỗ trợ bởi yêu tinh hoặc một cái gì đó, bạn không muốn là người cuối cùng đứng bên trái cầm túi.

Khắc nghiệt? Đúng. Nhưng trong khi kế hoạch kém (ít nhất là!) Bởi các nhóm / người quản lý trước không phải là lỗi của bạn, 'thất bại trong việc cung cấp' sẽ xảy ra .

Đội trước đã bảo lãnh . Đội trước bị đá vào lề đường. Điều đó nói gì với bạn? Nó cho tôi biết rằng bạn là đội quay vòng ... và người quản lý của bạn đang trông cậy vào sự anh hùng của bạn để cứu lấy ngày.

Một đội 5 người, và 1,5 tháng để đi. Nhóm mới chỉ có dự án trong 1-2 tháng, vì vậy nhóm mới thậm chí không vượt quá khả năng học tập . Suy đoán sơ bộ về quy mô của dự án này, có vẻ như tôi không có cách nào nhóm mới có thể vượt qua giai đoạn học tập ngay cả khi dự án không có vấn đề gì cả.

Vì vậy, tôi (vẫn) nghĩ rằng bạn đã bị rung động.

Nếu đó là trường hợp - và chỉ có bạn mới có thể quyết định điều gì là đúng, hoặc điều bạn muốn tin - bạn không nợ ai một lời giải thích hay lời xin lỗi vì đã thoát khỏi con tàu đắm này. Bạn cần phải kín đáo về nó mặc dù.

Tôi nghi ngờ một cách nghiêm túc rằng người quản lý không biết rằng dự án đang gặp nguy hiểm, điều đó có nghĩa là những lời giải thích nhẹ nhàng sẽ không giúp bạn được gì ngoài sự chú ý tiêu cực. Trừ khi người quản lý của bạn là ông Rogers , tương lai của bạn sẽ gặp nguy hiểm.

Nhưng hãy luôn nhớ rằng : đừng nhận lời khuyên nghề nghiệp từ những người lạ trên Internet.


Để làm rõ, nhóm trước không "bảo lãnh" theo nghĩa đó. Người quản lý thực sự không hài lòng với công việc của họ và nghĩ rằng nhóm của chúng tôi sẽ làm tốt hơn
Louis Rhys

@LouisRhys: rất thú vị. Người quản lý nghĩ rằng nhóm của bạn có thể nhận một dự án thất bại, tìm hiểu tất cả về nó, xoay vòng và giao nó trong ~ 3 tháng? Hàm ý là nhóm của bạn là tất cả các loại tuyệt vời ... và người quản lý của bạn đang trông cậy vào anh hùng. Điều này không thay đổi cách giải thích tình huống ... nhưng từ mô tả của bạn tôi không nghĩ nó sẽ thay đổi kết quả. Nếu bạn rất có khuynh hướng, hãy nói với người quản lý chính xác những gì bạn cần để thành công (bao gồm nhiều thời gian hơn) và thực hiện nó. Chúc may mắn!
Steven A. Lowe

@LouisRhys: trả lời chỉnh sửa để sửa lỗi giả định, cảm ơn!
Steven A. Lowe

chúng tôi đã thực hiện một vài dự án thành công trước dự án này, vì vậy có lẽ anh ấy hy vọng chúng tôi có thể làm điều tương tự với dự án này. Nhưng, tôi nghĩ rằng anh ấy thực sự đã đánh giá quá cao chúng tôi và đánh giá thấp những gì cần thiết để "sửa chữa" dự án này
Louis Rhys

@LouisRhys: đừng tự sát vì những lỗi lầm của mình; phép lạ mất thời gian và chi phí tiền bạc!
Steven A. Lowe

3

Đây là một cơ hội tuyệt vời cho bạn! Chúng ta hãy có một quan điểm kinh doanh về điều này.

Giả sử rằng quản lý muốn dự án này thành công, bạn đang ở một vị trí tuyệt vời để giúp họ làm điều đó. Lý do nhận thức này rất quan trọng là vì bạn phải phát triển niềm tin và sự tự tin rằng các dấu hiệu cảnh báo bạn đang nhìn thấy trên thực tế sẽ dẫn đến thất bại của dự án này [1].

Đây là cơ hội của bạn để thực hành các kỹ năng quan trọng trong tư duy hệ thống và giao tiếp giữa các cá nhân. Hiểu và hình dung các vấn đề và cơ hội tiềm năng đang bị bỏ lỡ để bạn có thể phát triển một chiến lược để truyền đạt những điều này một cách rõ ràng và đơn giản nhất có thể.

Nhận ra cơ hội của bạn ở đây để cải thiện kỹ năng của bạn.

[1] Hủy bỏ dự án sẽ thực sự thành công. Thất bại sẽ là tiêu tiền tốt sau khi xấu.


3

Bạn có thể làm gì

  • Hãy đối xử với điều này theo cách tự xuất sắc của riêng bạn, đó là dự án "của họ", nhưng cũng là của bạn, hãy sở hữu mặc dù bạn biết rằng nó sẽ thất bại. Tại sao? bởi vì a) bạn có thể giúp nó thất bại ít hơn một chút, b) trong thời gian gặp khó khăn, đây là lúc bạn học được nhiều nhất c) bạn nên tự đo lường thông qua các số liệu xuất sắc của mình, cố gắng hết sức có thể không cứu được dự án, nhưng bạn cuối cùng có thể vẫn tự hào về bản thân

  • Nói chuyện với các nhà phát triển đồng nghiệp khác và xem họ nghĩ gì, có lẽ bạn sẽ phát hiện ra rằng nhiều người chia sẻ cùng một sự thất vọng, nếu được thực hiện cẩn thận (đừng khiến mọi người nghĩ rằng bạn muốn bắt đầu một cuộc binh biến hay gì đó) thì điều này có thể giúp ích không chỉ cho bạn mà những người khác cũng vậy

  • Bỏ qua vấn đề sẽ không làm cho nó biến mất, nói về cách làm thế nào, chống lại tất cả các tỷ lệ cược vẫn kéo nó qua, ví dụ như ít nhất là có một số trường hợp phải có, hoặc trường hợp sử dụng "yếu tố wow" chính được thực hiện, có thể làm cho điều này dự án thất bại ít thảm hại. Làm thế nào để làm nó? tốt, chẳng hạn, một vài ý tưởng về "khi gặp khó khăn sẽ khó khăn" hoặc "thời điểm tuyệt vọng biện minh cho các biện pháp tuyệt vọng" và các ví dụ khác: sử dụng rất nhiều OSS, phương pháp lập trình / nhanh nhẹn, hackathons cuối tuần (chỉ tình nguyện viên, không buộc mọi người phải cuối tuần làm việc). Đây là lúc bạn có thể thể hiện khả năng lãnh đạo (một cách cẩn thận nếu bạn không ở vị trí lãnh đạo nhóm / cao cấp) nhưng bạn có thể tận dụng lợi thế này và trở thành mockingjay của họ, chỉ cần mọi người cảm thấy rằng họ có thể nhận được dự án này ít thất bại hơn mọi người đều biết điều đó

  • Hãy chắc chắn rằng quản lý của bạn biết, nhưng rất, rất cẩn thận, nếu họ biết, họ sẽ đánh giá cao bạn nói với họ điều này theo cách không đối đầu, bình tĩnh, nếu họ không đánh giá cao hơn nữa, và tự hỏi tại sao không ai nói họ về nó trước đây. Bạn nên nói với họ đây là một dịch vụ, không có bất kỳ khía cạnh cảm xúc nào, chỉ là sự thật đơn giản và không có chương trình nghị sự. Nếu họ sẽ hỏi bạn những gì bạn nghĩ họ nên làm (đó là một dấu hiệu tuyệt vời, nhưng hiếm), hãy xem phần tiếp theo

Những gì bạn không thể làm, nhưng quản lý của bạn có lẽ nên

  • Họ không nên thêm nhiều người vào dự án "để giúp" thấy điều này
  • Gọi cho khách hàng ngay lập tức và nói với họ những tin xấu. Tại sao đây là một ý tưởng tốt? tốt thôi, tôi sẽ trích dẫn bản tuyên ngôn về phát triển phần mềm nhanh nhẹn, nhưng ngay cả khi không có nó, ngay cả những người yêu thích thác nước cũng ghét những điều bất ngờ. Nếu khách hàng biết trước dự án này chắc chắn sẽ thất bại, họ sẽ không vui, nhưng sẽ vui hơn nhiều khi bạn nói với họ rằng có vấn đề trước khi nó thổi vào mặt họ, và bạn đang ở trên đó, và cố gắng hết sức để đáp ứng nó Khách hàng có thể làm nhiều việc nhưng hầu hết trong số họ không tệ hơn là phát hiện ra vào phút cuối họ không có khả năng giao hàng (hoặc họ làm nhưng chất lượng không thể sử dụng được). Khách hàng sẽ đánh giá cao vì họ sẽ có thể trì hoãn việc thuê nhân viên kiểm tra, nhân viên CNTT ở nước ngoài, thay đổi kế hoạch đào tạo nội bộ của họ và tất cả chỉ vì bạn trung thực với họ.

  • Với khách hàng, hãy nghĩ cách để vẫn tạo ra thứ gì đó từ dự án, cách phổ biến nhất là giải thích mọi thứ. ví dụ, có thể có một số tính năng quá khó để phát triển theo cách chúng được thiết kế và nếu khách hàng đồng ý cho một số sửa đổi và đơn giản hóa nhỏ, thì một số tính năng sẽ trở nên đơn giản hơn.

  • Cập nhật quản lý cao hơn của riêng họ, nó sẽ giúp họ giữ công việc của họ ...

Những gì bạn KHÔNG nên làm

  • Yêu cầu thêm nhiều người vào dự án (xem phần này )

  • Thoát / tìm kiếm một công việc khác (ít nhất là chưa), đây là điều bạn có thể học hỏi và điều gì sẽ khiến bạn một ngày nào đó trở thành một nhà phát triển tốt hơn hoặc người quản lý tốt hơn. Bạn sẽ học cách đánh giá cao nhiều thứ tốt hơn, quản lý thời gian tốt hơn, thiết kế tốt hơn, viết mã tốt hơn và làm việc với các đồng nghiệp và quản lý tốt hơn. Hãy tìm một công việc sau khi 2 tháng này kết thúc nếu bạn không thích làm việc ở đó, không phải vì bất kỳ lý do nào khác.

  • Rên rỉ, phàn nàn hoặc tiêu cực về dự án, quản lý, thiết kế tồi mà bạn thừa hưởng, các nhà phát triển người mới mà bạn phải cố vấn rằng bạn phải mất 3 giờ để giải thích họ làm điều gì đó khiến bạn mất 1 giờ, tích cực như bạn có thể.

  • Chỉ trích quản lý và trở thành mục tiêu như một kẻ gây rắc rối, họ ở trong cùng một chiếc thuyền và họ có thể biết những điều bạn không làm, tất cả những gì bạn có thể làm là cập nhật chúng (luôn cập nhật người quản lý trực tiếp của riêng bạn, không bao giờ bỏ qua cô ấy / anh ấy)

  • Đổ lỗi cho mọi người, (hoặc chính bạn), nó không giúp đỡ, không bao giờ

  • Hãy quá nghiêm túc, trừ khi đó là thiết bị y tế, không ai có khả năng chết nếu bạn bỏ lỡ thời hạn, đó là phần mềm, chúng tôi bỏ lỡ thời hạn để kiếm sống, thư giãn.

Đó chỉ là hai xu của tôi, YMMV


1

Tìm các vấn đề mà dự án của bạn đang gặp phải và cố gắng định lượng rõ ràng một cách khách quan nhất có thể. Với mỗi "số liệu" bạn định lượng, đảm bảo bạn xác định lý do tại sao bạn tin rằng số liệu này là quan trọng. Bạn muốn cung cấp cho người quản lý của bạn cái nhìn sâu sắc về hậu quả sẽ như thế nào nếu một số liệu nhất định sẽ không nằm trong "phạm vi chấp nhận được". Bạn sẽ cần đưa ra một số hướng dẫn cho từng số liệu để cho biết giá trị nào là "Tốt", "Có thể chấp nhận", "Có vấn đề" hoặc "Xấu". Xác định mọi tiêu chí lên phía trước. Nếu có thể bạn có thể mô tả những gì sẽ cần tối thiểu để một dự án thành công và tương phản điều này với dự án hiện tại.

  • Chất lượng mã tĩnh có thể được định lượng bằng nhiều công cụ phân tích tĩnh. Bạn có thể giữ điều này đơn giản hoặc chi tiết khi bạn thấy phù hợp. Các số liệu tôi đề nghị bạn bắt đầu với:
    • Phức tạp cyclomatic
    • Kích thước mã của bạn (ví dụ: Nr của dòng trên mỗi chức năng / lớp, số lượng tệp, số lượng bảng ...)
    • Xác định mô-đun nào quá lớn
    • Nhân đôi.
    • Tuân thủ phong cách mã
  • Tỷ lệ lỗi
    • mỗi KLOC theo mô-đun và hoặc hệ thống con (xác định các phần rắc rối trong hệ thống của bạn)
    • bạn có thể tính toán bao nhiêu cho mỗi thành viên trong nhóm nhưng tôi nghĩ bạn nên giữ nó cho riêng mình
    • giải quyết vs tìm thấy
    • thời gian cần thiết để giải quyết một lỗi (có lẽ nếu điều này là tạo ra một biểu đồ về điều này)
    • có lẽ ước tính bao nhiêu thời gian là cần thiết nếu điều này tiếp tục ở mức hiện tại
  • Lập kế hoạch
    • Thời gian ngoại suy được sử dụng cho các tính năng được xây dựng. Hãy tính đến sự phức tạp của tính năng. Điều này không phải là rất chính xác. Những gì bạn muốn truyền tải với điều này sẽ nằm dọc theo dòng "Tính năng A, B và C có cùng độ phức tạp của D, E và F. Với các tính năng ABC đã sử dụng 170% nếu thời gian dự kiến. Cần có thời gian cho DEF "hoặc dọc theo dòng" Tính năng trung bình mất nhiều thời gian hơn X% so với tính toán. Chúng tôi không có lý do gì để cho rằng phần còn lại của chức năng dễ xây dựng hơn nên chúng tôi nên bù đắp cho kế hoạch này trong tương lai Nó không có ích để có một kế hoạch nếu nó không thực tế.
    • Cố gắng có một số lịch phát hành hàng tháng hoặc tốt nhất là thậm chí ngắn hơn. Nếu chỉ nội bộ. Điều này có thể giúp bạn hơn nữa với ngoại suy thời gian bạn cần cho dự án. Điều này cũng có thể cứu bạn khỏi việc đưa ra các cam kết không thực tế (nếu bạn không cam kết với công việc mới trước khi phát hành xong). Lập kế hoạch cho mỗi trụ và chắc chắn các tính năng mới chỉ được đưa vào chu kỳ tiếp theo (nghĩa là chúng không bao giờ có thể được thêm vào chu kỳ hiện tại).
  • Phạm vi kiểm tra: giải thích các giá trị bảo hiểm kiểm tra "bình thường" và cho biết mức độ bao phủ hiện tại của bạn là bao nhiêu
  • Tài liệu: Bao nhiêu% là tài liệu thực sự? Làm thế nào tốt?
  • Tính mô đun:
    • Dựa trên lớp (khớp nối và gắn kết)
    • Gói dựa
    • Hệ thống con dựa trên (có bao nhiêu đường dẫn truyền thông?)

0

Bạn nên đi làm và làm những gì bạn sẽ làm trong bất kỳ dự án nào, cho dù nó có thành công hay không. Bạn đang được trả tiền để thực hiện công việc của bạn. Làm điều đó với khả năng tốt nhất của bạn. Giả sử bạn không phải là người quản lý / lãnh đạo dự án, bạn không có trách nhiệm quyết định rằng chương trình có nên bị hủy hay không. Bạn quyết định chùng lại cũng giống như bạn đưa ra quyết định hủy dự án. Đó không phải là một phần của mô tả công việc của bạn.

Tuy nhiên, trong bức tranh lớn hơn, điều đó không có nghĩa là bạn nên làm việc 50, 60 hoặc nhiều giờ hơn mỗi tuần để cố gắng và đáp ứng lịch trình. Một lần nữa, đó là công việc của ban quản lý để tìm ra cách đạt được các mục tiêu của dự án. Hơn 50 tuần làm việc không phải là một lựa chọn hợp lý trừ khi họ sẵn sàng trả tiền làm thêm giờ và bạn sẵn sàng giữ cuộc sống gia đình của bạn. Một lần nữa, công việc của ban quản lý là sắp xếp một lịch trình có thể đạt được. Họ không thể cho rằng họ có thể buộc nhân viên bỏ qua cuộc sống gia đình để đáp ứng lịch trình không thực tế.

Ngoài ra, trong khi lịch trình có thể nói còn lại 1 tháng rưỡi. Đó có lẽ không phải là ngày "thả chết". Một số khách hàng có thể lấy những gì bạn có vào ngày đó, ngay cả khi đó không phải là tất cả. Một số khách hàng có thể kiếm thêm tiền, vì họ đã đầu tư rất nhiều tiền vào dự án. Đôi khi chính công ty có thể mất thêm chi phí để đảm bảo khách hàng hài lòng. Tất cả điều đó nằm ngoài tầm kiểm soát của bạn. Làm công việc của bạn với khả năng tốt nhất của bạn. Điều đó sẽ cung cấp cho các tùy chọn quản lý để làm việc với điều đó có thể biến một dự án thảm họa thành một câu chuyện thành công lớn. Tôi đã thấy nó xảy ra nhiều lần.


+1: Một dự án cam chịu giống như cát lún: bạn càng di chuyển, bạn càng chìm.
Paulo Scardine

@Paulo: Tôi đoán nó phụ thuộc vào "tại sao" dự án bị tiêu diệt. Nếu chủ yếu là ngân sách hoặc lịch trình là không thể đáp ứng thì có những điều quản lý có thể làm. Nếu đó là sự thiếu năng lực của nhà phát triển (đặc biệt là sw chì) và ban quản lý không thấy điều đó thì đó hoàn toàn là một vấn đề khác. Nhưng trong mọi trường hợp, điều đó không thay đổi thực tế là bạn vẫn nên nỗ lực hết mình cho những phần mà bạn có thể kiểm soát. Công ty vẫn trả tiền cho bạn như nhau cho dù dự án có tốt hay không.
Dunk

0

Tôi chỉ có thể nhắc lại những gì người khác đã nói, nhưng tôi nhấn mạnh một cách rõ ràng: Luôn luôn phấn đấu cho công việc tốt nhất của bạn và giữ một dấu vết giấy. cho cả CYA và lý do kỹ thuật.

Bất kỳ rơi ra theo cách của bạn phụ thuộc vào tính cách cá nhân của quản lý; nhưng hãy để tôi nói với bạn rằng đó là địa ngục đang nhận được sự quản lý dối trá, bất tài. Nhưng điều tồi tệ nhất bạn sẽ để lại với sự tôn trọng bản thân (và đồng đẳng).

Giữ ghi chú tốt về các khía cạnh kỹ thuật của Death March của bạn. Khi bạn nhận được câu hỏi phỏng vấn không thể tránh khỏi, bạn đã có một dự án thất bại; Tại sao nó thất bại và bạn đã làm gì để cố gắng ngăn chặn nó? Quản lý xương đầu không phải là một câu trả lời - ngay cả khi đó là lý do.


0

Nó có thể là một cách dễ dàng để cho rằng đó là một thất bại không thể tránh khỏi và hoàn toàn và chỉ từ bỏ dự án. Là một chuyên gia tư vấn, tôi thường được mời để giúp đỡ với các dự án đang trong giai đoạn thoái hóa khác nhau, thất bại hoặc thất bại và một phần của những gì tôi đang được trả tiền là hồi sinh và hoàn thành các dự án đó.

Những gì bạn xem là một thất bại hoàn toàn, có thể không được mọi người cảm nhận như vậy, tùy thuộc vào quan điểm. Trong một thế giới lý tưởng, mọi tính năng sẽ hoàn thành, được mã hóa thanh lịch và độc lập với các hệ thống khác và mọi dòng mã được thử nghiệm. Tôi chưa từng thấy một dự án nào giống như trong rev 1. Trong thế giới thực, vận chuyển một dự án có nghĩa là có một số thỏa hiệp, thậm chí có thể thiếu một số tính năng chính nhưng sản phẩm có thể giao hàng và mặc dù nó sẽ có chất lượng beta tốt nhất , ít nhất bạn sẽ nhận được phản hồi về những điều cần khắc phục trước. Mặt trái của điều này là nó có thể thông báo cho ban quản lý rằng phần mềm không bao giờ được thực hiện và thay vì cố gắng phát triển một v 1.0 nhất định trong chân không, tốt hơn là lặp lại và phản ứng với các thay đổi theo cách nhanh nhẹn. Cuối cùng cho bạn là một nhà phát triển ở vị trí này, Tôi nghĩ điều quan trọng là phát triển mã tốt nhất có thể trong các điều kiện này - ghi lại nó, tự viết kiểm tra, nếu bạn phải (đặc biệt là phụ thuộc bên ngoài) và sử dụng kiến ​​thức về hệ thống để truyền đạt các tính năng thực sự quan trọng và phải -có những cái nào có thể đợi một tuần hoặc một tháng. Làm cho mình lên tiếng về mối quan tâm của bạn và biện minh cho họ như bạn đã làm với chúng tôi. Thay vì chuẩn bị cho kế hoạch B, hãy chuẩn bị cho thực tế rằng bạn và những linh hồn đáng thương khác có thể sẽ sửa tất cả lỗi đó và chưa thực hiện mã SAU khi sản phẩm đã được gửi - như đã nói ở trên điều này có nghĩa là viết mã của bạn theo kiểu tách rời theo mô-đun - nếu bạn nghĩ rằng mã lớp liên tục là xấu, hy vọng bạn sẽ có thể thay thế nó hoàn toàn trong phiên bản tiếp theo. Cuối cùng, đừng tuyệt vọng - đối phó với tình huống như vậy là một phần của những gì bạn ' đang được trả tiền và đó là một quá trình học tập. Bất kể kết quả trong dự án cụ thể này, điều này sẽ được tính là một kinh nghiệm quý giá trong tương lai.


bài này khá khó đọc (tường văn bản). Bạn có phiền chỉnh sửa ing nó thành một hình dạng tốt hơn?
gnat
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.