Tôi hiện đang thực tập có lương và được giao nhiệm vụ duy trì một hệ thống lỗi thời được phát triển bởi nhiều nhà phát triển (tại các thời điểm khác nhau) trong suốt 5 năm qua. Ban quản lý đồng ý "hệ thống hỗ trợ cuộc sống" và tôi nhận được nguồn cung cấp báo cáo lỗi khá thường xuyên từ người dùng cuối hiện đang sử dụng hệ thống.
Hệ thống sẽ không lỗi thời nếu mọi người vẫn đang sử dụng và nó hỗ trợ các hoạt động kinh doanh. Vì nó vẫn đang được sử dụng, doanh nghiệp không thể vứt nó đi - nó cần được hỗ trợ cho đến khi nhu cầu về hệ thống không còn tồn tại. Đó có thể là một sự thay đổi trong mục tiêu kinh doanh hoặc một hệ thống mới đã được phát triển, thử nghiệm và triển khai thành công cho người dùng cuối.
Thực sự, 5 năm không phải là dài. Tôi đã làm việc với mã 10 năm trước. Nếu nó vẫn phục vụ nhu cầu của người dùng, tại sao lại vứt nó đi? Đó là vứt đi rất nhiều tiền dành cho việc phát triển nó. Cho đến khi nó trở nên không khả thi để duy trì do chi phí ngày càng tăng hoặc các yêu cầu thay đổi mạnh mẽ, không có lý do kinh doanh nào để vứt bỏ nó.
Ban quản lý hiện muốn gia hạn dự án thêm một năm nữa và trong quá trình này gần gấp ba cơ sở người dùng.
Nếu quản lý nói rằng hệ thống này là "hỗ trợ cuộc sống", tại sao họ lại cố gắng triển khai nó hơn nữa? Điều phổ biến là các hoạt động bảo trì tiếp tục trên một hệ thống cũ cho đến khi nó được thay thế, nhưng nếu một hệ thống đang ở giai đoạn cuối, nó thường không được triển khai cho nhiều người hơn. Mở rộng bảo trì là một chuyện, nhưng việc thêm người dùng dựa vào hệ thống là một tình huống hoàn toàn khác.
Đối với tôi, có vẻ như nó không thực sự kết thúc cuộc sống, mà là trong giai đoạn bảo trì và sẽ tiếp tục ở đó cho đến khi hệ thống không còn phục vụ nhu cầu của người dùng.
Là một thực tập sinh (hoặc bất kỳ vị trí cấp nhập cảnh) làm thế nào để tôi "đẩy lùi"? Tôi đã viết một báo cáo nêu rõ mối quan tâm của mình, mặc dù trong một tài liệu kết thúc mở. Có giao thức hoặc loại tài liệu để đề xuất thay đổi? Tôi đang ở một vị trí để đưa ra đề xuất, hay tôi chỉ nên tiếp tục hỗ trợ hệ thống cũ?
Bạn cần tiếp tục hỗ trợ hệ thống cũ. Sau đó, bạn đề cập rằng phần mềm không phải là hoạt động kinh doanh chính của công ty bạn. Trong một môi trường như vậy, công việc của các nhóm phần mềm là hỗ trợ doanh nghiệp chính của công ty. Tuy nhiên, các nhóm phần mềm cũng cần ghi nhớ các mục tiêu kinh doanh.
Trong lúc này, hãy nắm bắt các đề xuất của bạn theo cách không hống hách. Chỉ ra các công nghệ hoặc kỹ thuật khác có thể được tích hợp với hệ thống hoặc được sử dụng nếu / khi một hệ thống mới được tạo và ưu / nhược điểm của chúng. Làm thế nào bạn làm điều này phụ thuộc vào công ty, nhưng xem xét một số điểm sau này, có lẽ thiết lập wiki hoặc trang web hợp tác khác sẽ hữu ích.
Trong một doanh nghiệp phi phần mềm, phần mềm là một chi phí và các nhóm phần mềm (đặc biệt là người quản lý dự án / chương trình phần mềm) nên làm việc để giảm thiểu chi phí xây dựng và bảo trì hệ thống phần mềm càng nhiều càng tốt, đồng thời hỗ trợ nhu cầu của người dùng cuối . Vứt bỏ phần mềm (theo như tôi có thể nói, từ bài đăng của bạn, dù sao đi nữa) đáp ứng nhu cầu của người dùng đi ngược lại những gì vì lợi ích tốt nhất của nhóm phần mềm.
* Để làm rõ, phát triển phần mềm không phải là hoạt động kinh doanh chính của công ty tôi. Như vậy không có giao thức nội bộ tồn tại. Ngoài ra, dự án không có tài liệu chính thức nào cả, không có tài liệu yêu cầu. Sự phát triển là rất đặc biệt.
Đối với tôi, đây là vấn đề. Không sản xuất tài liệu, không phát triển đến một đặc điểm kỹ thuật và thiếu tính nhất quán có xu hướng làm tăng chi phí phát triển phần mềm. Làm việc để khắc phục điều này sẽ là ưu tiên cao nhất của tôi và tôi sẽ làm điều đó bằng cách làm việc trên những thứ như tiêu chuẩn mã hóa, kiểm soát phiên bản, sản xuất mã tài liệu và tài liệu thiết kế, theo dõi lỗi và thông số kỹ thuật yêu cầu.