12/08/2018, 15:28

5 vấn đề lớn với đội test lớn và cách giải quyết

Thông thường, khi bạn ở trong 1 team test lớn, điều đó có nghĩa là dự án của bạn phải to, dẫn tới việc có rất nhiều thử thách khó nhằn phải giải quyết. Điều trở nên khó khăn đó là duy trì được các tiêu chuẩn chất lượng, chia sẻ kiến thức và việc phân quyền chuyên môn Vấn đề 1: Duy trì chất lượng ...

Thông thường, khi bạn ở trong 1 team test lớn, điều đó có nghĩa là dự án của bạn phải to, dẫn tới việc có rất nhiều thử thách khó nhằn phải giải quyết.

Điều trở nên khó khăn đó là duy trì được các tiêu chuẩn chất lượng, chia sẻ kiến thức và việc phân quyền chuyên môn Vấn đề 1: Duy trì chất lượng test luôn được đảm bảo

Vấn đề: bao nhiều người trong chúng ta đã trải qua cảm giác khó khăn khi việc duy trì chất lượng test càng ngày càng khó khi team test ngày càng phình lên về số lượng?

Cách giải quyết: Lý do là gì, chúng ta đều có các kỹ năng khác nhau, điểm mạnh ở các lĩnh vực khác nhau, tài năng bẩm sinh khác nhau, cách tiếp cận cũng như style test khác nhau, và đương nhiên, kinh nghiệm trong quá khứ cũng khác nhau nữa.

Những sự khác nhau này ảnh hưởng khá lớn, vì không phải lúc nào ta cũng dễ dàng chỉ cho người khác test như này như kia thế nào hoặc thuyết phục họ theo ý ta được vì Testing phụ thuộc nhiều vào sự thoải mái của bản thân, làm những gì mình nghĩ.

Can thiệp vào suy nghĩ của người khác, hướng họ theo cách nhìn xa lạ không phải lúc nào cũng được việc, và không nên làm vậy trừ phi cần thiết. Mentor/Lead phải quan hệ tốt với từng thành viên cụ thể.

Quay trở lại vấn đề-khi được giao 1 chức năng cụ thể để test, không phải tất cả team member có thể bắt được tất cả các bug. Số lượng bug bắt được, chất lượng của các bug, thời gian bắt được chắc chắn có sự khác nhau.

Phương pháp giải quyết:

  • Tạo ra một quy trình làm việc xuyên suốt và có cải tiến ở các giai đoạn mà quy trình không còn phù hợp
  • Duy trì sự tự tin và tính trách nhiệm trong công việc ở bất kỳ giai đoạn nào của dự án
  • Leader phải đóng vai trò là người dẫn dắt các thành viên đi đúng hướng, đúng mục tiêu trong tất cả các giai đoạn

Vấn đề 2: Kiến thức bị tập trung hóa

Kiến thức chuyên môn của 1 module nhất định, bị tập trung vào 1 lượng nhỏ member.

Ví dụ: Team X có 3 thành viên A, B, C. A thì giỏi về Security Testing, B thì giỏi về module Workflow, C lại giỏi về Performance Testing và có kiến thức về module Thanh toán .

Mô hình trên chỉ hữu ích trong thời gian ngắn, khi Manager chỉ cần assign task A cho người A, task B cho người B, rồi xả hơi vì ai cũng làm công việc chuyên môn của mình. Tuy nhiên trong thời gian dài, nếu như 1 trong số những người đó nghỉ thì việc release sản phẩm sẽ chết đứng. Nguyên nhân có thể do nghỉ đột xuất, ốm đau, nghỉ việc... Nếu A biết phần việc B đang làm thì điều đó giúp được cho A không? Kiến thức của B sẽ giúp C làm việc đâu đó nhanh hơn không? Nếu họ cùng biết, và hiểu việc của nhau thì sản phẩm của họ trong tương lai có được cải thiện chút gì hay không? Câu trả lời là Có. Từng bước cải thiện:

  1. Tập trung requirement vào 1 chỗ.
  2. Thảo luận User story : Nếu 1 requirement mới được cho là phức tạp, đầu tiên thảo luận ở level lead trước, gồm Business Analyst, Dev Lead và Test Lead, nhằm giải quyết các khó khăn, câu hỏi có thể có trước, sau đó họp team sau, tiết kiệm thời gian của những người khác.
  3. Brainstorming meeting : Ở giai đoạn này, dev và test team sẽ thảo luận requirement thiên về kỹ thuật, và các vấn đề có thể ảnh hưởng tới các chức năng đã có, các case ẩn và có thể phát sinh. Vấn đề ở đây là hãy cho hết tester vào họp brainstoming để cùng góp ý tưởng cho mỗi story owner, nó cũng giúp cho chính họ thu được kiến thức về các mảng khác. Có nhiều suy nghĩ của nhiều tester thì luôn tốt hơn chỉ có 1 người. Story owner sau đó tổng hợp tất cả kịch bản mọi người đóng góp lại thành 1 file.
  4. Chuyển đổi Test case : Story owner bắt đầu chuyển các kịch bản thành test case . Khi viết xong, story owner sẽ gửi test case để mọi người cùng review.

