2008-11-27 23 views
19

Chúng tôi thường là 1-4 nhà phát triển/giám đốc nghệ thuật/copywriter trên từng dự án tại công ty của tôi, bạn nên sử dụng phương pháp nào để sử dụng? Nhanh nhẹn? XP? Scrum? Thứ gì khác? (Tôi biết họ là tất cả các biến thể về khái niệm cơ bản giống nhau, có)Phương pháp dự án cho các nhóm nhỏ

Trả lời

11

Tôi không nghĩ rằng có một câu trả lời chung cho nó, câu hỏi quá rộng, và bạn không thể chỉ "áp dụng một phương pháp" đó là một sản phẩm mà bạn lấy ra khỏi hộp, đó là thứ mà bạn phát triển theo thời gian ... nhưng trong mọi trường hợp, tôi khuyên bạn nên lấy một bản sao của cuốn sách này: Head First Software Development

Sau đó, bạn thích ứng với ý tưởng bạn thích dự án của bạn. Đừng lo lắng về tên và buzzwords, họ sẽ được tất cả "passé" vào năm tới anyway. Giữ nó đơn giản lúc đầu, áp dụng các ý tưởng có ý nghĩa hơn và cung cấp cho hầu hết các bang cho buck, và không cố gắng giải quyết vấn đề mà không tồn tại được nêu ra. Nó sẽ là một khởi đầu rất tốt.

+7

Cập nhật: Đó là năm 2012 và Scrum và Agile chưa được thông qua. –

+1

Cập nhật: 2016 bây giờ, vẫn không vượt qua – Kevin

5

Đối với lập trình cặp, ít nhất, nó là tốt nhất để có một số chẵn các lập trình viên ...; P

Một trong những điều tốt đẹp về nhóm nhỏ là bạn không cần rất nhiều sự ủng hộ hệ thống để giao tiếp nội bộ (một bugtracker trở thành nhiều hơn hoặc ít hơn một danh sách cần làm cho chính mình, nhưng nó là tốt để có anyway). Nếu có một cuộc họp với toàn đội chỉ liên quan đến việc quay quanh charir của bạn và nói "Này, Bob và Carl, hãy xem cái này!", Bạn không thực sự cần tất cả các quy tắc chính thức của một methology anyway. Nhưng các phương pháp nhanh nhẹn nói chung khá phù hợp với các nhóm nhỏ và vừa, nhưng họ yêu cầu các thành viên nhóm tự động.

Tôi sẽ nói chọn bất kỳ ý tưởng nào bạn thích từ các phương pháp khác nhau, chúng có thể được coi là đề xuất.

+1

Theo kinh nghiệm của tôi, các phương pháp tiếp cận Agile, nếu được triển khai tốt, * tạo * thành viên nhóm tự động. –

0

Chúng rất gần với khía cạnh kinh doanh, điều này là điều xấu bởi vì các lập trình viên thường không hiểu rõ ý nghĩa của kế toán, thời gian hoặc quản lý rủi ro, v.v. Họ coi doanh nghiệp là một cơ hội hấp dẫn khác để cải thiện kỹ năng kỹ thuật tinh vi của họ. Vì công ty là nhỏ, có thể là quá mức cần thiết để triển khai các phương pháp phức tạp bên trong nhóm phát triển. Họ có thể tự mình xử lý các câu hỏi kỹ thuật một cách dễ dàng. Những gì họ không thể xử lý là hiểu rằng nếu họ ở gần môi trường kinh doanh không có nghĩa họ không phải là lập trình viên nữa.

Tôi đề xuất thực hiện một số chính sách đơn giản, đảm bảo kỷ luật và tập trung vào khía cạnh kỹ thuật thay vì nói chuyện với khách hàng về các chủ đề kỹ thuật.

+0

Vâng, tôi muốn nói rằng chính xác * bởi vì * lập trình viên không hiểu mặt kinh doanh rất tốt, họ nên làm việc gần gũi với những người không. Một dự án chạy tốt cần phía doanh nghiệp và bên kỹ thuật là phù hợp. Cách tiếp cận Agile thực hiện điều đó. –

+0

Agile là gì? Một cây đũa thần? =) Các nhà phát triển không biết doanh nghiệp là gì và khách hàng không biết lập trình là gì. Tiếp xúc trực tiếp giữa họ chỉ mang lại sự hiểu lầm và thực hành xấu – Din

0

Câu trả lời là, proverbially, nó phụ thuộc ...

Mỗi đội là một sự pha trộn của tính cách và khả năng, và mỗi thành viên trong nhóm là khác nhau. Thay vì tập trung vào việc tìm kiếm "phương pháp luận", tôi khuyên bạn nên tập trung vào những gì mỗi thành viên trong nhóm cần để thành công và kết hợp với những gì dự án cần để thành công. Bạn sẽ tìm thấy phương pháp đúng và kết hợp các quy trình giữa hai cân nhắc này.

Ví dụ, tôi đã dẫn đầu một nhóm nhỏ (ba nhà phát triển toàn thời gian cộng với một số nhà thiết kế giao diện người dùng bán thời gian) trong bảy tháng qua. Tôi đã thấy rằng các quy trình/thủ tục sau hoạt động tốt cho chúng tôi ...

  • Áp dụng ngắn hạn (60-90 ngày), xoắn ốc được xác định rõ ràng, giữ cho nhóm tập trung và định hướng phân phối và giúp chúng tôi giảm thiểu rủi ro.
  • Thông qua vòng đời lặp lại, trong đó chúng tôi thực hiện một vài lần giao hàng gia tăng cho khách hàng trong suốt vòng quay và thảo luận về những gì chúng tôi đã thực hiện. Làm như vậy cho phép chúng tôi và khách hàng đảm bảo rằng chúng tôi đang giải quyết nhu cầu của họ.
  • Điều chỉnh nhiệm vụ và chỉ đường cho từng thành viên trong nhóm. Ví dụ, một thành viên trong nhóm là một nhà phát triển cơ sở hơn, trong khi các thành viên khác trong nhóm là một nhà phát triển rất giỏi nhưng không xử lý tốt các tác vụ mở. Họ yêu cầu các cách tiếp cận khác nhau.

Đương nhiên, tôi cũng đã điều chỉnh quy trình CM và thực hành thử nghiệm để phù hợp với nhu cầu của dự án và của nhóm.

2

Đối với các nhóm nhỏ như vậy, tôi chắc chắn sẽ xem xét một cách tiếp cận Agile để phát triển phần mềm. Cá nhân, tôi có thể sử dụng một sự pha trộn của XP, Scrum và Lean, bởi vì tôi biết những điều tốt nhất. Đặc biệt là nếu bạn mới sử dụng Agile, XP cung cấp một điểm khởi đầu tốt để từ đó bạn có thể tìm thấy sự thích nghi cụ thể cho dự án của bạn. Tôi rất khuyên bạn nên cuốn sách "Nghệ thuật phát triển nhanh".

1

Nhóm phát triển 3 của tôi chỉ sử dụng Kanban + triển khai liên tục và giúp chúng tôi di chuyển nhanh chóng. Tôi đã xem Scrum và những người khác và có quá nhiều chi phí cho nhóm nhỏ của chúng tôi.

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