Pair Programming và khi nào apply nó

Pair Programging là gì?

Pair programing là khi hai developer làm chung một task trên một máy và được mô tả là: trong quá trình làm chung, hai dev phải chuyển đổi vai trò lẫn nhau theo hai vai trò sau:

  • một người sẽ dùng bàn phím và máy tính để code
  • một người còn lại sẽ không dùng bàn phím mà chỉ đưa ra idea và bắt lỗi. Các vai trò phải được thay đổi theo thời gian, ví dụ có thể là 5 phút hay 3 phút, bạn có thể set báo thức trên điện thoại hoặc máy tính để nhắc điều đấy. Nhiều trường hợp theo giai đoạn phát triển dự án khi thực hiện pair programging thì nó thực sự hữu ích.

Ưu điểm:

Những lỗi, sai sót có thể được bắt nhanh hơn khi bạn có hai người người cùng nhìn và kiểm tra code. Hai coders làm việc cùng nhau sẽ nhanh hơn trong việc đưa ra ý tưởng và giải pháp cho việc giải quyết một vấn đề. Nó giống như code của bạn được review ngay lập tức khi bạn code và lên ý tưởng. Kinh nghiêmj của hai lập trình sẽ được kết hợp với nhau tốt hơn trong việc đưa ra quyết định giải pháp xử lí. Việc luân phiên thay đổi vai trò sẽ giúp cho người lập trình viên không bị mắc kẹt trong việc không có giải pháp xử lí cho vấn đề trong thời gian dài. Không một ai mất focus vào công việc, cả hai lập trình viên cùng nhau đóng góp xây dựng vấn đề.

Hạn chế

Khi thực hiện pair programing yêu cầu phải focus 100%, hai lập trình viên phải đảm bảo rằng họ phải luôn nghỉ giải lao thường xuyên.

Vậy khi nào chúng ta nên sử dụng Pair Prgraming

Trong những task phức tạp

Pair programing thực sự có thể giúp bạn tăng performance trong những ticket phức tạp, bởi vì trong những ticket này sẽ có rất nhiều khía cạnh chi tiết, mà một developer đơn độc khi làm việc cá nhân sẽ trở nên chậm chạp, có khả năng rất lớn trong việc tạo ra những thiếu sót, lỗi lầm. Có một người khác cùng làm với mình thì sẽ giảm thiểu đi rất nhiều vấn đề. Ví dụ trong việc tích hợp một phương thức thanh toán mới với backend server và frontend app, khi đấy ticket này sẽ có số lượng về mức độ chi tiết và kết hợp giữa hai side là rất lớn. Khi đấy chúng ta có thể thực hiện pair programing.

Trong trường hợp cần hoàn thành sớm các task quan trọng

Trong việc sắp xếp các task trong các sprint chạy nước rút (sprint goal) release chả hạn, khi mà các task trong backlog srpint trống, tuy nhiên những ticket liên quan đến sprint goal vẫn đang thực hiện, khi đấy các lập trình viên nên pair trên những sprint goal này hơn là lấy những tickeks từ product backlog để làm. Vì đơn giản là mức độ quan trọng của các task trong product backlog không quan trọng trong sprint goal. Điều đó sẻ giúp chúng ta đẩy được khả năng lập trình của 2 lập trình viên lên trên những task cực kỳ quan trọng của sprint. Khi đấu sprint goal sẽ giảm tải được risk cực kì lớn.

Trainning

Pair Programing là cách vô cùng hữu ích cho việc phát triển của một new developers - trong trường hợp là một gà mờ mới ra trường, hay là new trong một dự án , new trong một team mới. Nhiều lập trình viên kinh nghiệm có thể được pair với trainnee sẽ giúp chia sẻ một cách nhanh chóng và hiệu quả về kiến thức thức chung của dự án, kỹ năng coding cho member mới. Việc pairing sẽ giúp trainnee tự tin và đảm bảo dòng code của chính họ viết ra, thay cho việc để công việc đấy cho một lập trình viên có kinh nghiệm giải quyết. Khi thực hiện parting cho đào tạo, thì việc tuân thủ bộ đếm thời gian cực kỳ quan trọng. Nếu không tuân thủ điều này thì việc trainning sẽ bị phải tác dụng khi trainnee hay developer experiend chiếm quá nhiều thời gian trong phiên role của họ Một sự cân bằng tốt cho trainne pair vào buổi sáng và tự giải quyết ticket của mình vào buổi chiều.

Giúp đỡ

Khi một lập trình việc cần sự giúp đỡ cho một vấn đề đặc biệt, họ có thể hỏi một lập trình viên khác ( - ví dụ là hỏi người mentor của họ, architect trong dự án, hay bất cứ developer nào- người biết về issues, hoặc kể cả bất kỳ lập trình viên nào - để pair cùng họ. Khi đấy kiến thức sẽ được chia sẻ với nhau cực kỳ dễ dàng và rõ ràng. Cả khi paring với một developer không có kinh nghiệm trong dự án vẫn có thể hữu dụng, họ có thể tìm thấy những lỗi sai mà bạn mắc phải, hay đưa ra một ý kiến tốt hơn.

Gỡ rối nút cổ chai

Khi mà chúng ta có số lượng developer nhiều hơn số ticket có thể thực hiện cùng một lúc, thì việc pariing sẽ hiệu quả giúp cho nhiều developer có thể được focused trên những ticket có thể.

Chia sẻ kiến thức

Pairing là tuyệt cho việc hỗ trợ viêc chia sẻ kiến thức của chức năng mới,- việc một lập trình viên phát triển trên ticket duy nhất cho chức năng mới có thể hỏi người khác để pair , vậy sẽ có hai lập trình viên có thể biết được thêm thông tin chức năng được thêm vào trong dự án đang được thực hiện Điều đó cực kỳ quan trọng cho việc maintance function chéo trong một team, nó cần thiết cho một scrum dev team.

Pair programing là giải phát tôt bất cứ khi nào bạn cần phải làm một công việc phức tạp, tăng tốc trong những ticket quan trọng, train cho một lập trình viên mới, giúp đỡ hoặc được giúp đỡ bởi những dev khác trong những vấn đề kỹ thuật, vượt qua những giai đoạt thắt nút cổ chai trong print dự án ,chia sẻ kiến thức trong team phát triển, sản phẩm chức năng hay fucntion trong maintain.


All Rights Reserved