Có phải Lập trình cực đoan (XP) không tương thích với các ý tưởng được thể hiện trong Peopleware?


16

Tôi vừa đọc xong Peopleware (DeMarco, Lister) và đã nghiên cứu về Lập trình cực đoan (XP) một chút trước đây. Như tôi thấy bây giờ, hai cách tiếp cận gần như dành riêng cho nhau.

Peopleware đề nghị cách ly các lập trình viên khỏi mọi xáo trộn và đặt ưu tiên cho công việc không bị gián đoạn để giúp các lập trình viên đạt được lưu lượng. Mặt khác, XP đề xuất đảm bảo giao tiếp nhiều nhất có thể, thậm chí đề nghị các lập trình viên "ngồi lại với nhau", viết mã theo cặp và thường làm việc trong cùng một phòng (tạo ra nhiều tiếng ồn).

Là hai trường phái tư tưởng cạnh tranh, có lẽ một trong số họ đã được chứng minh đúng / sai hay có một sự thỏa hiệp hiệu quả? Tôi có thể thấy các điểm mà cả hai bên đưa ra, nhưng không thể thấy bất kỳ sự thỏa hiệp hợp lý nào.

Tôi còn rất mới để học quản lý phát triển phần mềm, vì vậy có thể là tôi đã hiểu nhầm điều gì đó. Tất cả các ý kiến ​​hoan nghênh.

PS Là một câu hỏi nhỏ được thêm vào, với tư cách là một lập trình viên, bạn sẽ thấy hiệu quả hơn?


4
Họ không độc quyền. Cặp dev nên làm việc không bị gián đoạn.
Lukasz Madon

@lukas: thậm chí xem xét điều này, còn "ngồi cùng nhau" thì sao?
Aleksandrs Ulme

Câu trả lời:


12

Bạn đã bỏ lỡ điểm với Peopleware. Không nơi nào cuốn sách đề nghị cách ly lập trình viên trong các văn phòng riêng lẻ, nhưng nhóm chúng thành 2 đến 4 người mỗi văn phòng.

Lý do chính là để cách ly các lập trình viên khỏi tiếng ồn không liên quan đến lập trình, chẳng hạn như nhân viên bán hàng hét vào điện thoại, tán gẫu giữa người quản lý và thư ký, tiếng ồn do mọi người di chuyển, tiếng chuông điện thoại, tát cửa, v.v.

Extreme Lập trình hoàn toàn tương thích với văn phòng 2 đến 4. Để thực hiện lập trình cặp, bạn tối đa 2 hoặc 3.


Vâng, xem xét lại điều tôi nhận thấy nhận xét rằng các lập trình viên nên được cách ly "khỏi tiếng ồn khác với những người họ tạo ra" tức là từ những người không lập trình. Cảm ơn!
Aleksandrs Ulme

Tôi đã có thời gian làm việc trong một văn phòng 3 người trong khoảng 5 năm. Nó hoạt động thực sự tốt - nếu mọi người đang làm việc cùng nhau.
quick_now

@quickly_now: bạn làm việc trong một không gian mở bây giờ?

1
Tôi làm việc trong một văn phòng một người bây giờ. Tôi đã từng làm việc trong một văn phòng 3 người, và trước đó trong kế hoạch mở. (Và trước đó ... kế hoạch mở hơn ... và trước đó, một văn phòng có cửa tôi có thể đóng). Sở thích của tôi sau tất cả điều này là một văn phòng một người. Nếu bạn không thể có được sự xa xỉ đó, thì 2-3 người là tốt. Hơn thế chỉ là một cây bút lợn khổng lồ.
quick_now

11

Tôi nghĩ cả hai cách tiếp cận đều mô tả một chiến lược làm việc chung nhưng không nhất thiết là mỗi phút làm việc trong một ngày. Một sự cân bằng phải tồn tại.

Đủ gần để cho phép liên lạc nhanh chóng nhưng rút lui vào một khu vực hẻo lánh khi cuộc thảo luận được thực hiện và công việc thực tế phải tuân theo.

Cá nhân tôi thấy "ngồi cùng nhau" và "tạo ra nhiều tiếng ồn" trong suốt thời gian không hoạt động. Có thời gian để nói chuyện để thảo luận về các vấn đề, quyết định các bước tiếp theo và sau đó là thời gian để viết mã và mọi người phải có các khu vực yên tĩnh để làm như vậy.


