Có một lợi thế cho môi trường phát triển không đồng nhất?


10

Tôi làm việc với một nhóm các nhà phát triển, những người được đưa ra các lựa chọn về phần cứng và phần mềm họ chạy. Cảm giác của chúng tôi là kịch bản này cho phép chúng tôi thấy một loạt các hệ thống mục tiêu trước khi thử nghiệm. Kinh nghiệm của chúng tôi là chúng tôi tìm thấy một số vấn đề lạ trong các trình duyệt và hệ điều hành khác nhau ngay sau khi đưa ra sự cố. Nhưng đó chỉ là kinh nghiệm của một nhóm.

Sự đa dạng của các hệ thống này là khó khăn đối với các nhóm cơ sở hạ tầng và bảo mật của chúng tôi, vì vậy nó xuất hiện thường xuyên như một điểm đau.

Có lợi hơn khi có môi trường phát triển đồng nhất hoặc không đồng nhất trên một nhóm các nhà phát triển?


1
Hầu hết các vấn đề phát triển phần mềm như thế này không được nghiên cứu chính thức. Nếu bạn đang tìm cách thuyết phục cấp trên hoặc đồng nghiệp, bạn cần tìm một số cách khác để làm điều đó. Điều đó nói rằng, hãy xem ở đây: netlib.org/utk/ con / prreal
Robert Harvey

Tôi nghĩ rằng nó đáng để bạn tự kiểm tra nhóm. Bằng cách này, bạn có thể thấy nếu bạn duy trì lợi ích cho nhà phát triển khi được yêu cầu sử dụng môi trường đồng nhất cùng với việc xác định xem bạn có đạt được lợi ích bảo mật và cơ sở hạ tầng mà các nhóm tuyên bố họ sẽ nhận được hay không. Không phải những điều này là đơn giản, nhưng việc tìm kiếm các lập trình viên giỏi rất khó khăn và tốn kém vì vậy tôi không chắc những đội khác muốn cải thiện khu vực của họ có thực sự chỉ là cái đuôi vẫy chó không.
JeffO

1
Một câu hỏi xuất sắc cuối cùng phải được trả lời bởi các yêu cầu sản phẩm / dịch vụ và quản lý quen thuộc với các lợi ích và chi phí của sự không đồng nhất mà bạn mô tả. Theo kinh nghiệm của tôi, sự đa dạng không cần thiết có xu hướng làm tăng chi phí, đặc biệt khi đó là sự phân tâm thú vị khỏi các yêu cầu nhàm chán khác. Và có chi phí duy trì sự đa dạng công nghệ một khi người tạo ra nó cho một thách thức khác. Tôi cũng quan tâm đến các nghiên cứu trường hợp liên quan. +1
bvj

6
Nhiều cửa hàng thành công để lại an ninh phát triển và cơ sở hạ tầng cho các nhà phát triển. Bạn gửi mã được đánh giá ngang hàng đến một kho lưu trữ và nó không có vấn đề gì nếu máy tính xách tay của bạn bị hack vì chúng tôi biết nguồn của bạn sạch. Chúng tôi có thể làm điều này bởi vì chúng tôi không tin tưởng bạn hơn bất kỳ ai đã hack máy tính xách tay của bạn. Nhưng bởi vì chúng tôi làm việc theo cách này, bạn có thể có root. Tôi đã làm việc cả hai cách. Tôi muốn có root. Vì vậy, lợi thế của sự phát triển không đồng nhất là nó là một điểm đau cho những người cố gắng lấy gốc rễ của tôi.
candied_orange

2
Tôi muốn đề xuất một thực tế rằng nhóm của bạn dường như thích có thể chọn môi trường của riêng họ là một lợi thế ở một mức độ nào đó

Câu trả lời:


3

Một lợi thế là bạn gặp phải và phải giải quyết các vấn đề tương thích và phân kỳ đa nền tảng sớm trong quá trình phát triển. Mọi người đều quen với việc đối phó với những con khỉ và chướng ngại vật như vậy.

Bạn cũng đang nhìn thấy nhược điểm của sự phân kỳ như vậy: Môi trường khó thiết lập, duy trì, bảo mật và phát triển hơn vì những phân kỳ đó. Mọi người phải làm việc về các vấn đề phân kỳ sớm và thường xuyên. Đặt Chaos Monkey lỏng lẻo ngay từ đầu có thể là một sự phân tâm đáng kể từ việc tiến bộ về phía trước.

Theo kinh nghiệm của tôi, các phức tạp phân kỳ không đáng để bỏ công sức trừ khi bạn đặc biệt làm việc trên một sản phẩm phải được đa nền tảng. Nhưng, đó là một lời phán xét mà các đội khác nhau phải tự đưa ra. Tôi thích có ít nhất một chút về sự giống nhau trong các nhóm dự án của tôi, nhưng thực tế đó là một mong muốn hơn là một cái gì đó tôi có thể thực thi. Một số người đã và sử dụng Windows, những người khác macOS, những người khác một số hương vị của Linux. Nhân số lần đó tất cả các công cụ mà các nhà phát triển có thể muốn sử dụng.

Bạn có thể đặt ra một số tiêu chuẩn dự án cốt lõi như Python 3.5, PostgreSQL 9.5+, đường dẫn tài sản dựa trên gulp, git, Github, các nhánh bị từ chối, ... mà mọi người phải tuân thủ. Điều này giúp cắt giảm sự phân kỳ, do đó thời gian / nỗ lực cần thiết để chứa và xáo trộn nó. Càng nhiều công ty và khóa bước tổ chức của bạn, bạn càng có thể yêu cầu tiêu chuẩn hóa và phổ biến hơn. Các nhà phát triển, tuy nhiên, có xu hướng là những con mèo ẩn dụ không thể ẩn dụ. Vì vậy, giữ cho sự khác biệt "xuống một tiếng gầm âm ỉ" thường là điều tốt nhất bạn thực tế có thể làm.


Tôi không nghĩ rằng đó là một câu trả lời hay vì OP đã hỏi rõ ràng về một số nghiên cứu và bài báo chứ không phải ý kiến ​​cá nhân.
KjMag

1
@KjMag Bạn hoan nghênh ý kiến ​​của bạn. Đây là một câu hỏi tôi đã được hỏi trong khả năng chuyên môn nhiều lần trong nhiều năm, bao gồm cả các nhóm công ty và chính phủ trả tiền tốt để nghe câu trả lời. Các trang web Stack Exchange về cơ bản được thiết lập để thu thập và chia sẻ kinh nghiệm có nguồn gốc đám đông. Cái này của tôi ư. Nếu bạn muốn làm một tìm kiếm báo cáo nghiên cứu đầy đủ và đăng thư mục của bạn, có tại.
Jonathan Eunice

@KjMag yêu cầu nghiên cứu và các bài báo không có chủ đề ở đây và tôi đã chỉnh sửa nó ra khỏi câu hỏi. Câu trả lời này sẽ được hưởng lợi từ một số liên kết bên ngoài, nhưng là tự cung cấp và "hữu ích".
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.