Tầm quan trọng của việc trao đổi thông tin giữa Dev và Test

Để bắt đầu topic hôm nay, chúng ta hãy cùng xem một ví dụ thực tế:

Trong một gia đình, khi người vợ và người chồng không liên lạc với nhau hoặc giả sử không có sự giao tiếp với nhau. Họ chỉ nhắn tin cho nhau nêú có việc quan trọng. Hàng ngày, cả hai đều rất bận rộn với công việc của riêng mình và họ cố gắng không làm ảnh hưởng và cũng không quan tâm đến công việc của người kia. Khi việc này diễn ra trong một khoảng thời gian dài, họ nhận ra càng ngày cuộc sống của họ càng căng thẳng hơn, họ trở lên dễ cáu giận với nhau và dần quen với bộ mặt cau có, tức tối của người kia. Cuối cùng, họ quyết định chia tay.

Bài học: Một mối quan hệ chỉ bền chặt nếu thường xuyên có sự tương tác giữa 2 người, hạn chế những cuộc cãi vã, và có với nhau nhiều kỷ niệm đẹp.

Câu chuyện trên có vẻ không liên quan, nhưng lại có nhiều điểm chung với mối quan hệ giữa Dev và Test. Dev và Test là những người làm cho dự án thành công. Trên thực tế không có dự án nào có thể thành công nhờ công cụ, kinh phí, hay mã nguồn. Luôn là những con người tuyệt vời làm cho dự án thành công. Và để thành công, cần sự đóng góp của cả team, chứ không phải riêng cá nhân nào.

Khi dev và test làm việc với nhau hiệu quả, chuyện gì có thể xảy ra?

1. Dự án thành công, "by default": Trong một dự án không có việc dev và test tranh cãi nhau thường xuyên vì những vấn đề nhỏ nhặt hay vì cái tôi cá nhân, dự án đó gần như được đảm bảo sẽ thành công. Trong phần lớn thời gian, Dev và test cùng chơi một trò chơi tên là "Giao việc", hay nghe quen thuộc hơn đó là "Gán bug". Mọi người đều muốn chứng mình rằng, vấn đề là do team bên kia (Test: bug là do dev code sai. Dev: Bug này do tester test sai cách). Nếu dev và test hợp tác với nhau, họ sẽ hiểu rằng cuối cùng Bug là vấn đề của chung cả dự án, và nếu hợp tác cùng nhau, họ có thể giải quyết được. Và khi đó các vấn đề khác cũng có thể được giải quyết.

2. Phát triển cá nhân: Mọi người đều trưởng thành nếu được ở trong một môi trường cạnh tranh lành mạnh và không có những cuộc đấu đá vô nghĩa. Chia sẻ các ý tưởng và đóng góp ý kiến mang lại cho mọi người cơ hội để phát triển hơn.

3. Sự phát triển của team: Một team xuất sắc được tạo lên từ những cá nhân biết hiểu và tôn trọng công việc của người khác, nhất là các thành viên trong team.

4. Và ngày càng nhiều thành công hơn Khi hoàn thành một dự án thành công, mọi người đều có nhiều bài học để đúc kết. Và đó lại là cơ sở để họ có những dự án thành công tiếp theo.

Làm thế nào để Dev và Test có thể hợp tác hiệu quả với nhau?

1. Hạn chế cái tôi cá nhân: Dù vô tình hay cố ý, chúng ta đều mang cái tôi cá nhân vào công việc. Chúng ta nghĩ chúng ta đang làm tốt công việc của mình, nhưng điều đó không có nghĩa là người khác thì không như vậy.

Nếu một dev nghĩ rằng những lỗi của module mà anh ta thực hiện do test tìm thấy đều có thể có bỏ qua hay không quá nghiêm trọng, hoặc là do " người nào đó " đang tìm cách " phá " anh ta, thì vấn đề ở đây không phải là lỗi module mà chính là Cái tôi cá nhân. Nếu một tester nghĩ rằng lỗi mà bạn ấy đã log bị reject chỉ bởi vì dev không muốn nhận sai, hay vì dev không muốn sửa lỗi, hay vì dev nghĩ rằng " người nào đó " không hiểu đúng yêu cầu để mà test, hoặc vì dev nghĩa rằng anh ta luôn làm tốt.... thì kết quả là số lượng bug và những ý tưởng test đều đi xuống.