4

Chìa khóa là cụm từ "cách ly lập trình viên khỏi mọi xáo trộn và đặt ưu tiên cho công việc không bị gián đoạn". Điều ưu tiên là rõ ràng trong XP khi Câu chuyện được chọn mỗi lần lặp là có giá trị nhất. Khách hàng phải cố gắng có một tập truyện "ổn định", không thay đổi suy nghĩ của mình quá nhiều lần lặp lại giữa chừng (điều đó có thể xảy ra, nhưng nó phải là trường hợp đặc biệt, không phải là tiêu chuẩn).

Phần "cô lập lập trình viên" là phần khó nhất. Nó có nghĩa là các lập trình viên nên làm những gì họ làm tốt nhất: Chương trình. Để XP hoạt động, các lập trình viên phải được đưa vào một môi trường nơi họ chỉ tập trung hoàn thành các câu chuyện, không có bất kỳ chi phí bên ngoài nào như các cuộc họp, các cuộc gọi điện thoại, các ưu đãi nhỏ, v.v. Điều này có thể được thực hiện bằng cách đặt từng cặp lập trình viên vào văn phòng riêng của họ hoặc bằng cách cho tất cả các lập trình viên vào một phòng bảo vệ nơi không ai khác có thể vào trừ khi thực sự cần thiết.


1

Cá nhân, tôi thấy nó KHÔNG THỂ làm việc để kết hợp với ai đó, ngay cả khi tôi đang học hỏi từ người đó. Có lẽ chỉ để một số người (ví dụ như tôi) làm việc tốt hơn theo những cách "cổ điển" hơn (đi vào khu vực, im lặng, v.v ...).

Hoặc có thể thực tế là XP chủ yếu được triển khai trong các cửa hàng phát triển web nơi mọi người đội mũ và thay vì giải quyết các vấn đề khó khăn trong một miền (ví dụ: tối ưu hóa một đoạn mã), họ dành thời gian để tìm giải pháp đã có sẵn cho một vấn đề không phải là rất khó về trí tuệ (ví dụ: tích hợp giỏ hàng lên trang, v.v.).

Đối với một cái gì đó như thế này, làm việc theo cặp, giao tiếp nhiều, v.v. có thể là cách duy nhất để tiến lên một cách hiệu quả (bạn sẽ không mất X giờ chỉ để thấy rằng mô-đun gửi e-mail Joomla! / Lỗi nhỏ, là bạn ?)


-2

Có, XP hoàn toàn không tương thích với Peopleware và các thực tiễn phát triển phần mềm tốt bên trong. Có lẽ bạn cần làm mới mình với phần trước khi tiếp tục?

http://code.scottshipp.com/2017/03/22/open-office-plans-excerpt-from-peopleware/

Bảng 8-1 ở phía dưới khá nhiều phép thuật với mục cuối cùng là ngư lôi cuối cùng.

  1. Mọi người có thường xuyên làm phiền bạn không? 38% có 76% có

Trong một văn phòng nhiều người không có cách nào để tránh điều này. Đơn vị phối ngẫu của ai đó gọi cho họ và ngay cả khi người đó đi ra sau khi trả lời, bạn vẫn bị gián đoạn bởi câu trả lời. Ai đó cố tỏ ra lịch sự, đi uống cà phê và gọi điện để xem có ai muốn gì không.

Chúng ta đừng quên lập trình viên đeo tai nghe và tăng âm lượng lên để bạn vẫn có thể nghe thấy nó cách xa 6 feet hoặc tệ hơn, cảm thấy bắt buộc phải sử dụng bút / bút chì để đánh trống cùng với một phần của 'giai điệu tuyệt vời'. Ồ, và nếu bạn không may có một người hâm mộ thể thao làm việc trong lĩnh vực CNTT, họ sẽ tham gia.

"Ồ! Bạn có thấy trận đấu tối qua không? !!!! Và GỌI !!!! Họ bị mù à ?? !!"

Vâng, bạn có được hình ảnh.

XP theo định nghĩa ban đầu là 2 lập trình viên và một bàn phím. Đây là một phương pháp thực sự chỉ phù hợp cho việc tìm hiểu sâu về các bản sửa lỗi khó, không phải để phát triển phần mềm quy mô lớn. Cả hai khái niệm Kế hoạch mở và Phòng nhóm đều vi phạm nghiên cứu được thực hiện trong Peopleware.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.