2009-09-14 24 views
15

Tôi sắp bắt đầu làm việc trên một dự án mới tại một công việc mới, và tôi đã gặp phải một chút vấn đề. Họ không phải là fan lớn của MVC.Thuyết phục đồng nghiệp để sử dụng MVC

Lý do tại sao lỗi này là tôi tuyên bố rằng họ hiện đang sử dụng Khung công tác Zend khi họ thực sự không. Họ hầu như không sử dụng các lớp mô hình DB, và đó là về nó. Không có MVC, không mở rộng các lớp học Zend để đạt được mục tiêu của mình.

Dự án cuối cùng tôi đã làm việc trên Zend đã sử dụng rất nhiều. Một khi dự án đã được thực hiện, chúng tôi đã được trái với một khuôn khổ MVC tốt đẹp. Bộ điều khiển rất sạch sẽ, hầu hết các nhiệm vụ nặng nề logic là trong các mô hình mà nó thuộc về, và một mô hình hệ thống cửa ngõ đẹp để khởi động. Để đi từ đó đến mã sphagetti với SQL viết tay là một cú sốc.

Vì vậy, tôi hỏi bạn, cộng đồng StackOverflow. Làm cách nào để thuyết phục đồng nghiệp của tôi chuyển sang khuôn khổ MVC? Tôi có cảm giác rằng họ sợ sử dụng MVC bởi vì nó có nghĩa là một đường cong học tập cho hai lập trình viên đã thành lập (đó là một sự khởi đầu nhỏ). Tôi đã suy nghĩ về làm một bản sao của dự án hiện tại bằng cách sử dụng MVC và tất cả sự tốt lành của Zend trong một kho SVN riêng biệt (theo thời gian của riêng tôi), và hiển thị nó cho họ trong một vài tuần để xem họ nghĩ gì.

Bất kỳ suy nghĩ nào về cách chuyển đổi đồng nghiệp thành MVC?

Trả lời

16

Có một bài đăng hay bạn nên đọc "điều quan trọng nhất họ không dạy ở trường là gì". Một trong số đó là kỹ năng xã hội. Có vẻ như tôi đang rơi trên khuôn mặt của bạn ở đây.

Trước tiên, bạn là người mới trong nhóm. Bạn là ai để nói cho họ biết phải làm gì hoặc làm thế nào để làm điều đó? Nếu bạn viết lại mã, nếu nó tồi tệ hơn bạn là một thằng ngốc. Nếu bạn thành công, bạn là một ass. Dù bằng cách nào, bạn hoặc là cười hoặc trên đường ra.

Những gì bạn cần làm là giải quyết vấn đề sau: "Làm cách nào tôi có thể học cách phù hợp với nhóm này, giúp dự án thành công và đóng góp?" Từ quan điểm này, cho thấy những người khác rằng bạn biết nhiều hơn họ làm và rằng họ là kẻ ngốc không phải là giải pháp.

Mở rộng quan điểm của bạn - vấn đề của bạn ở đây có lẽ là 10% kỹ thuật, 40% học cách hoạt động như một phần của nhóm, 30% xã hội và 20% giao tiếp.

Từ quan điểm của dự án, bạn nghĩ điều gì quan trọng hơn? Bạn nghĩ gì sẽ hoàn thành dự án đúng hạn?

a) Mọi người cùng làm việc một cách hiệu quả và hài hòa trong khuôn khổ sai. b) Nhóm chia tay với 1 người làm việc trong 1 khuôn khổ, 2 người khác bỏ qua anh ta và mọi người làm cho nhau trông xấu với người quản lý/quản lý nhóm.

Bạn đã nói phần của bạn, bây giờ im lặng và làm công việc họ yêu cầu bạn làm, làm tốt, làm nhanh, và nếu bạn muốn, hãy đặt nhiều MVC vào phần đó (phần của bạn) muốn miễn là bạn không nói cho ai biết làm thế nào để viết mã của họ :) Nếu bạn quá tốt, bạn sẽ hoàn thành nhanh hơn, sau đó yêu cầu họ làm nhiều hơn và lặp lại các bước trên.

Khi bạn đã giành được sự tôn trọng của họ và lý tưởng là tình bạn, hãy thử nhắc lại chủ đề.

+3

Tôi đã chọn đường "Thêm một phần tại một thời điểm". Tôi đã thêm một hệ thống mô hình cổng vào để thay thế thực hành sql viết tay, và họ đã thực sự tỏa sáng với nó. Chúng ta sẽ thấy mọi thứ diễn ra thế nào! –

+0

Cách tiếp cận tốt! Điều này giúp mục tiêu tổng thể của "giúp làm cho dự án này thành công và đóng góp". –

+2

+1 cho người trả lời và +1 cho người hỏi vì đã không tức giận về những lời chỉ trích khá thô lỗ và thực sự chọn lên nó. Cởi mũ! –

4

Nếu đây là "khởi động nhỏ" không có nhân viên kỹ thuật trong nhân viên, bạn có thể sẽ không có thêm thời gian từ quản lý để làm lại hầu hết mọi thứ đã hoàn thành. "Thời gian để thị trường" là từ khóa mà họ có thể sử dụng như là giải thích -> "Làm cho nó hoạt động đầu tiên, nhanh chóng".

Tôi không thích điều này, nhưng điều này có thể là thực tế của bạn.

1

