Nó cần phải là một sự kết hợp hợp lý của tất cả các câu trả lời cho đến nay. Cuối cùng, khi bạn nói về một nhóm người thông minh (nhà phát triển), bạn phải cung cấp cho họ lý do tại sao hành vi đó lại quan trọng và cung cấp cho họ đủ quyền kiểm soát cách hành vi đó được thực hiện mà họ được đầu tư để thực hiện đúng. Các nhiệm vụ từ phía trên nói chung là lỏng lẻo với những người thông minh, bởi vì nếu họ không đồng ý rằng vấn đề là vấn đề, thì họ có thể dành nhiều thời gian làm việc xung quanh nhiệm vụ hơn là tuân theo quy tắc.
Đây là một vài chiến thuật của tôi:
Cam kết thay đổi:
Đầu tiên, nhóm cần thống nhất khi nào nên cam kết và những gì cần cam kết. Hoàn toàn cần thiết là một thiết lập xây dựng có ý nghĩa, để mọi người không trì hoãn chỉ vì họ không biết đặt cái gì vào đâu. Và một sự đồng thuận về thời điểm / tần suất đăng ký. "Không phá vỡ công trình" là một quy tắc tốt rõ ràng, nhưng nó được kiểm tra như thế nào và ai được thông báo về điều đó? Một điều cơ bản khác là "nó không được thực hiện nếu nó không được đăng ký".
Hầu hết các nhà phát triển mà tôi biết đều rất vui khi kiểm tra mã IF:
- Quá trình kiểm tra dễ dàng
- Quá trình đồng bộ hóa rất dễ dàng (bao thanh toán trong các thay đổi từ các nhà phát triển khác)
- Thấy thay đổi và di chuyển giữa các phiên bản thật dễ dàng
Một điều mà tôi nhận thấy gần đây là việc đăng ký trở nên thường xuyên hơn và ít đau đớn hơn khi chúng tôi tiến tới một công cụ CM mới. Nhóm của chúng tôi là tiên phong Rational Team Concert trước đây đã sử dụng Clearcase. Tôi không có ý định quảng cáo các công cụ, nhưng làn sóng kiểm tra phát trực tuyến mới (với tôi) với rất nhiều sự hợp nhất nhỏ, nhanh chóng khiến cho việc đăng ký sớm và thường xuyên trở nên hấp dẫn hơn.
Để các nhà phát triển chịu trách nhiệm loại bỏ cơn đau CM thường làm tăng số lượng đăng ký trong đó xảy ra.
Tuân thủ kiến trúc - Không viết các vấn đề về mô hình trong chế độ xem và bộ điều khiển
Tôi đang đặt nó trong cụm chung của "làm kiến trúc chính xác". Tôi đồng ý với bất cứ ai nói đánh giá ngang hàng - áp lực ngang hàng là tuyệt vời cho việc này. Một trong những cách tôi thường thấy mọi người tham gia vào các hoạt động tốt nhất trong lĩnh vực này là khi các đồng nghiệp của họ hỏi họ tại sao họ lại làm theo cách khác (cách không đúng như vậy). Nói chung, câu hỏi "tại sao" sẽ dẫn mọi người xuống con đường nhận ra chính họ tại sao họ nên làm điều đó khác đi. Khi mọi người có một lý do được hiểu rõ về thực tiễn tốt nhất, việc tuân thủ nó sẽ dễ dàng hơn nhiều.
Ngoài ra, nếu có một số hình thức liên kết một người với một quyết định, thì việc gán lỗi trong khu vực đó có thể dễ dàng hơn ... vì vậy nếu một người chịu trách nhiệm sửa lỗi trong một khu vực có thiết kế bị lỗi, thì cần phải có một cái gì đó ngay trước đó họ có thể chuyển sang một cái gì đó mới và thú vị có thể là một động lực lớn.
Tránh mã hóa
Tôi sẽ bắt đầu với các tiêu chuẩn mã hóa rõ ràng và tích hợp đánh giá tiêu chuẩn mã hóa trong các đánh giá ngang hàng. Mã hóa cứng là một trong những điều có thể dễ dàng là một hộp kiểm trong chương trình nghị sự đánh giá ngang hàng.
Tôi sợ rằng loại điều này là điều mà tôi đã thấy nó trở thành vai trò của đội dẫn đầu để thực thi quy tắc. Trong các đội tôi đã điều hành, chúng tôi thường sẽ không cho phép ai đó tiếp tục cho đến khi họ sửa các nhận xét từ đánh giá ngang hàng về mã của họ. Và "không mã hóa cứng" là một nhận xét đánh giá ngang hàng thường xuyên.
Nói chung
Với hầu hết mọi thực hành tốt nhất, tôi nghĩ bạn phải chọn các trận đánh của mình. Không có đội sẽ trở nên hoàn hảo tuyệt đối. Nhưng bạn có thể theo dõi các điểm đau chính của bạn và bắt đầu giải quyết chúng thành cụm. Tôi nghĩ rằng nó trở thành vai trò của người lãnh đạo để thực sự biết đâu là điểm đau của đội so với một sự châm biếm khó chịu của một cá nhân cụ thể.
Nếu nhóm của bạn đang bỏ lỡ một thực hành tốt nhất cụ thể, tôi nghĩ câu hỏi đầu tiên phải là "điều này gây ra bao nhiêu thiệt hại?" nếu câu trả lời là "tối thiểu", thì có lẽ nó không đáng thời gian. Một số thực tiễn tốt nhất có liên quan nhất đến các loại hệ thống cụ thể - trong khi chúng có tổng thể tốt, chúng có thể không đáng để chiến đấu cho các hệ thống mà thực tiễn không phải là sự xuất hiện thường xuyên hoặc là phần chính của hệ thống.
Nếu câu trả lời cho "bao nhiêu damange?" là "CÒN !!!", sau đó bạn có thể bắt đầu xây dựng một trường hợp để cho nhóm thấy rằng tất cả những đau đớn và đau khổ này có thể được loại bỏ bằng cách sửa chữa một điểm thiếu sót này trong các thực tiễn tốt nhất. Hầu hết mọi người đều vui vẻ tránh đau đớn và đau khổ và nó thay đổi cuộc đối thoại từ "làm điều này bởi vì tôi đã nói với bạn", thành "chúng tôi quyết định làm điều này vì nó tốt hơn".