Dogfooding là gì?
Thuật ngữ “dogfooding” là một từ lóng của ngành CNTT để chỉ việc sử dụng các sản phẩm của chính mình. Trong một số cách sử dụng, nó ngụ ý rằng các nhà phát triển hoặc công ty đang sử dụng sản phẩm của chính họ để sửa lỗi, như trong thử nghiệm beta. Một lợi ích của dogfooding là nó cho thấy một công ty tự tin về sản phẩm của mình.
Tại sao Dogfooding lại cần thiết?
Dogfooding là cần thiết, ít nhất là trong phát triển phần mềm. Trong quá trình phát triển sản phẩm, thuật ngữ này thực hiện chức năng kiểm thử (ở một mức độ nào đó) và giúp phát hiện lỗi, sự không nhất quán và lỗi trước khi sản phẩm được phát hành. Sau khi phát hành, dogfooding thể hiện sự tự tin của công ty đối với sản phẩm và họ tạo ra.
Các giai đoạn của dogfooding
Thông thức, dogfooding có nhiều giai đoạn khác nhau. Mặc dù số lượng của chúng có thể khác nhau tùy thuộc vào cách tiếp cận và từng công ty, nhưng các giai đoạn phổ biến nhất là:
- Phiên bản ổn định của ứng dụng được phát triển và cung cấp để kiểm thử
- Các tính năng mới được thêm vào ứng dụng và nó được kiểm thử lại
- Các cuộc khảo sát được thực hiện để xem ứng dụng có hoạt động như mong đợi hay không
- Công ty chuyển bị ứng dụng để phát hành.
Quá trình này đảm bảo rằng phần mềm là hữu ích. Hơn nữa giai đoạn kiểm thử bắt đầu trước khi phần mềm có sẵn để thử nghiệm chính thức và sau đó, kiểm thử ở chế độ beta.
Ưu điểm của dogfooding
Nhấn mạnh vào quyền riêng tư
Nếu công ty của bạn không được phép công khai những gì họ làm, thì việc kiểm thử của người dùng thường xuyên sẽ không khả dụng. Dogfooding cho phép thay thế nó mà không ảnh hưởng đến quyền riêng tư của công ty. Ứng dụng của bạn được giữ trong môi trường kín và vẫn được kiểm thử đúng cách.
Giảm chi phí thuê tester ngoài
Khi nói đến kiểm thử, đôi khi rất khó để tìm được người kiểm thử phù hợp cho một ứng dụng. Chi phí để thuê những người kiểm thử giỏi không hề rẻ và không phải tất cả họ đều có đủ kiến thức kỹ thuật để kiểm thử tất cả ứng dụng.
Vì vậy bằng cách sử dụng dogfooding, sẽ giảm chi phí cho người kiểm thử. Tuy nhiên, ngay cả khi đây không phải là lợi ích chính. Nếu bạn đang phát triển một sản phẩm kỹ thuật cao, nhân viên của công ty là những người kiểm thử tốt nhất vì họ hiểu rõ về mặt kỹ thuật của sản phẩm.
Tiết kiệm chi phí trong thời gian dài
Dogfooding cho phép phát hiện lỗi và lỗi càng sớm càng tốt, nó thường được thực hiện trong môi trường và bởi những người đang làm việc trên sản phẩm. Vì vậy, tất cả các vấn đề được loại bỏ càng sớm càng tốt. Về lâu dài, nó cho phép tiết kiệm rất nhiều chi phí cần thiết để theo dõi lại các lỗi chưa được phát hiện ở giai đoạn đầu và sửa chúng.
Phát triển ý thức về quyền sở hữu
Việc quen thuộc sản phẩm phát triển cảm giác sở hữu của tất cả thành viên trong nhóm đã kiểm thử sản phẩm. Do đó, nó làm tăng mức độ trách nhiệm của họ đối với sản phẩm.
Thể hiện sự tin tưởng của công ty đối với sản phẩm
Nếu nhân viên sử dụng sản phẩm do công ty tạo ra, điều đó có nghĩa là (hoặc ít nhất phải có nghĩa là) rằng họ tin tưởng sản phẩm và tin tưởng vào chất lượng và chức năng của nó.
Nhược điểm
Mặc dù mang lại nhiều lợi ích, nhưng dogfooding không phải là hoàn hảo. Nó đi kèm với một số hạn chế, đặc biệt là nếu bạn không chuẩn bị mọi thứ đúng cách.
Chọn sai đối tượng
Nếu bạn chọn nhầm đối tượng không hiểu mục đích của sản phẩm, bạn có thể nhận được phản hồi sai. Nó thậm chí có thể dẫn nhóm phát triển đi theo hướng sai lầm. Vì vậy việc lựa chọn đối tượng cho dogfooding là một trong những thời điểm quan trọng đối với sự thành công của sản phẩm.
Quá nhiều kiến thức về sản phẩm
Đứng quá gần một thứ gì đó có thể khiến người đó không thấy được một số nhược điểm hoặc mâu thuẫn chính. Nhóm phát triển biết mọi khía cạnh của ứng dụng và điều đó khiến họ trở thành những người kiểm thử tồi. Họ đang phát triển một ứng dụng khi họ nhìn thấy nó. Vì vậy, điều quan trọng là phải tham gia vào dogfooding không chỉ nhóm làm việc trên sản phẩm mà còn các bộ phận khác.
Nhóm có thể có thành kiến với sản phẩm
Tất nhiên, họ đang làm việc trên đó, đó là sự sáng tạo của họ. Không có gì ngạc nhiên khi một số thành phần cảm xúc sẽ luôn hiện diện khi một chuyên gia kiểm thử sản phẩm của chính mình. Điều quan trọng là phải loại bỏ những ảnh hưởng của sự thiên vị đó. Vì vậy, sản phẩm sẽ được kiểm thử không chỉ bởi nhóm phát triển mà còn bởi các nhân viên từ các bộ phận khác và thậm chí cả người quản lý và các bên liên quan – miễn là họ không tham gia vào quá trình phát triển.
Dogfooding không thay thế kiểm thử hoặc QA
Một số người và thậm chí một số chuyên gia tin rằng nó có. Tuy nhiên, nó hoàn toàn không chính xác. Dogfooding giúp phát hiện lỗi… Tuy nhiên, giai đoạn kiểm thử và QA là không thể thiếu nếu bạn muốn phát triển một sản phẩm chất lượng.
Một số tình huống có thể bị bỏ qua
Thông thường, người dùng chỉ lướt qua một lần thông qua một kịch bản. Ví dụ: quy trình đăng ký – bạn đăng ký sản phẩm hoặc dịch vụ bao nhiêu lần? Chúng tôi cá rằng nó chỉ xảy ra một lần duy nhất. Tuy nhiên, nếu bạn làm điều đó một lần thành công, không có nghĩa là hàng nghìn hoặc hàng triệu người dùng lặp lại quy trình sẽ quản lý nó hoàn hảo như bạn đã làm.
Xem thêm: Ưu và nhược điểm của phương pháp Agile