Bạn có thể thử và hiểu rõ các ưu tiên của chúng.

Nếu họ muốn hoàn thành công việc nhanh chóng, một khung lý do tồn tại là làm nhiều công việc soạn sẵn, tiết kiệm thời gian bạn phải chi tiêu để viết nó.

Nếu họ muốn mã có thể duy trì, có những lợi ích rõ ràng khi có mã được đặt trong cấu trúc thông thường, trong các mẫu thiết kế thông thường.

Nếu họ muốn mã có thể kiểm chứng (Tôi không biết nhiều về khả năng kiểm thử trong PHP), việc mở rộng lớp học trong các mẫu nổi tiếng mang lại khả năng kiểm thử cao hơn.

Nếu nó chỉ là không đủ năng lực thì giáo dục là câu trả lời duy nhất (và cách nào tốt hơn để làm điều đó hơn là sử dụng một khung được thiết kế tốt?).

2

Cố gắng thuyết phục họ sử dụng mô hình ưa thích của bạn không có khả năng làm việc, hầu hết tất cả vì họ, rất có thể, không thấy những lợi ích giống như bạn làm.

Các bước nhỏ hoạt động tốt nhất. Đừng đi ra ngoài và viết lại 2 tuần làm việc trong một ngày, bạn sẽ chỉ làm cho mình trông giống như một con lừa.

Thay vào đó, hãy làm những gì tốt nhất, đồng thời giữ liên lạc chặt chẽ với đồng nghiệp của bạn. Trừ khi họ tin rằng họ biết tất cả (trong trường hợp đó, chỉ đơn giản là không có hy vọng cho bạn) sớm hay muộn, họ sẽ hỏi lời khuyên của bạn về các vấn đề. Chỉ cần giải thích chúng như thế nào, và quan trọng hơn, tại sao vậy, bạn sẽ giải quyết vấn đề cụ thể đó.

Cố gắng không bắt gặp như một người biết tất cả, thay vào đó, luôn chuẩn bị các đối số. Và đừng mong đợi thành công trong vài tuần nữa. Phải mất thời gian, nhưng nếu đồng nghiệp của bạn xứng đáng với công việc của họ, cuối cùng họ sẽ học được những lợi ích.

Ofcourse, nếu họ có các đối số rất cụ thể chống lại việc sử dụng bất kỳ mô hình nào, hoặc MVC nói riêng, bạn sẽ chỉ phải tôn trọng tình cảm đó.

0

Về cơ bản, những gì bạn muốn làm là giới thiệu một thay đổi khá sâu vào môi trường làm việc của bạn. Đây là một điều rất khó làm ngay cả đối với những người có kỹ năng xã hội xuất sắc. Bạn sẽ phải thực hiện các bước nhỏ xảy ra trong một thời gian rất dài, nhận thức sâu sắc về bản ngã, thuyết phục mọi người, và cuối cùng thực sự đưa ra lời hứa của bạn rằng những thay đổi sẽ tốt hơn.

Tôi nghe một podcast/phỏng vấn khá hay về chủ đề này cách đây không lâu: link. Rất nhiều thông tin hữu ích trong đó. Điều gây sốc nhất là nhiều người chỉ đơn giản là KHÔNG THÍCH thay đổi và KHÔNG LÀM VIỆC. Bạn phải biến họ thành một phần của quy trình và thu hút họ đầu tư.

3

Đây là một trong những "Những điều bạn không bao giờ nên làm".

http://www.joelonsoftware.com/articles/fog0000000069.html

là chuyển sang MVC sử dụng tốt nhất các nguồn lực ngay bây giờ?

Bạn không thể tính giờ theo thời gian của riêng mình là "miễn phí" vì đó là gian lận. Bạn có thể làm bất cứ điều gì trong 0 giờ của công ty thời gian nếu nó đã được tất cả được thực hiện vào thời gian của riêng bạn - viết lại nó RoR, viết nó trong Lisp, v.v.

Vì vậy, hãy nói rằng nó sẽ đưa bạn N giờ để viết nó . Bạn cũng đã thêm vào những giờ cần thiết để kiểm tra hồi quy nó để đảm bảo rằng nó hoạt động hoàn hảo? Không? sau đó thêm vào 2N giờ khác. Làm cách nào để làm quen với các nhà phát triển khác bằng mã mới? Không?sau đó thêm vào 2N giờ khác.

Vì vậy, chúng tôi có thể lên đến 5N giờ ngay bây giờ. Những thứ khác cần phải làm gì trước ngày tàu tiếp theo của bạn? Bạn cũng có thể phù hợp với những giờ thêm 5N này và vẫn thực hiện ngày đó không? Nếu vậy, các đồ vật cho con tàu ngày sau đó là gì? Các mục có thể được hoàn thành trong 5N giờ đáng giá hơn viết lại trong MVC?

Lợi ích, thời gian và bảo trì khôn ngoan để viết lại là gì?

Có thể bạn không nghĩ về điều này từ quan điểm quản lý dự án. Từ quan điểm đó, cá nhân tôi nghi ngờ rằng viết lại là cách sử dụng thời gian tốt nhất của bạn.

0

Có thể bạn sẽ không thể thuyết phục họ, nhưng bạn có quyền nói ý kiến ​​của mình - bạn là thành viên của nhóm. Nó không liên quan cho dù bạn mới hay không.

Các vấn đề liên quan