Tại sao lập trình cực đoan (XP) đã lỗi thời vì Agile, Kanban, v.v.?


15

Tôi thích XP (lập trình cực đoan), đặc biệt là phần có 2 lập trình viên trên cùng một màn hình, vì giải pháp của một vấn đề thường được tìm thấy nhanh hơn nếu chỉ bạn giải thích những gì bạn đang làm và ghép lập trình buộc bạn phải giải thích những gì bạn đang giải thích đang làm.

Trong khoảng 10 năm trở lại đây, phong cách làm việc của XP dường như đã lỗi thời vì các phương pháp làm việc: Agile và / hoặc Kanban. Tại sao? Vì XP dường như là một cách rất tốt để làm việc và rất nhiều về lập trình trong khi Agile và Kanban thiên về các quy trình.


28
XP là một cách tiếp cận nhanh . Vì vậy, "Agile" thực sự không thể thay thế XP.
Joachim Sauer

1
Tôi chuẩn bị đăng một câu trả lời, khi tôi nhận thấy ROLer đang nói khá giống nhau. Các quy trình nhanh nhẹn về bản chất là thích nghi, không có thứ gọi là "hoàn hảo / thuần túy" Kanban, Scrum, XP, nó giống như một sự pha trộn và kết hợp. XP, theo nghĩa đó, nó vẫn còn mạnh mẽ, do một số khái niệm mà nó đưa ra đã được áp dụng bởi hầu hết các phương pháp khác.
yannis

3
Có một danh sách những lời chỉ trích thú vị về XP trên Wikipedia , nhưng nếu bạn quét qua nó, phần lớn nó sẽ áp dụng cho Agile nói chung.
yannis

3
Tôi không nghĩ XP đã đi đâu cả. Phần lớn được coi là một phần của sự phát triển nhanh. Tôi nghĩ những gì đã lỗi thời là sử dụng thuật ngữ 'cực đoan'. Nó luôn cho tôi hình ảnh của một lập trình viên nhảy lên Mt. Sương với tấm ván trượt tuyết dựa trên bàn.
JimmyJames

Toàn bộ điều "Lập trình cặp" chưa được thực hiện, IMO. Thật tuyệt vời khi giải quyết một số vấn đề riêng biệt, nhưng phần lớn các vấn đề lập trình (giao diện người dùng, kiến ​​trúc, quy tắc kinh doanh) không biện minh cho chi phí khi có hai nhà phát triển phần mềm ngồi cùng một màn hình.
Robert Harvey

Câu trả lời:


21

Có rất nhiều phong cách, phương pháp và tư duy khác nhau liên quan đến sự phát triển toàn bộ lĩnh vực và mọi thứ đều có cái tên sáng bóng của riêng nó.

Agile chỉ là một tư duy tránh xa các mô hình lập trình tĩnh thông thường (như thác nước) - mục tiêu chính của nó là đạt được sự phát triển linh hoạt hơn và (cuối cùng) phần mềm tốt hơn và làm hài lòng khách hàng. Dưới nhanh nhẹn, có rất nhiều mô hình khác nhau như Scrum, Kanban, XP.

Đặc biệt Kanban không xuất phát từ phát triển phần mềm ban đầu, nó bắt nguồn từ việc chế tạo ô tô (tôi nhắc nhở Toyota giới thiệu nó để chế tạo ô tô và một số nhà phát triển phần mềm đã thông qua và mở rộng nó)

Lập trình cặp, đánh giá mã và những thứ như vậy chỉ là công cụ - bạn có thể (và nên) luôn luôn làm điều đó trong một dự án, bất kể bạn sử dụng phương pháp nào. Chỉ là những thứ này có nguồn gốc nhanh nhẹn hơn là tĩnh.

XP ít nhiều đã giới thiệu những thứ này (hoặc ít nhất là đặt cho chúng một cái tên sáng chói) và tất cả những thứ sau đây đã sử dụng chúng vì đơn giản là nó hoạt động tốt.


3
Như @refro đã đề cập, Scrum và Kanban không bao gồm lập trình cặp hoặc đánh giá mã (nhưng họ cũng không loại trừ những điều này). Cả hai đều là một phương pháp quản lý dự án hơn là một quy trình phát triển phần mềm. Và như vậy, chúng có thể áp dụng cho một loạt các lĩnh vực bên ngoài phát triển phần mềm. Trong đó XP đặc biệt là một phương pháp phát triển phần mềm. Chúng có thể cùng tồn tại - bạn có thể quản lý nhóm XP của mình theo cách Scrum.
Péter Török

16

