Kiến thức chung

MVP là gì?

Growing system

🌱Trong phát triển phần mềm, MVP viết tắt của cụm từ Minimum Viable Product để chỉ phiên bản tối thiểu của một ứng dụng/hệ thống phần mềm hay một chức năng (feature) mà có thể phát hành (release) đến tay người dùng. Phiên bản này chỉ bao gồm các chức năng cốt lõi, cơ bản nhất mà người dùng có thể sử dụng được.

Khi cả nhóm tập trung vào các chức năng cốt lõi của MVP sẽ giúp mọi người tránh làm những task ít quan trọng hoặc không cần thiết. Ví dụ như developer thì chỉ tập trung lập trình các task, user story liên quan; Và tester thì chỉ tập trung kiểm thử những luồng nghiệp vụ liên quan, tránh “vẽ vời lung tung” nhiều trường hợp không được hỗ trợ trong đợt release lần này.

Theo wikipedia, thuật ngữ này được định nghĩa và sử dụng bởi Frank Robinson vào năm 2001, và nó được phổ biến rộng rãi bởi Steve Blank và Eric Ries. (https://en.wikipedia.org/wiki/Minimum_viable_product)

Ví dụ MVP của tính năng File Upload

Với tính năng (feature) File Upload cho phép người dùng tải tập từ máy tính của mình (local pc) lên máy chủ trên Cloud, thì MVP của nó có thể là: tối thiểu phải cho phép người dùng chọn được một hoặc nhiều loại file được hỗ trợ và tải lên thành công. Và việc hỗ trợ nâng cao như kéo thả (drag and drop) hoặc tạm dừng (pause) hay tự động kết nối để tải tiếp khi mạng bị gián đoạn, v.v… có thể được phát triển sau đó.

Trong hình dưới là của tính năng thay đổi logo của Google. Những tính năng “Take a picture” và “Drag and drop” có thể sẽ được phát triển sau khi release tính năng này với một nút “Upload from computer”

Phiên bản MVP

Chức năng hoàn chỉnh

Thường thì khi làm việc trong một nhóm phát triển phần mềm cho công ty product thì bạn sẽ nghe khái niệm “MVP” nhưng trong các nhóm gia công phần mềm (outsource) thì ít khi sử dụng thuật ngữ này. Nếu chỉ tìm kiếm từ khoá “mvp” trên Google coi chừng nó trả về kết quả cho “Most Valuable Player” (cầu thủ xuất sắc nhất) đó nha.

Điều cần chú ý khi kiểm thử một MVP

Sau khi tham gia các buổi họp, tester sẽ phải nắm được các yêu cầu cơ bản của MVP. Dựa trên tài liệu mô tả chi tiết hoặc không chi tiết như user story, tester có thể bắt đầu viết test case cho MVP này. Dưới đây là một số điều cần lưu ý:

  1. Chỉ nên tập trung vào các chức năng cần thiết trong MVP
  2. Kiểm thử luồng nghiệp vụ chính được hỗ trợ bởi MVP
  3. Nên chuẩn bị một checklist bao phủ mọi acceptance criteria (nếu có)
  4. Nên kiểm tra các chức năng hiện có (regression testing) nếu như đây là MVP của một tính năng mới được phát triển trên một hệ thống đang vận hành.
  5. Không nên quá tập trung và những trường hợp edge case

Câu hỏi thường gặp

Có chuẩn nào quy định phải có ít nhất chức năng gì không?

Mình làm việc với nhiều công ty và nhóm khác nhau, nhưng không thấy ai quy định gì. Mỗi team có những yêu cầu MVP khác nhau.

You Might Also Like

Leave a Reply

Your email address will not be published. Required fields are marked *