Tôi đã suy nghĩ về câu hỏi chính xác này rất nhiều.
Tôi nghĩ điều quan trọng là phải phân biệt giữa cắt theo trách nhiệm cá nhân so với cắt theo trách nhiệm của nhóm. Tôi sẽ tập trung câu trả lời này chủ yếu vào các đội cắt lát.
Đối với một số nền tảng: Tôi đã làm việc trong các dự án với các nhà phát triển toàn ngăn xếp, các nhà phát triển một tầng, các nhóm dọc (toàn ngăn xếp), các nhóm ngang (một cấp) và các nhóm chéo. Theo nhóm đường chéo, tôi có nghĩa là chứa tất cả các tầng cần thiết cho một câu chuyện nhưng không nhất thiết là tất cả các tầng trong hệ thống và cũng có thể chứa nhiều nhà phát triển tập trung vào cùng một tầng; nói cách khác theo chiều dọc trong tinh thần nhưng có thể hơi ngang về ngoại hình hoặc chi tiết thực hiện.
Gần đây tôi đã làm việc trong một nhóm chuyển từ các đội ngang sang các nhóm chéo (gần như dọc). Nó đã được hướng dẫn đặc biệt để thấy cùng một nhóm người được sắp xếp theo hai cách khác nhau. Nó làm cho một số lợi thế và bất lợi khá rõ ràng.
Tôi sẽ làm tròn ý kiến của mình cho đến nay với so sánh tóm tắt sau:
Đội ngang
Ưu điểm:
- Thúc đẩy sự tách biệt tốt giữa các mối quan tâm và các tầng liên kết lỏng lẻo
- Quản lý phân phối khối lượng công việc dễ dàng hơn nhiều
- Dễ dàng cho chuyên gia kỹ thuật dẫn đến quản lý
- Thúc đẩy sự hợp tác nội bộ, thực tiễn tốt nhất, niềm tự hào và văn hóa xuất sắc
- Căn chỉnh với các mẫu giao tiếp tự nhiên / nổi lên
Nhược điểm:
- Có thể dẫn đến sự cô lập các tầng và do đó cản trở giao tiếp giữa các tầng
- Cho phép văn hóa "bong bóng" tầng nếu không được thừa nhận
- Khó tận dụng sự lãnh đạo chung
- Người Ấn giáo nói chung
Đội dọc / đường chéo
Ưu điểm:
- Tất cả các phần của câu chuyện người dùng trong một nhóm ("một cửa hàng")
- Cụ thể hỗ trợ phân phối các câu chuyện n-tier trong một lần chạy nước rút (mặc dù bạn có thực sự cần điều đó không?)
- Thúc đẩy sự hợp tác giữa các tầng lớp và tăng trưởng các kỹ năng tổng quát
- Hỗ trợ tổng quát
Nhược điểm:
- Quản lý phân phối khối lượng công việc khó khăn hơn nhiều
- Cho phép phân tách mối quan tâm kém và các tầng liên kết chặt chẽ
- Chuyên môn hóa người Ấn Độ bằng cách cắt giảm truyền thông nội bộ; thật khó để thấy làm thế nào một nền văn hóa xuất sắc có thể phát sinh từ cấu trúc này mà không thêm các hành vi theo chiều ngang / chuyên gia
Tôi không nghĩ rằng thành viên nhóm có giải pháp một kích cỡ phù hợp với tất cả. Tuy nhiên, có vẻ như khá đơn giản rằng nhóm dọc xếp hàng tốt hơn cho các tổ chức yêu cầu khái quát hóa. Nếu các kỹ sư của bạn là những người nói chung và thích làm việc toàn bộ, đó là một lý do khá tốt để xem xét các nhóm dọc. Đội ngang xếp hàng tốt hơn cho các tổ chức yêu cầu chuyên gia. Nếu các kỹ sư của bạn là chuyên gia, đó là một lý do khá chính đáng để xem xét các đội ngang.
Như những người khác đã đề cập, các cấu trúc / hành vi thứ cấp cắt theo hướng khác có thể giúp giảm thiểu những nhược điểm của một trong hai hệ thống. Một yếu tố giảm thiểu thú vị là thời gian chạy nước rút. Chạy nước rút ngắn làm cho một số nhược điểm của các đội ngang dễ chấp nhận hơn. Nếu bạn có thể xây dựng phụ trợ trong tuần này và frontend vào tuần tới, điều đó có thể đủ nhanh?
Để áp dụng một số nguyên tắc được đề xuất này cho một vấn đề trong thế giới thực ... Tôi sẽ nói rằng các lát cắt ngang đã hoạt động khá tốt cho nhóm phát triển SaaS rất thực mà tôi đã làm việc đó là giải quyết các vấn đề kỹ thuật rất khó khăn ở mọi tầng ( theo tôi, chuyên môn hóa là vô cùng quan trọng), trong đó tần suất giao hàng (và độ tin cậy ở mức độ chi tiết / tần suất cao) rất quan trọng đối với thành công kinh doanh. Xin lưu ý rằng kết luận này dành cho một đội trong thế giới thực rất đặc biệt, không phải là một tuyên bố chung về tính ưu việt của cắt ngang.
Một cảnh báo: Tôi có lẽ thiên vị khi tin vào những tuyên bố về khả năng tổng quát của bất kỳ cá nhân nào trong thế giới phát triển phần mềm hiện đại mà không có bằng chứng quan trọng, mặc dù tôi đã biết một vài nhà tổng quát đặc biệt hiếm có. Tôi cảm thấy rằng tính tổng quát là một thứ tự cao (dọc?), Đặc biệt khi mỗi tầng phát triển phức tạp và với sự phát triển của các ngôn ngữ / nền tảng / khung / triển khai thay thế, mỗi đáp ứng nhu cầu khác nhau. Những ngày này đặc biệt, một jack của tất cả các giao dịch có thể dễ dàng trở thành bậc thầy của không. Ngoài ra, giai thoại, tôi thấy hầu hết các cá nhân muốn chuyên môn hóa một chút, một lần nữa với một số ngoại lệ.