Theo quan điểm của tôi, XP là một thực tiễn lập trình, Scrum và kanban là các thực tiễn quản lý dự án. Họ có một mối quan hệ nhưng không thay thế nhau.

Trong dự án kanban của chúng tôi, chúng tôi sử dụng lập trình cặp (chủ yếu cho các phần phức tạp và gỡ lỗi), TDD, CI. Vì vậy, nó vẫn được sử dụng nhưng quản lý đang đẩy phía quản lý dự án khó khăn hơn.


1
Lập trình cặp giống như gây nhiễu trong thực hành nhạc sĩ. Nó hoạt động đôi khi và đôi khi không hoạt động. Trong những trường hợp hiếm hoi, nó có thể được sử dụng như một cách chơi chung và trong những trường hợp rất hiếm là cách sáng tác .
Alex Yu

0

Lập trình cực đoan là về cơ chế phát triển, trong khi Agile là về SDLC (vòng đời phát triển phần mềm).

Lý do chính mà bạn không còn nghe về "Lập trình cực đoan" theo tên nữa là việc sử dụng thuật ngữ "Cực đoan" như một tính từ tích cực là một điều đã lỗi thời từ 90 đến đầu 00 được coi là hiện tại. Nó chủ yếu chỉ là một nạn nhân của tiếp thị. Đó là lý do tại sao bạn hầu như chỉ nghe thấy nó được gọi là "XP", thậm chí bằng lời nói.


0

Tôi có một vài suy nghĩ về lập trình cặp.

Đối với tôi đây là điều bạn làm khi bạn bị mắc kẹt với điều gì đó. Vào những thời điểm đó nó có thể rất hiệu quả, nó có thể giúp bạn thoát ra khỏi lối mòn. Nhưng nó cũng mệt mỏi và là một cách làm việc mà lập trình viên âm thanh nổi không thích làm nhiều hơn thỉnh thoảng.

Nếu bạn đang đào một cái hố, ít người sẽ phiền khi nhận được sự giúp đỡ từ đồng nghiệp. Nhưng ngay khi có sự sáng tạo, mọi người thích làm mọi thứ theo cách của họ hơn là theo cách của người khác. Vì vậy, căng thẳng luôn ở gần trừ khi người ta không quan tâm theo cách này hay cách khác hoặc nếu vai trò của một người rõ ràng chỉ đề xuất.

Nơi tôi làm việc lập trình cặp không được chính thức hóa nhưng chúng tôi có các phiên ad hoc và chúng thường ngắn gọn. Nó sẽ không giống như "Này đồng nghiệp, làm thế nào về lập trình cực đoan?" Nó sẽ thường xuyên hơn bắt đầu với "Bạn có thể nhìn vào màn hình của tôi không?" và kéo ghế lên cho họ.

Vì vậy, tôi không nghĩ rằng lập trình cặp đã chết hoặc ít phổ biến hơn, nó chỉ là một trong những công cụ mà bạn không sử dụng rất thường xuyên vì nó tốn kém, và không phải chủ yếu vì bạn có hai người trả tiền làm việc trên một thứ.


0

Agile có nhiều thị trường hơn vì nó liên quan đến các bên liên quan khác nhau với các vai trò và trách nhiệm khác nhau liên quan đến quy trình xây dựng phần mềm.

Khi trong phiên bản thứ hai, Kent Beck mở rộng phạm vi người tham gia trong XP, đã muộn: mọi người đã chấp nhận các phương pháp khác vì phiên bản XP đầu tiên nhắm vào người thực hiện mã, và đó là điều khán giả vẫn nhớ về vô thức hay không. XP không được bán trên thị trường.


0

Tôi đã luôn nghĩ rằng Scrum là phiên bản của Agile dễ bán nhất cho ban quản lý: các ước tính xác định, học thuyết có phần rõ ràng, bản chất được xác định rõ ("bạn không thực sự làm Scrum - cảm thấy có lỗi!") ...

Kéo dài thời gian chạy nước rút của bạn đủ lâu và thực hiện những "thẻ bài" nhỏ đó đủ nghiêm túc, và Scrum có thể gây ra rất nhiều tiếng ngứa giống như các phương pháp Thác nước đã làm. Điều này không hẳn là xấu, nhưng chúng ta đừng trốn đằng sau những tấm gương và khói ở đây.

Về phía XP, lập trình cặp nói chung không hấp dẫn đối với quản lý, đặc biệt là quản lý phi kỹ thuật.

Để đặt nó ở định dạng tương tự SAT, Scrum: XP :: The Monkees: The Beatles

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.