Extreme Programming – Lập trình cực hạn là gì? Vai trò và giá trị cốt lõi – Trang Chủ

Trong thời đại thời nay, từ từ quy mô quản trị dự án Bất Động Sản truyền thống cuội nguồn Waterfall dần bị sửa chữa thay thế bởi những quy mô Agile, khi mà dự án Bất Động Sản cần sự linh động cao, phân phối được tốt hơn nhu yếu của người mua ngày càng không dễ chiều. Ngoài scrum là một quy mô Agile rất phổ cập, bài viết này sẽ đề cập đến Extreme Programming, một quy mô cũng dần thông dụng bởi nhiều đặc tính nổi trội của nó. Vậy Extreme Programming là gì, tất cả chúng ta hãy cùng tìm hiểu và khám phá .Extreme Programming ( Lập trình cực hạn ) – hay thường được gọi tắt là “ XP ” – là một quy mô Agile tập trung chuyên sâu vào tăng trưởng ứng dụng. Trong khi Scrum tập trung chuyên sâu vào Lever quản trị dự án Bất Động Sản trên phương diện thiết đặt ưu tiên việc làm và lấy phản hồi, XP lại tập trung chuyên sâu vào những thực hành thực tế tốt nhất ( Best Practices ) về tăng trưởng ứng dụng. Do đó, sẽ có rất nhiều tham chiếu tương quan đến ứng dụng trong phần đàm đạo sau. Đối với những giá trị và nguyên tắc của Tuyên ngôn Agile, bạn hãy xem liệu bạn có cách nào để vận dụng những giá trị và thực hành thực tế của XP vào những loại dự án Bất Động Sản tri thức khác được không .

Những giá trị cốt lõi của XP

Những giá cốt lõi của XP là : đơn thuần, liên kết, phản hồi, can đảm và mạnh mẽ và tôn trọng ; Những giá trị cơ bản này tự bộc lộ trong những thực hành thực tế được thực thi trong suốt vòng đời XP .

  • Đơn giản: là một giá trị tập trung vào việc giảm độ phức tạp, những tính năng thừa và sự lãng phí. Đội XP đề cao châm ngôn: “Hãy tìm thứ đơn giản nhất có thể hoạt động được” và xây dựng giải pháp đó trước.
  • Kết nối: giá trị này tập trung vào việc đảm bảo toàn thể đội dự án biết được mình cần làm gì và mọi người đang làm gì. Ví dụ, cuộc họp hàng này là một công cụ kết nối quan trọng (Những cuộc họp này sẽ được giải thích ở chương 5).
  • Phản hồi: Đội dự án nên có được sự nhận xét, phản hồi sớm. Việc nhận thất bại sớm có thể rất hữu ích, đặc biệt nếu nó mang lại thông tin mới trong khi chúng ta còn thời gian để cải thiện sản phẩm.
  • Can đảm: Sẽ cần có sự can đảm để cho những người khác soi xét công việc của mình. Trong lập trình theo cặp (Pair Programming – được mô tả ở phần sau), các thành viên trong đội dự án chia sẻ code và cần thường xuyên đơn giản hóa cũng như điều chỉnh những code này. Tuy được hỗ trợ bằng việc áp dụng build tự động và unit test, lập trình viên vẫn cần có sự tự tin nhất định để đưa ra những thay đổi quan trọng.
  • Tôn trọng: Tôn trọng là giá trị trọng yếu của các dự án XP, nơi mọi người làm việc cùng nhau như một đội và mọi cá nhân có trách nhiệm với thành công cũng như thất bại của dự án. Giá trị này cũng liên quan đến lập trình theo cặp; các cá nhân trong đội cần ghi nhớ rằng mọi người có cách làm việc khác nhau và cần tôn trọng sự khác biệt đó.
    Hình dưới đây mô tả quy trình của XP:

