MVP — Xây dựng và phát triển sản phẩm theo mô hình Lean (Minimum Viable Product)

Hiện nay, khi nói đến Phát triển phần mềm, hầu hết chúng ta đều biết đến các Qui trình xây dựng và các Mô hình phát triển thường thấy như Scrum, Agile, Waterfall hay Sprial. Đặc điểm chung của các mô hình trên đều đưa ra các tiêu chuẩn xây dựng một phần mềm theo giai đoạn, sự tương tác giữa các nhóm phát triển với nhau, tất cả đều nhằm một mục đích duy nhất là làm “smooth” tất cả các vị trí từ trong ra ngoài của sản phẩm. Giống như những “bánh răng” của một động cơ, chúng càng “nhịp nhàng” thì cỗ máy càng chạy nhanh.

Cogs — Nguồn ảnh: flickr

Tuy nhiên, việc ứng dụng các mô hình trên luôn phụ thuộc vào từng loại dự án hay sản phẩm cần xây dựng. Thậm chí, hình thành nên cơ cấu, tổ chức một công ty. Các công ty phát triển năng động hiện nay đã áp dụng những qui trình linh hoạt hơn như Agile, cho phép dự án được kết thúc nhanh chóng, tương tác giữa các thành viên nhịp nhàng, tạo ra một văn hóa doanh nghiệp cởi mở, đầy linh hoạt.

Qui trình Agile có hơn 15 năm với triết lý và vận hành riêng. Điểm dễ nhận ra là không có bất kì quy tắc nào ở các khâu, mà đó là sự kinh nghiệm được truyền qua lại giữa các nhân viên, cho phép họ cải tiến mình và giúp dự án được suôn sẻ. Mấu chốt ở đây là Kinh nghiệm, các qui trình được tạo ra bởi kinh nghiệm của người đi trước được học hỏi, đúc kết và thường nhanh gọn. Bạn không nên áp dụng Agile nếu bạn chưa từng làm việc trong một dự án “Agile”.

Thay đổi linh hoạt mà vẫn giữ được cốt lõi.

Eric Ries, tác giả cuốn sách nổi tiếng The Lean Start Up đã chỉ ra một kĩ thuật phù hợp hơn và được coi như kim chỉ nam cho các Startup (những công ty hạn chế về nguồn lực, thời gian và tiền bạc trong thời kì đầu), giúp họ tiết kiệm quá trình “kiểm thử” sản phẩm, đồng thời giảm thiểu được rủi ro về thị trường do đó nhanh chóng xoay chuyển sản phẩm theo sát thực tiễn . Mô hình đó có tên là Minimum Viable Product — Sản phẩm khả thi mức tối thiểu. Dưới đây là một minh họa hay được sử dụng khi nói về MVP:

Minh họa của Henrik Kniberg (bài viết về MVP của tác giả)

Vậy MVP là gì, cách dùng MVP trong việc xây dựng và phát triển sản phẩm ra sao, tôi sẽ trình bày từng phần dưới đây.

MVP — Sản phẩm khả thi ở mức tối thiểu

Là một khái niệm. Một kĩ thuật phát triển một sản phẩm mới như một website, với vừa đủ các tính năng đáp ứng cho tập những người dùng — khách hàng đầu tiên. Sau đó trải qua nhiều lần sửa đổi, cải tiến và bổ sung theo feedback từ những người dùng ban đầu mới cho ra thiết kế cuối cùng hay đưa sản phầm on-air phục vụ tập khách hàng.

Minh họa bởi Rob Borley

