Oh boy, đó là rất nhiều nếu bạn thực sự có nghĩa là mọi thứ xảy ra với bạn!
CẢNH BÁO : Trong nhiều điểm dưới đây, bạn có thể cảm thấy như tôi chỉ trích bạn và rằng tôi muốn khiến bạn phải chịu trách nhiệm cho những hạnh phúc sai lầm và không xem xét các yếu tố bên ngoài. Tôi không. Chỉ là bạn không cung cấp nhiều chi tiết và tôi chỉ cung cấp danh sách kiểm tra các hành động cần thực hiện để đảm bảo mọi thứ không bị sai lệch. Tôi biết bản thân mình đã mắc rất nhiều lỗi (mọi người đều mắc phải) và chúng ta chỉ trở nên tốt hơn nếu chúng ta học hỏi từ họ. Và để học hỏi từ họ, chúng ta cần bắt đầu coi chúng là những sai lầm ngay từ đầu và chấp nhận trách nhiệm cho những gì đã sai về phía chúng ta. Chết tiệt, chấp nhận trách nhiệm cho những gì đã sai trong các bộ phận của người khác, bạn cũng có thể học hỏi từ đó.
Dự án của bạn thất bại
Bạn không thể làm gì nhiều để giảm thiểu nó ngay bây giờ.
Tuy nhiên, bạn có thể làm rất nhiều để tránh điều đó để tái sản xuất trong tương lai. Tôi khuyên bạn nên cố gắng cải thiện kỹ năng quản lý dự án và thời gian của bạn.
Một trong những cuốn sách có tỷ lệ tốt nhất ((lời khuyên hợp lệ) / trang) Tôi đã đọc về chủ đề này, trong khi có thể không phải là cuốn sách hay nhất, đó là Quản lý dự án cấp tiến của Rob Thomsett .
Bạn không thực sự chỉ định những gì dự án của bạn thất bại, nhưng tôi giả sử sự kết hợp của những thứ mang lại sự mất cân bằng trong tam giác chi phí / thời gian / Qualiy thông thường . Yếu tố quan trọng nhất trong mắt tôi là dẫn dắt dự án và sự phát triển trong khi luôn luôn liên lạc với cả các tác nhân kỹ thuật (nhà phát triển và người thử nghiệm) mà cả các bên liên quan của bạn. Quá nhiều dự án thất bại vì họ không lắng nghe các nhà tài trợ hoặc các bên liên quan và không thúc đẩy họ tham gia vào quá trình này.
Nếu họ không tham gia, bạn không thể biết họ muốn gì. Nếu bạn không thể biết họ muốn gì, bạn không thể cung cấp nó. Nếu bạn không cung cấp nó, họ sẽ không vui. Đó là một thất bại. Hơn nữa, nếu bạn không liên quan đến các bên liên quan, họ sẽ bị ngắt kết nối với thực tế của công nghệ phần mềm, nghĩa là họ không hiểu vấn đề của bạn. Nếu họ thường xuyên liên lạc với bạn, họ sẽ hiểu rõ hơn về những gì bạn phải giải quyết. Họ sẽ dễ hiểu hơn khi bạn nói với họ rằng tính năng "cười" nhỏ sẽ mất vài tháng. Họ có thể tin tưởng vào kế hoạch của bạn tốt hơn bởi vì họ đã giúp xây dựng nó. Một dự án không thể thành công chỉ với "thông số kỹ thuật ở đầu, dev, thử nghiệm, giao hàng ở cuối". Nó chỉ không bao giờ làm. Bạn có thể cung cấp những gì được yêu cầu trong thông số kỹ thuật,
Quan trọng nhất là, làm một hồi tưởng , và đảm bảo nó là ít bản ngã và không phải là một trò chơi đổ lỗi. Chỉ cần xác định vấn đề.
Những gì bạn đã dành nhiều ngày mã hóa đã bị nhóm của bạn từ chối
Tôi đã ở trong tình huống đó. Một lần nữa, bạn không thể làm gì nhiều để giảm thiểu điều đó ngoại trừ:
- Giữ nó trong SCM cho sau này.
- Có thể cố gắng đẩy các bit và mảnh nhỏ dần dần vào cơ sở mã chính thay vì tái cấu trúc lớn.
Nhưng có một số điều bạn có thể làm một lần nữa để ngăn chặn tình huống này:
- Tại sao nó lại xảy ra? Lý do của sự từ chối là gì?
- Hầu hết thời gian tôi thấy điều này xảy ra (và đó cũng là trường hợp của tôi), điều đó có nghĩa là nhà phát triển đã đi một mình hoặc ở chế độ mã hóa con bò và sản xuất những thứ không bao giờ được yêu cầu. Mã không xuất phát từ yêu cầu kinh doanh có thể lạ mắt và "tốt hơn", nhưng thường lãng phí thời gian và tiền bạc. Thêm vào đó, nó sẽ có giá cao hơn nữa nếu bạn tích hợp nó vì nó sẽ cần thử nghiệm lại. Hãy suy nghĩ như những người giao dịch với bạn tiền: bạn cũng phải hiệu quả ở cấp độ đó.
- Chất lượng của phần mềm được sản xuất có thỏa mãn không? Nó có tuân thủ các tiêu chuẩn và quy ước trong hoạt động tại công ty của bạn không?
- Bạn đã định kỳ (và thường xuyên!) Báo cáo cho người quản lý trực tiếp về điều này? Bạn có thỉnh thoảng trao đổi với các nhà phát triển khác của nhóm không? Nếu không, họ không biết gì về nó, sẽ là một chi phí lớn thời gian để họ đánh giá và xem xét nó ngay bây giờ. Nó KHÔNG tài khoản đến cùng một lúc cuối cùng. Giống như luôn cố gắng dọn dẹp căn hộ cho thuê của bạn và sau đó chỉ cố gắng dọn dẹp khi bạn chuyển đi: Đó là một công việc nhảm nhí, mệt mỏi, khó hơn so với thường xuyên và sẽ không được thực hiện thường xuyên đúng.
- Bạn đã sản xuất thử nghiệm sản xuất? Bài kiểm tra đơn vị? Kiểm tra tích hợp?
- Mã của bạn đã được kiểm tra vào SCM thường xuyên chưa? Có phải trong một ngành khác? Nó cần một nhánh khác hay nó có thể được thực hiện trong thân cây? Tắt mã cam kết thường là một dấu hiệu xấu. Rõ ràng đôi khi bạn bị cám dỗ để làm điều đó, nhưng bạn chỉ tự bắn vào chân mình.
Không ai lắng nghe ý kiến của bạn trong công ty của bạn
Chà, có 2 lựa chọn ở đây, và chúng ta sẽ xem xét cả hai:
- Ý tưởng của bạn là xấu.
- Ý tưởng của bạn là tốt.
Chúng ta hãy bắt đầu cho rằng họ xấu (một lần nữa, tự phản ánh về điều đó và chấp nhận ý tưởng của bạn chỉ đơn giản là xấu có thể khó khăn, tôi biết). Bạn làm gì để thay đổi điều đó?
- Tại sao bạn nảy ra ý tưởng? Là gì lý do ? Có một nhu cầu thực sự cho những gì ý tưởng của bạn cố gắng mang đến bàn?
- Làm thế nào bạn nảy ra ý tưởng? Bạn đã tự làm điều đó? Bạn đã chia sẻ? Động não? Kế hoạch? Nguyên mẫu? (thực hiện những việc này theo đúng thứ tự. Nếu thất bại trên đường đi, sau đó loại bỏ ý tưởng, đừng tiếp tục. Hoặc ít nhất là không theo lịch trình làm việc của bạn.)
Ý tưởng chỉ là ý tưởng. Nếu bạn chỉ đề xuất chúng là ý tưởng và chúng bị từ chối, tôi không hiểu tại sao bạn lại cảm thấy tồi tệ về nó. Tuy nhiên, nếu bạn hành động theo chúng mà không thông báo cho bất kỳ ai và THÌ chỉ gửi ý tưởng của bạn và họ bị từ chối, rõ ràng tôi cảm thấy thất vọng vào thời điểm đó lãng phí. Và quản lý của bạn làm để!
Giả sử ý tưởng của bạn là tốt:
- Bài thuyết trình của bạn có tốt không?
- Cách của bạn để cung cấp các bài thuyết trình tốt? (Tôi là một nhà phát triển, tôi biết những gì tôi đang nói về: Chúng tôi đang gắt gỏng, kiêu ngạo , pedantic PITAs người luôn luôn đúng và với ai đó là khó có thể làm việc với vì thường của cái tôi không cân xứng của chúng tôi ).
- Bạn có một kế hoạch để thực hiện nó? Bạn đã nghĩ về chi phí và thời gian? Bạn có nghĩ làm thế nào nó có lợi cho người dùng / khách hàng? Bạn có nghĩ làm thế nào nó ảnh hưởng đến doanh số bán hàng? Bạn có nghĩ làm thế nào để thực hiện ý tưởng đó có thể ảnh hưởng đến các dự án và ưu tiên khác? Bạn sẽ nói với tôi, "tại sao tôi phải làm tất cả những việc này, chúng là công việc của người quản lý của tôi và đội ngũ tiếp thị hoặc bán hàng?!" Ngoại trừ ngay bây giờ, bạn đang cố gắng thực hiện một phần của tất cả các công việc của họ.
Mẫu thiết kế mà bạn giới thiệu có lực trong nhóm của bạn đã tạo ra một mớ hỗn độn
- Tại sao bạn lại giới thiệu mẫu?
- Nếu nó tạo ra một mớ hỗn độn, thì có lẽ nó cũng vậy:
- không phải là mô hình đúng,
- không được thực hiện đúng
- không được tích hợp đúng.
- Làm thế nào bạn giới thiệu nó? Làm thế nào chính xác để bạn xác định trạng thái "lộn xộn"?
- mã ít đọc hơn?
- ít bảo trì?
- bản dựng bị hỏng?
- Có nhiều loại "mớ hỗn độn" khác nhau. Biết những gì mà lộn xộn là có thể giúp để biết những gì thất bại trong đó là, và nếu đó là lỗi của các mẫu thiết kế của.
Ngoài ra, tôi có một chút ngạc nhiên bởi chính cách tiếp cận. Bạn đã phải thực sự thúc đẩy cho một mẫu thiết kế được giới thiệu? Điều đó có vẻ khá kỳ lạ. Một mẫu đã có sẵn hoặc bạn cần cấu trúc lại một phần giải pháp của mình theo mẫu. Bạn không đẩy nó như bạn việc thông qua một khuôn khổ hay công nghệ sẽ (như người đẩy thực sự khó khăn để có XML ở khắp mọi nơi, và bây giờ như mọi người bắt đầu đẩy để có thể viết HTML5 trên bìa sản phẩm của họ bằng chữ sáng lớn).
Tại sao bạn phải đẩy? Tại sao có sự kháng cự? Có lẽ nó đã được biện minh.
Bạn có thể cung cấp cho bạn các ví dụ rằng mẫu cụ thể này sẽ giúp cải thiện cơ sở mã của bạn theo những cách quan trọng (ví dụ: bằng cách kết hợp nó với một ví dụ về Tái cấu trúc cho Mẫu ).
Hoàn toàn không có ghi chú ngoài chủ đề nhưng đó là điều tôi nghĩ đến đầu tiên khi đọc tiêu đề của câu hỏi vì tôi nghĩ nó liên quan đến lỗi phần mềm ... Tôi có một phần mềm đã triển khai lớp BlackHole để quản lý một loại ngoại lệ rất đặc biệt ở một trong những các thành phần. Nó có vẻ như (và thực sự là) một hack rõ ràng kỳ lạ và bẩn thỉu, nhưng bản thân việc đặt tên rất tuyệt vời, tất cả chúng tôi đều đánh giá cao nó là một cách khá tuyệt vời để xử lý một thất bại! :)