Như miêu tả trong biểu đồ trên, đội dự án Bất Động Sản ( XP team ) dựa trên “ nhu yếu của người dùng ” ( được gọi là User stories ) để lên kế hoạch cho những phát hành và vòng lặp ( Iterations ). Vòng lặp thường thì lê dài 2 tuần, lập trình viên thao tác theo cặp để viết code trong suốt những vòng lặp này. Tất cả những ứng dụng tăng trưởng đề được kiểm tra khắt khe và liên tục. Sau đó, khi được người mua phê duyệt, ứng dụng được phân phối dưới dạng những bản phát hành nhỏ .“ Mũi nhọn ” ( Spike ) là khoảng chừng việc làm dùng để giảm thiểu những yếu tố cũng như những mối rình rập đe dọa, và “ mũi nhọn kiến trúc ” ( architectural spikes ) là những vòng lặp dùng để chứng tỏ cách tiếp cận công nghệ tiên tiến. Các mũi nhọn này được phối hợp với quy trình lên kế hoạch phát hành .

Các vai trò trong đội dự án XP

XP có các vai trò khác biệt so với Scrum – các vai trò trong XP là Huấn luyện viên (Coach), Khách hàng (Customer), Lập trình viên (Programmer), và Kiểm định viên (Tester). Hãy xem cách mỗi vai trò tham gia vào một dự án XP.

Huấn luyện viên (Coach)

Huấn luyện viên hoạt động giải trí như một nhà tư vấn cho đội dự án Bất Động Sản, hướng dẫn quá trình và giúp sức những thành viên đi đúng hướng. Huấn luyện viên cũng là người điều phối – trợ giúp đội dự án Bất Động Sản trở nên hiệu suất cao hơn – liên kết và thôi thúc việc tiếp xúc trong nội bộ mỗi đội dự án Bất Động Sản cũng như giữa những đội dự án Bất Động Sản. Vai trò này có nhiều nghĩa vụ và trách nhiệm tương đương với Scrum Master. Mặc dù định nghĩa chính thức của hai thuật ngữ này khác nhau, nhưng chúng thường được sử dụng thay thế sửa chữa cho nhau .Thêm vào đó, huấn luyện viên hoàn toàn có thể cũng là một nhà quản trị, quản lý việc liên kết với bên ngoài và điều phối những hoạt động giải trí trong đội dự án Bất Động Sản. Tuy vậy, đây không phải là một vai trò chính thức trong XP

Khách hàng (Customer)

Trong một đội dự án XP, khách hàng là đại diện nghiệp vụ, là người cung cấp các yêu cầu, danh sách ưu tiên và định hướng nghiệp vụ cho dự án. Người này xác định sản phẩm sẽ được xây dựng, xác định độ ưu tiên của các tính năng, và xác nhận xem liệu sản phẩm có hoạt động đúng hay không. Vai trò này tương tự với “Product Owner” (Chủ sở hữu sản phẩm) trong Scrum.

Lập trình viên (Programmers)

Lập trình viên là những nhà tăng trưởng, những người kiến thiết xây dựng mẫu sản phẩm bằng cách viết và tích hợp code để cung ứng những nhu yếu từ người dùng .

Kiểm định viên (Testers)

Kiểm định viên phân phối sự bảo vệ về chất lượng và giúp sức người mua xác lập cũng như viết “ Kiểm thử chấp thuận đồng ý ” ( Acceptance Tests ) cho những nhu yếu của người mua ( User stories ). Vai trò này cũng hoàn toàn có thể được đảm nhiệm bởi nhà tăng trưởng ( lập trình viên ), nếu họ có những kĩ năng thiết yếu .

Trên đây là những cái nhìn sơ lược về quy mô Extreme Programming hay còn gọi là Lập trình cực hạn. Ở bài viết tiếp theo, tất cả chúng ta sẽ liên tục tìm hiểu và khám phá sâu hơn cách nó quản lý và vận hành và những practices của nó. Hẹn gặp lại những bạn trong bài viết tiếp theo trong series này .