Các keyword để thực hành theo phương pháp Lean đó là vòng lặp: Build-Measure-Learn. Cụ thể:

  • Build: Xây dựng một bản MVP với những tính năng cốt lõi, cơ bản nhất. Cụ thể, là những tính năng xương sống — ít bị loại bỏ trong tương lai, mức độ về kĩ thuật nằm trong khả năng của team phát triển và trong phạm vi ngân sách giới hạn ban đầu. Lưu ý rằng, những tính năng xây dựng trong bản MVP này có thể bị thay đổi hoặc nâng cấp, vì vậy sự hoàn thiện các chức năng cần đạt được các mục tiêu đã định (tạo ra giá trị sản phẩm và có tính khả dụng).
  • Measure: Đưa sản phẩm đến một nhóm các đối tượng khách hàng tiềm năng hoặc chỉ định cụ thể để đánh giá tính khả dụng tính thực tiễn. Nhờ vào các kết quả đo lường thực tế đó, product owner đánh giá được rủi ro và biết được dự án đang đi đúng hướng hay không, cần điều chỉnh, đéo bám sản phẩm bằng chiến lược kinh doanh như nào.
  • Learn: là sự học hỏi có kiểm chứng. Dựa trên các kết quả đo lường bằng con số cụ thể, chỉ ra rằng sự thay đổi nào là cần thiết, cần bổ sung thêm cái gì, bỏ cái nào trong bản MVP tiếp theo.
Vòng lặp BML (Build-Measure-Learn)

Có thể thấy rằng vòng lặp phản hồi trên cho ra một version sản phẩm (MVP) tiếp cận khách hàng nhanh chóng, có được sự phản hồi NHANH HƠN — ÍT RỦI RO HƠN — ĐỠ TỐN KÉM HƠN. Cứ như vậy, qua các bản MVP sẽ dần hoàn thiện và đi đúng hướng sát theo các mục tiêu đã xác định, trên hết là tính “thực tiễn” và “khả dụng” được đảm bảo.


Người dùng hay tiền?

Vậy so với phát triển sản phẩm theo mô hình Agile và Lean (MVP) có gì khác nhau, đó chính là sự kết nối giữa BusinessProduct.

Tôi thường áp dụng mô hình CUBI như một framework để làm UX. Khi bắt đầu xây dựng sản phẩm, chúng ta cần quan tâm đến 2 mục đích đó là UserBusiness, 2 yếu tố này sẽ dẫn dắt mọi công việc mà chúng ta làm (xây dựng content và triển khai xây dựng sản phẩm).
- User Goals: Xác định User Types — Needs — Motivations — Behaviors — Outcomes.
-
Business Goals: Operations — Offerings — Outcomes — Mission(*).
Nhiệm vụ khi thiết kế sản phẩm là cần cân bằng được 2 mục tiêu trên, vì không phải lúc nào cũng thỏa mãn đồng thời cả 2. Người dùng luôn muốn mọi thứ và chúng ta không thể đáp ứng ngay được. Lợi nhuận là trên hết nhưng tất nhiên chúng ta vẫn phải khiến người dùng tự bỏ tiền chứ không phải ép buộc. Điều này nhiều khi tạo ra “vòng xoáy” người dùng hay là tiền, và vì thế vẫn cần một keyword để dẫn dắt người thiết kế.
Tầm nhìn — Lèo lái — Tăng Tốc

Đó là những gì được thể hiện trong phương pháp Lean StartUp. Tầm nhìn giúp ta định hình sản phẩm, cần đạt giá trị nào vào thời điểm nào. Tạo ra các điểm neo để giúp cho sản phẩm đi đúng hướng qua từng bản MVP.

Xây dựng bản MVP đầu tiên

Để bắt đầu một bản MVP đầu tiên, chúng ta cần đặt ra các mục tiêu để từ đó mindset về hình hài sản phẩm từ thuở sơ khai. Để đưa ra được các mục tiêu đó, cần một tầm nhìn chung dẫn dắt mọi thành viên.

Ví dụ, khi xây dựng một app service, hầu như tuyệt đối bản MVP đầu tiên nào cũng phải có chức năng [Login]. Bằng trải nghiệm thông thường, bất kì ai cũng có thể hình dung chức năng này hoạt động như nào. Nhưng cơ chế và mục đích sử dụng thì mỗi loại service là khác nhau.

