Nhắc đến công cuộc bảo vệ chất lượng phần mềm, tôi lại nhớ đến các bài viết về đất Nhật cũng như những chia sẻ của các đồng nghiệp đang sống và làm việc bên đó. Theo đó, ở Nhật không dùng đến Tester hoặc dùng cực ít. Mong muốn của họ là tìm những Developer có thể code và cũng có khả năng viết testcase, các tài liệu kiêm test luôn. Chính vì thế các công ty gia công cho thị trường Nhật cũng chịu ảnh hưởng, nếu không nói đến các khách hàng quan trọng, thì chắc chắn tester sẽ bị dẹp ra rìa.
Tuy nhiên sự thực cho thấy, nếu các công ty gia công không hội tụ được những nhân tố đủ "ghê gớm", thì bug và OT chính là nỗi khiếp đảm trong chuỗi ngày làm việc của các Developer. Sự xuất hiện của các Tester hay các QA tuy mang đến cho DEV nhiều bug hơn nhưng vì bug được phát hiện sớm hơn nên DEV sẽ giảm bớt tình trạng phải OT, hạn chế vắt chân lên cổ mỗi khi cận kề deadline hay sự khiển trách đột ngột của các sếp mỗi khi bị bên khách hàng báo phát hiện ra vài bug.
Một công ty sở hữu một đội ngũ đảm bảo chất lượng sản phẩm càng ưu tú bao nhiêu thì các sản phẩm làm ra các được các khách hàng ưa thích và tin tưởng.
Theo tôi, điều đó là hoàn toàn hiển nhiên. Khách hàng sẽ hài lòng hơn nếu công ty có một đội ngũ "Developer dở nhưng teser giỏi" hơn là một team với Developer giỏi mà Tester dở.
Một dự án với Developer giỏi nhưng Tester dở
Mặc dù Developer giỏi, số bug phát sinh sẽ được kiểm soát, nhưng developer cũng chỉ là con người mà con người thì thường mắc sai lầm. Chưa kể đến vì nhược điểm của Developer cứng là xem nhẹ các lỗi "baka - ngu ngốc", nhưng điều đó lại rất hay gặp, khách hàng không thông minh như DEV nghĩ, họ chỉ là những người dùng không chuyên và điều gì cũng có thể xảy ra.
Tester dở sẽ mở ít bug, toàn bug nhỏ, không nhận ra vấn đề của phần mềm từ góc nhìn người dùng phần mềm hoặc không nhìn ra vấn đề về tính tương thích, thẩm mĩ, đồng bộ dữ liệu, performance của nhiều chức năng trong cùng một phần mềm, thiếu kiến thức và tầm nhìn phổ quát toàn hệ thống cũng như nghiệp vụ của kiểm thử, thiếu ứng dụng và không lường được tối đa nhất các case có thể có bug, phạm trù về ngôn ngữ cũng là rào cản khiến tester bỏ xót case trong quá trình test...
Với dự án Developer giỏi nhưng Tester dở có thể khiến khách hàng khi dùng sản phẩm rất thất vọng vì động đâu cũng thấy bug, việc liên tục phàn nàn với Project Manager khiến dự án bị delay do phải fix lại các bug bị khách hàng tìm được gây kéo dài vòng đời dự án, tốn effort và tiền bạc, thậm chí còn phải đối mặt với việc bị phạt do vi phạm hợp đồng, mất uy tín khiến khách hàng bỏ đi và công ty không phát triển tốt được trong tương lai.
Một dự án với Developer dở nhưng Tester giỏi
Trong dự án có sở hữu các Tester ưu tú, lượng bug có thể nhiều hoặc ít nhưng chất lượng của phần mềm gần như được đảm bảo ở ngưỡng 85 - 90%, thậm chí có thể hơn. Các Tester giỏi có khả năng xác định các nghiệp vụ cần ưu tiên trong thao tác kiểm thử phần mềm, phân tích cụm lỗi và đánh giá các ảnh hưởng mang lại. Các tester giỏi quan tâm các bug logic quan trọng cần fix trước nhưng cũng không quên lưu tâm đến các defects nhỏ hơn. Thường thì trong một công ty có cấu trúc, test cứng sẽ review sâu vào các tài liệu, thậm chí cũng có thể vào review cả code nữa, trong khi phàn việc về giao diện sẽ nhường lại cho các đàn em intern. Các vấn đề non-functional được quan tâm đến tận gốc rễ,.... chính vì thế, có những bug được phát hiện ra khiến Developer than trời, nhưng đó là để đảm bảo rằng phần mềm luôn chạy ổn nhất có thể khi trao đến tay khách hàng.
Nhờ vào lượng bug khá triệt để các Tester giỏi phát hiện ra, PM có thể dễ dàng cân đong chi phí và thời gian cho quá trình fix cũng như có biện pháp support kịp thời trước khi deadline ập đến.
Với các Developer dở, việc để xảy ra nhiều bug hơn sẽ xảy ra thường xuyên và nhiều hơn các Developer cứng khác, nhưng kĩ năng của mỗi người có thể cải thiện dần dần. Các tester có thể không hài lòng với việc DEV để lọt quá nhiều bug căn bản hoặc khiến cho phần mềm bị ảnh hưởng quá nhiều chỗ khiến tốn effort và công test của đội Test, nhưng về mặt chung để nói Tester quan tâm đến chất lượng, vì vậy việc một Tester có trách nhiệm luôn đảm bảo phần mềm an toàn nhất có thể.
Hậu quả xấu nhất của một dự án với Developer dở, Tester giỏi có thể là chúng ta có nhiều bug cần fix vào những ngày cuối của dự án, khách hàng có thể nhận được sản phẩm chậm trễ 1 chút nhưng nhìn chung vẫn hài lòng vì họ nhận được đúng cái họ mong muốn, và không phải thất vọng với niềm tin của mình. Họ có thể tin tưởng và còn giới thiệu thêm các khách hàng cho công ty, khiến việc làm ăn của công ty trở lên uy tín và phát triển bền vững.
#ntechdevelopers