Hãy nhớ rằng - không có điều gì là môi trường phát triển chung "lý tưởng" có thể được áp dụng trong mọi trường hợp. Thông thường, các hạn chế kỹ thuật ngăn cản việc áp dụng đầy đủ các ý tưởng này. Là một nhà thầu của một số năm nổi tiếng, tôi đã phát hiện ra rằng hệ thống tồi tệ nhất mà tôi làm việc không có quyền quản trị cục bộ, mọi cài đặt nhỏ đều yêu cầu được hỗ trợ kỹ thuật, và họ luôn nguyền rủa chúng tôi khi yêu cầu quá nhiều.
Kịch bản tốt nhất mà tôi có là: nếu bạn định xóa quyền quản trị cục bộ, hãy cung cấp cho họ máy ảo được lưu trữ cục bộ mạnh mẽ. Họ nên có một DMZ trên mạng để họ có thể làm bất cứ điều gì họ muốn với máy ảo. Nếu họ làm hỏng một thứ gì đó, bạn có thể khôi phục lại một máy ảo từ tập tin. Điều quan trọng với kịch bản này là sử dụng một kho lưu trữ nguồn tốt như GIT, Team Foundation Server, SVN, vv. Đây là cách phát triển được thực hiện - không phụ thuộc vào các máy trạm của nhà phát triển ngoài việc thực sự gõ mã .
Danh mục này và lời khuyên khác:
Cho phép các nhà phát triển toàn tự do trong máy ảo của họ (truy cập Internet, cài đặt ứng dụng, vv)
Sử dụng một kho kiểm soát nguồn tốt mà mỗi nhà phát triển có thể chi nhánh theo ý muốn từ. Thực thi kiểm tra liên tục (như một lần một giờ) và có một máy chủ xây dựng (tích hợp liên tục hoặc "CI") để kiểm tra các bản dựng bị hỏng. Máy chủ CI sẽ gửi email cho tất cả mọi người trong nhóm khi xây dựng bị hỏng.
Cung cấp cho mỗi máy địa phương những tài nguyên tốt nhất bạn có thể mua được. Tôi nghe lý luận này rằng 4GB là đủ cho Visual Studio. Không có gì là thêm từ sự thật. Bạn có thể quyết định gắn bó với điều này, nhưng hãy tin tưởng tôi - khi máy phát triển của bạn phân trang đĩa nhiều lần bởi vì mỗi lần xây dựng chiếm nhiều bộ nhớ, bạn sẽ mất vài phút mỗi giờ - mỗi tuần - trong năng suất bị mất vì máy chậm.
Cố gắng không nhìn xuống mũi của bạn tại nhà phát triển - họ sẽ ngửi thấy nó một dặm và gửi lại cho bạn (muốn chịu trách nhiệm cho các nhà phát triển không hài lòng khi xóa mã nguồn hoặc giới thiệu lỗi?). Có thể là lý do họ là "nhà phát triển cẩu thả" là bởi vì không ai khác trong công ty có thể quản lý mọi người. Các đội tốt nhất được dẫn dắt bởi các nhà quản lý dự án thông minh, cởi mở, có giáo dục. Họ có được những gì họ cần khi họ cần. Chi phí của phần mềm là NOTHING so với chi phí tiền lương của một nhà phát triển - nhưng tôi vẫn nghe về điều này hoặc người quản lý từ chối một sản phẩm bởi vì nó chi phí lớn. Lần trước nó là XML Spy - bởi vì "Notepad sẽ đủ". Chắc chắn nó sẽ - giống như chân đủ thay vì xe hơi, nhưng tôi không muốn đi bộ ở khắp mọi nơi chết tiệt!
Để chống lại các hạt - Tôi thực sự nghĩ rằng việc loại bỏ khả năng quản trị từ tất cả các nhà phát triển là một điều tốt NẾU bạn có thể tạo ra một poweruser với hầu hết các khả năng. Vấn đề lớn nhất tôi tìm thấy từ nhóm là những người áp dụng các bản vá lỗi hoặc cài đặt phần mềm bổ sung mà họ chưa xóa với quản lý. Lần trước ai đó cài đặt ReSharper và sau đó phàn nàn rằng máy đã di chuyển chậm. Họ có một máy 2GB và ReSharper 5 cần 4GB tối thiểu để chạy trên đầu trang của Visual Studio 2010.
Addtionally - học cách phát triển mà không cần sử dụng chuột. Đây là một khái niệm căn bản mà tôi biết nhưng con chuột chậm hơn các phím tắt. Trừ khi biểu tượng nằm ở góc của trang, phải mất trung bình một hoặc hai giây để tìm biểu tượng và nhấp. Ghi nhớ một phím tắt nhanh hơn.
Cảm ơn thông tin chi tiết. Tôi thực sự chỉ muốn những gì tốt nhất cho các lập trình viên và cho bộ phận CNTT. Tôi đang nghĩ rằng bây giờ cho mỗi lập trình viên/máy ảo của riêng mình để phát triển trong khi vẫn loại bỏ đặc quyền quản trị cục bộ trên máy của họ sẽ là cách tốt nhất. Có cái gì chúng ta có thể sử dụng để tự động hóa xây dựng mã NET của họ từ SVN mỗi đêm vào máy chủ thử nghiệm? – zewsk
Bao giờ nghe nói về CruiseControl.Net? Tôi nghĩ rằng nó có thể làm việc xây dựng tự động cho bạn. –