Dưới góc độ người thiết kế, tính năng [Login] luôn nằm trong bộ combo chức năng: [Login]-[Sign Up]-[Forgot password]. Sâu hơn, sẽ phân theo lớp [Account]. Có rất nhiều bài toán ứng với nhiều tình huống thực tếđược phân loại theo nhiều phương diện: địa lý, giới tính, độ tuổi, nghề nghiệp, đặc tính đối tượng khách hàng, …, mỗi trường hợp thường có những mục tiêu về User là khác nhau:

  • App làm cho người dùng trên toàn thế giới: ngôn ngữ hiển thị mặc định là English.
  • App làm cho người dùng ở Việt Nam: ngôn ngữ duy nhất là Tiếng Việt.
  • App làm cho người trẻ: màu sắc trẻ trung, năng động. Nhiều lựa chọn khi dùng [Sign Up].
  • App làm cho người già, trung niên: phong cách đơn giản, chữ to, dễ đọc, dễ thao tác. Thậm chí có thể bỏ qua tính năng [Sign Up].
  • App làm cho doanh nghiệp: thường không có tính năng [Sign Up], tài khoản được cấp mặc định sẵn.
  • App cần bảo mật đăng nhập: thêm các lớp khi [Login] xác thực 2 yếu tố, xác thực vân tay, capcha, …
  • App cần nhanh chóng thuận tiện khi đăng nhập: lưu phiên đăng nhập, gợi ý tài khoản đăng nhập, …

Khi đặt mục tiêu về Business: sử dụng loại [Account] nào (device ID, Google hay Facebook, …) phù hợp cho mục đích khai thác người dùng. Cần các tool tracking/analytic user, …

Vậy chức năng [Login] của bản MVP đầu tiên cần làm sẽ như nào?

5 whys?

  • Tại sao cần làm tính năng [Login]? — Vì sản phẩm này cần quản lý người dùng của chúng ta.
  • Tại sao cần Quản lý người dùng? — Vì cần định danh người dùng khi dùng tính năng [Chia sẻ] hay [Trò chuyện].
  • Tại cần [Chia sẻ]? — Vì cần lan tỏa cộng đồng social.
  • Tại sao cần lan tỏa cộng đồng social? — Vì nó giúp sản phẩm tiếp cận được nhiều người dùng hơn.
  • Tại sao lại tiếp cận được nhiều người dùng hơn/Ở đâu thì sản phẩm tiếp cân được nhiều người dùng? — Vì cộng đồng hầu hết đều dùng Facebook, nên mọi thứ chia sẻ thì đều thấy trên đó.

Phương pháp 5 why? giúp bạn lý giải được vì sao mình cần làm, đi vào đúng nguyên nhân gốc bám sát với mục tiêu business, user, quan trọng nhất vấn là phù hợp với tầm nhìn ban định hướng ban đầu.

Đúc kết

MVP là một phiên bản sản phẩm tiếp cận được khách hàng nhanh chóng, đồng thời tùy chỉnh sản phẩm kịp thời theo phản ứng của môi trường kinh doanh thực tế, nhanh chóng thấy được giá trị lợi ích mà sản phẩm đem lại.

Minimum Viable Product vs the Optimal product (video)

Với một sản phẩm được xây dựng theo một motifs có sẵn — sản phẩm dựa trên một sản phẩm khác đã được publistrước đó (qui trình phát triển sản phẩm đã được khẳng định chắc chắn là thành công, thường thấy có 3 phase: alpha, beta và publish. Ở giai đoạn alpha, nếu thành công về mặt kĩ thuật, công nghệ, sản phẩm sẽ được chuyển đến giai đoạn beta để tiếp cận 1 tập người dùng cố định nhằm có những đánh giá về kĩ thuật và người dùng là chủ yếu.

Đó cũng chính là sự khác biệt giữa một sản phẩm tinh thần “Start up” với một sản phẩm “Thông thường”.

Khởi nghiệp là một tổ chức của con người được thiết kế nhằm cung cấp sản phẩm và dịch vụ trong những điều kiện không chắc chắn nhất.
 — Định nghĩa Start up của Eric Ries