Testers Vs. Developers

tester-vs-developer-1-638.jpg

Trong cộng đồng IT chúng ta không còn xa lạ gì mối quan hệ của Testers và Developers. Mối quan hệ giữa một bên là những con ong chăm chỉ tạo ra sản phẩm theo yêu cầu của khách hàng với một bên còn hơn cả những con ong chăm chỉ để đảm bảo rằng sản phẩm là hoàn hảo và đúng yêu cầu khách hàng.

2.jpg

Bắt đầu dự án họ có một mối quan hệ tốt cùng với Project Manager. Họ cùng nhau xây dựng một dự án từ bước tìm hiểu tài liệu khách hàng, cùng tìm hiểu spec, cùng đưa ra plan phù hợp với cả 2 bên cùng hướng tới tương lai không xa là dự án sẽ thành công vang dội.

3.jpg

Rồi khi chức năng đầu tiên của dự án được tạo ra, và đương nhiên là đầu tiên sẽ đưa lại phần đó cho Tester check. Xung đột cũng sẽ bắt đầu từ đây mà ra. Khi mà lý tưởng của 2 bên là hoàn toàn trái ngược nhau. Đối với developers còn non tay nghề thì việc đảm bảo hết các trường hợp Tester đưa ra là rất khó.

tester-vs-developer-6-638.jpg

Và rồi suy nghĩ của developers về Tester, những nghi ngờ về nghề Testers là có cần thiết hay không khi mà mỗi bên hiểu spec 1 kiểu. Cũng có thể sẽ dẫn đến căng thẳng không cần thiết trong dự án.

7.jpg

Không khó để gặp trường hợp như trên với một dự án kha khá có lực lượng Developers và Tester hùng hậu. Chúng ta sẽ phải làm sao khi dự án vẫn phải tiếp tục với những con người này. Lúc này hãy làm một việc gì đó để bản thân thư giãn và sốc lại tinh thần nào vì nghĩ lại thì:

  • Thành công dự án luôn được đặt lên hàng đầu, tranh luận giữa Tester và Developers chỉ hướng tới một việc hoàn thành cùng một sản phẩm, hãy cùng nhau đưa ra hướng giải quyết tốt nhất đại loại như confirm spec với khách hàng chẳng hạn, hoặc đơn giản tự tìm hiểu lại spec để xem developers đúng hay Tester đúng. Con người cũng có lúc nhầm lẫn mà 😃

  • Ý kiến của bản thân cần được nếu ra cùng với ý kiến của mọi người để có hướng giải quyết đẹp đôi đường.

  • Dự án đã đi được chặng đường khá rùi sản phẩm cũng được làm nên rồi, chả lẽ vì lý do này mà phải dừng sao?

  • Cần loại bỏ đối lập trong suy nghĩ của 2 bên:

    • Developers: Luôn có suy nghĩ trong đầu rằng bug vớ vẩn, tầm thường, cũng có khi cho rằng Tester không hiểu chính xác yêu cầu dự án, họ là người làm những yêu cầu đó họ hiểu rõ hơn ai hết. Ngược lại thì
    • Testers: Khi phát hện ra bug nhưng developers cho rằng đó là bug vớ vẩn hoặc từ chối fix thì sẽ cảm thấy rằng vấn đề cần phải cải thiện đó developers không muốn giải quyết, làm công việc của Tester bị cản trở => Testers thấy rằng không được tôn trọng

    => Vậy nên nếu có thể thì hãy cùng nhau giải quyết vấn đề, đừng bên nào gây cản trở cho bên nào, chúng ta cùng nhau phát triển một dự án, cùng chung mục tiêu hoàn thành công việc một cách tốt nhất. Vậy thì thôi châm chọc nhau và cùng nhau giải quyết vấn đề.

  • Là một Tester bạn cần tỉnh táo để chắc chắn rằng bug mà bạn phát hiện ra là đúng bằng cách đi tìm chứng cớ trong spec, trong yêu cầu mà khách hàng đưa ra.

  • Có thể bug bạn tìm ra là đúng nhưng nếu trên tổng thể dự án bug khác hoặc chức năng khác cần hoàn thiện gấp hơn bug đó thì hãy dừng ngay việc giục giã developers fix ngay fix luôn cho bạn bug đó, rồi bug đó sẽ được giải quyết, chỉ là không phải bây giờ thôi.

  • Tương trợ giúp đỡ nhau trong việc tìm bug và diệt bug: bạn có thể cho developers biết sẽ có trường hợp này xảy ra và developers dựa vào đó sẽ tạo ra sản phẩm ít bug hơn.

  • Hãy quen với suy nghĩ: "Một sản phẩm sẽ không bao giờ là hết sạch bug, chỉ có sản phẩm tốt nhất có thể sẽ được gửi cho khách hàng".

Hãy cùng tôi phân tích một ví dụ trong bức tranh humour1.jpg

Qua bức hình bạn cũng thấy vòng đời của một dự án từ lúc bắt đầu cho tới lúc kết thúc.

  • Hình 1: Khách hàng đưa ra mô tả về yêu cầu và mong muốn sản phẩm của họ.

  • Hình 2: Project leader hiểu yêu cầu đó.

  • Hình 3: Design sẽ thiết kế mô tả đó.

  • Hình 4: Thứ mà Developers viết ra

  • Hình 5: Tư vấn viên mô tả sản phẩm tạo ra.

  • Hình 6: Documented của dự án.

  • Hình 7: Thiết lập hoạt động.

  • Hình 8: Chi phí mà khách hàng phải trả

  • Hình 9: Cách mà dự án được hỗ trợ.

  • hình 10: Điều mà khách hàng thật sự cần.

    => Để tạo ra sản phẩm mà ngay cả đến bản thân khách hàng không biết rằng sản phẩm mong muốn thực sự sẽ ra sao, thông tin qua quá nhiều khâu nên rất cần Tester đảm bảo chất lượng sản phẩm qua các khâu các phòng ban dù việc đảm bảo đúng với yêu cầu khách hàng là rất khó, chưa kể spec khách hàng gửi cho thì quá sơ sài. Vì thế trong quá trình phát triển dự án thì mối quan hệ giữa Testers Vs. Developers là chìa khóa thành công của dự án, khi những ý kiến trái chiều được giải quyết ổn thỏa thì lúc đó cũng là lúc dự án đang phát triển rất thành công. Hãy cùng nhau phát triển dự án trên mối quan hệ tương trợ lẫn nhau hướng tới đích cuối cùng đó chính là sự thành công của dự án.