Thể hiện cái tôi cá nhân quá mức không chỉ làm mất đi cơ hội trưởng thành của chính mình, mà chúng ta còn làm ảnh hưởng đến công việc của người khác.

Vì vậy, nếu có thể, đừng nghĩ mình đang là tester, đầu tiên hay nghĩ bạn là một team member, người đang làm việc rất chăm chỉ để góp phần tạo ra sản phẩm tốt. Đừng quá bận tâm khi bug của bạn bị reject, mà hãy cố hiểu nguyên nhân đằng sau đó là gì. Đừng dừng lại khi biết thời gian dự kiến cho testing đã hết. Và cuối cùng, đừng bao giờ quá tự tin mà cho rằng mình là "cấp trên" khi bạn đang tìm kiếm lỗi lầm trong công việc của người khác.

2. Hãy thực tế: là một tester, thời điểm đau khổ nhất đó là khi bugs mà bạn log đã bị reject. Hãy thực tế, tìm hiểu lý do thực sự đằng sau việc đó, cố gắng tìm xem bạn đã hiểu sai điều gì, cố gắng thuyết phục dev hay manager nếu như bạn nghĩ kịch bản mà bạn đưa ra là đúng và tiếp tục cố gắng hơn.

3. Ưu tiên công việc chung: Luôn nhìn vào bức tranh rộng lớn hơn, và ưu tiên những thứ lớn hơn. Dự án quan trọng hơn bug hay một vài cá nhân nào đó. Hãy để cái tôi của bạn lại và đi đến bàn của dev, trao đổi, chia sẻ, thấu hiểu và cùng nhau làm việc.

4. Hãy kiên nhẫn: Không có gì thay đổi chỉ qua 1 đêm, vì thế hãy kiên nhẫn và cố gắng làm tốt công việc. Đừng bao giờ bị mất động lực chỉ vì một ai đó phản hồi một cách tiêu cực, hay một dev không chịu xem xét bug/ gợi ý của bạn đề xuất.

5. Chia sẻ ý tưởng, nhưng đừng đi quá sâu vào cách thực hiện: Trao đổi thường xuyên giữa Dev và Test giúp tạo ra nhiều ý tưởng cho cả 2 phía. Dev có thể gợi ý về cách test một module hiệu quả hơn, cũng như test có thể chỉ ra cách sửa lỗi cho đúng. Hãy cơỉ mở để lắng nghe những ý kiến, đề xuất mới từ mọi người, cũng như chia sẻ ý tưởng với mọi người. Tuy nhiên, đừng đi quá sâu vào chi tiết, dù sao thì dev giỏi code hơn test, cũng như test giỏi test hơn dev.

6. Ai cũng có thể mắc sai lầm: Sau khi tìm ra được một bug nghiêm trọng, đừng tỏ ra hớn hở trước mặt dev. Hãy hiểu rằng không phải chỉ có test mới phải làm rất nhiều việc trong thời gian hạn chế và kinh phí ít ỏi. Dev cũng vậy. Không ai có thể tạo ra một sản phẩm không có lỗi nào, trừ khi không test. Vậy nên, hãy hiểu vai trò của bạn, và giúp tìm cách sửa lỗi thay vì đắc ý vì tìm được lỗi.

7. Càng nhiều người công việc càng trôi: Một team test làm việc mà không phối hợp với team dev thì không bao giờ hiệu quả được. Khi một tester biết kết hợp với dev và phát triển mối quan hệ bền vững sẽ tạo ra một không khí đồng đội và khi tất cả dev và test làm việc cùng nhau, đó sẽ cơ sở để đạt được thành công cho cả 2 bên.

8. Agile và Test theo cặp: Hãy áp dụng Agile, làm việc cùng nhau, test theo cặp, phối hợp với dev, trao đổi và gặp gỡ thường xuyên, giảm tài liệu, và tông trọng mọi người.

Trên đây là một vài chia sẻ để có thể thấy được sự quan trọng của việc tương tác, trao đổi thông tin giữa Dev và Test. Hi vọng mọi người sẽ cùng chia sẻ những ý kiến hay hơn để làm cho mối quan hệ giữa Dev và Test luôn tốt đẹp và làm lên thành công của dự án.

Nguồn: http://www.softwaretestinghelp.com/tester-and-developer-communication/