Vấn đề 3: làm cho công việc vui vẻ và thú vị

Vấn đề: Nếu bạn chỉ đơn giản vứt việc vào mặt thành viên thì cuối cùng họ cũng sẽ kiệt sức, chán nản và cuối cùng là nản chí. Giải quyết: Mỗi ngày thứ 4, tất cả QA trong team sẽ gặp vài tiếng, gọi là họp Q&A, trong cuộc họp thì:

  • Bất kì ai có thể hỏi về bất kì cái gì, không liên quan tới công việc cũng được.
  • Bất kì ai cũng có thể chia sẻ ý tưởng gì đó, cải thiện qui trình, kết quả họ đạt được. Chia sẻ bất kỳ điều gì.
  • Chia sẻ kiến thức testing để mọi người cải thiện knowledge của bản thân.
  • Có thể chơi các trò chơi mang tính tập thể, để gắn kết nhân viên và cho họ thấy không phải lúc nào cũng chỉ có công việc và công việc.

Vấn đề 4: Phân chia công việc

Vấn đề: 1 vấn đề nữa đó là chia việc giữa các thành viên. Nếu bạn đơn giản chia task cho mọi người như bạn thích thì có thể dẫn tới các trường hợp như sau:

  • Một người quá quen với 1 việc, với độ khó cố định khiến họ không thể phát triển bản thân hơn được.
  • Một người quá quen với các module và phải test đi test lại khiến họ quá chán nản.
  • Bạn giao task đặc thù cho 1 người là chuyên gia trong lĩnh vực đó, vậy là dính phải vấn đề như ở vấn đề 2.
  • Mọi người trong team cảm giác họ chỉ tuân theo mệnh lệnh, ý kiến của họ không có giá trị gì cả. Giải quyết: Khi họp kế hoạch cho đợt release sắp tới, test lead nên họp Release planning, hỏi từng thành viên xem họ muốn tham gia test phần nào. Bằng cách này, mọi vấn đề được giải quyết vì team đóng vai trò chính, không phải leader.

Vấn đề 5: Động lực và sự biết ơn

Vấn đề: Trong team bạn sẽ có 3 thành phần: ngôi sao (rất giỏi), được (bình thường), tạm được (dưới bình thường). Vấn đề thật sự xảy ra khi bạn có nhiều ngôi sao và nhiều người được, nhưng không có ai tạm được. Vì những người được sẽ thành ra tạm được khi so sánh với các ngôi sao. Giải quyết: Chấp nhận 1 sự thật, là bạn không thể sở hữu 1 team chỉ toàn các ngôi sao. Mọi người đều có khả năng của riêng mình, tốc độ học hỏi và phong cách làm việc khác biệt. Là leader, phải chấp nhận sự thật đó. Bạn sẽ phải giúp những ai được, trở thành ngôi sao, nhưng không phải 1 mình bạn, bạn phải tìm ra các Leader trong team trước, và dần dần giao cho họ trách nhiệm này. Là 1 Leader bạn không thể giúp từng người một. Nên bạn phải giao quyền cho cánh tay phải của bạn, sau khi truyền đạt cho họ ý tưởng của mình. Bằng cách này bạn có thể kết nối với mọi người trong team của bạn, tuy nhiên phải thường xuyên nói chuyện với các leader phía dưới, hướng dẫn họ, trân trọng công sức của họ, và truyền đạt định hướng của mình. Họ sẽ làm phần việc của họ, bạn chỉ cần quản lý là đủ. Đương nhiên, viết các email hay nói ra các lời cảm kích, tưởng thưởng thành viên công khai là 1 việc bạn phải thường xuyên làm.

Kết luận : Có 1 câu nói “Không ai thông minh hơn tất cả mọi người gộp lại”. Vậy nên chỉ có đoàn kết, ta mới bay cao hơn và xa hơn.

0