Ở bài viết MVP — Xây dựng và phát triển sản phẩm theo mô hình Lean tôi đã trình bày các “tư tưởng”, triết lý để phát triển sản phẩm tinh gọn. Theo đó, các tiến trình xây dựng chiến lược, thiết kế và phát triển sản phẩm cần áp dụng tinh thần tinh gọn triệt để. Bài dịch dưới đây là đúc kết kinh nghiệm của tác giả như một khuôn mẫu khi phát triển một ứng dụng mobile từ khâu lên ý tưởng cho đến khi triển khai, cải tiến sản phẩm.


Với mỗi ứng dụng khác nhau sẽ có một phương pháp phát triển sản phẩm khác nhau, nhưng qui trình dưới đây khá chuẩn khi phát triển bất kì ứng dụng mobile nào. Qui trình triển khai ứng dụng mobile này thường bao gồm ý tưởng, chiến lược, thiết kế, phát triển, triển khai và các pha sau thời điểm tung ra sản phẩm

Ý tưởng


Như mọi phát minh khác, tất cả ứng dụng tuyệt vời đều bắt đầu từ những ý tưởng. Nếu bạn không có ý tưởng nào, cách tốt nhất để bắt đầu là rèn luyện bản thân luôn suy nghĩ về những vấn đề và các giải pháp tiềm năng. Nếu bạn muốn thinking tự nhiên theo bản năng, hãy hỏi “Tại sao ta lại làm chúng theo cách này?” hay “Có cách nào tốt hơn để giải quyết bài toán này?” Nếu bạn có thể nhận định một vấn đề hay nhìn ra điểm thiếu sót của thị trường, bạn đã đi một nửa đường để dẫn đến ý tưởng của mình!

Điều tiếp theo cần làm là hiểu được tại sao bài toán đó tồn tại và nghĩ về câu hỏi tại sao không có ai trước đó từng làm một ứng dụng để giải quyết bài toán này. Trò chuyện với những người khác về bài toán đó. Đắm chìm trong không gian của bài toán nhiều nhất có thể (tư duy sâu). Một khi bạn đã hiểu rõ vấn đề, hãy bắt đầu phát triển ý tưởng về cách một ứng dụng mobile có thể giải bài toán.

Quá trình hình thành ý tưởng đem lại nhiều tri thức quý giá, tuy nhiên cần phải lưu ý rằng “Điều đó có khả thi không?” — một câu hỏi khá thường xuyên với một ý tưởng vừa mới được bắt đầu. Thông thường, câu trả lời là , tuy nhiên đó chỉ là sự xác nhận phiên phiến, không chắc chắn. Và bạn sẽ có một quyết định đầu tư một lượng thời gian và tiền bạc đáng kể vào một ứng dụng, đây là lúc ý tưởng của bạn được thử thách sự đúng đắn và khả thi của nó.

Chiến lược 

Sự cạnh tranh 

Một khi bạn đã có một ý tưởng, bạn cần lên kế hoạch cho sự thành công của app. Một trong những cách tốt nhất là bắt đầu xác định sự cạnh tranh của bản (trên thị trường). Xem liệu có ứng dụng nào khác phục vụ mục đích tương tự không và theo dõi các thứ sau:

  • Số lượt cài đặt — Xem bất kì ai đã cài đặt app đó.
  • Các đánh giá và nhận xét — Xem những ứng dụng như này mọi người thích/không thích như nào.
  • Lịch sử team phát triển — Xem những ứng dụng này đã thay đổi theo thời gian như nào và trình tự các thách thức mà họ phải đối mặt . Cố gắng tìm hiểu họ đã làm gì để phát triển người dùng cơ sở của họ.

Có 2 mục đích chính trong tiến trình này. Thứ nhất, học nhiều thứ “miễn phí” có thể nhất. Những sai lầm gây tốn thời gian, bực bội và tốn kém tiền bạc, vì vậy tại sao lại không học lại các bài học từ đối thủ cạnh tranh. Thứ hai là cần hiểu được sự khó khăn như nào để cạnh tranh trên thị trường. Mọi người có thực sự “đói” một giải pháp mới? Có những khoảng trống nào chưa được lấp đầy bởi các lựa chọn hiện tại? Hiểu những điều đó và điều chỉnh giải pháp của bạn để đáp ứng chúng. Nếu ý tưởng của bạn hoàn toàn mới, hãy thử tìm các ứng dụng “đầu tiên trên thị trường” và nghiên cứu cách họ dạy người dùng về sản phẩm mới của họ như nào.

Monetization

Có nhiều phương pháp kiếm tiền khác nhau, bao gồm: in-app purchases (thanh toán trực tiếp trong app), subscription payments (gói thuê bao), premium features (gói nâng cấp), ad-revenue (quảng cáo), selling user data (bán dữ liệu), và traditional paid apps (trả phí để cài app). Để xác định thứ nào là phù hợp nhất cho app của mình, hãy xem những gì mà thị trường kì vọng để chi trả và cách mà họ chi trả các dịch vụ tương tự. Bạn cũng cần cân nhắc đến thời điểm kiếm tiền từ app của mình. Có nhiều app đã bỏ qua bước này, dẫn đến khó khăn trong việc gia tăng lợi nhuận về sau.

Marketing

Trong tiến trình phát triển ứng dụng mobile, bước này là tất cả những việc xác định những thách thách lớn nhất mà bạn sẽ phải đối mặt khi làm marketing cho app của mình. Giả sử rằng bạn có đội ngũ thiết kế và phát triển “cứng”, rào cản lớn nhất là việc đưa app vào sử dụng. Ở đây có hàng nghìn app đẹp và dễ dùng trên chợ ứng dụng, chỉ đơn giản là không được sử dụng. Lúc này, bạn cần biết được ngân sách cho marketing là gì và cách tiếp cận là gì. Trong vài trường hợp (như các app dùng nội bộ hoặc B2B) thậm chí không cần marketing.

Road Map (MVP)

Khâu cuối cùng của tiến trình Chiến lược là xác định lộ trình cho app của bạn. Mục tiêu của tiến trình này là để hiểu app của bạn một ngày nào có thể trở thành cái gì đó và nó cần gì để thành công vào ngày đầu tiên. Phiên bản của ngày đâu tiên thường được gọi là MVP. Trong suốt tiến trình này, sẽ rất hữu ích nếu bạn viết lên whiteboard tất cả những thứ bạn muốn app của bạn cần làm. Sau đó, bắt đầu xếp hạng các mục này theo mức độ ưu tiên. Xem xét chức năng cốt lõi của app sẽ là gì, cần những gì để thu hút người dùng và những gì có thể được thêm sau này. Nếu có một số tính năng bạn nghĩ người dùng có lẽ muốn, chúng rất có thể là “ứng cử viên” cho các phiên bản sau. Ngay khi bạn có được những người dùng với bản MVP đó, bạn có thể lôi kéo người dùng để lấy phản hồi về những tính năng mong muốn. App monitoring (giám sát app — được nói ở phần sau của bài dịch này) cũng hỗ trợ đáng kể trong tiến trình này.

Thiết kế UX

Information Architecture

Kiến trúc thông tin (IA) là tiến trình trong việc quyết định dữ liệu và chức năng gì cần để bày trong app của bạn và cách tổ chức dữ liệu và chức năng như thế nào. Thông thường, tiến trình được bắt đầu bằng một danh sách gạch đầu dòng các tính năng mà ta muốn app thực hiện và một danh sách những thứ cần được hiển thị đâu đó tỏng app. Đây là những khối xây dựng cơ bản để xây dựng các wireframe.

Tools sử dụng: Bảng trắng, giấy và bút.

Wireframes

Tiếp theo, ta sẽ bắt đầu tạo ra những màn hình và chỉ định từng loại dữ liệu và chức năng. Nó sẽ ổn nếu mọi thứ xuất hiện ở nhiều nơi, nhưng bạn cần đảm bảo chắc chắn rằng mỗi item đều có một [home] (trở về điều hướng gốc). Tiến trình này thường diễn ra trên bảng trắng hoặc giấy nháp. Bạn nên thêm, sửa, xóa các thứ ở bước này bới vì sẽ tiết kiệm thời gian và công sức của bạn hơn thay vì viết lại code, sửa lại UI. Một khi bạn đã có đủ một số màn hình chính được vẽ lên, hãy bắt đầu xét đến workflow của app.

Tools sử dụng: Bảng trắng, Giấy và Bút, balsamiq, và Sketch (tôi gợi ý thêm 3 công cụ khác: Adobe XDFigmaAxure RP).

Workflows

Là những lối dẫn để người dùng có thể “du lịch” trong app của bạn. Cân nhắc mỗi khi những thứ bạn muốn người dùng có thể làm và xem có bao nhiêu thao tác click/tap cần để hoàn thành hành động đó. Hãy chắc chắn rằng mỗi click đó được trực quan. Một số trường hợp việc rút gọn thao tác có thể chấp nhận được, tuy nhiên các tác vụ phổ biến không nên bị “ăn bớt” thao tác. Khi bạn tìm ra các vấn đề trong workflows của mình, cập nhật lại wireframe và thử lại công đoạn đó. Hãy nhớ lướt qua tất cả các tính năng của bạn trong mỗi lần lặp lại, chỉ để đảm bảo rằng bạn không tăng độ khó cho một hành động trong khi cố gắng cải thiện thứ khác.

Tools sử dụng: Bảng trắng, Giấy & Bút, Invision (tôi gợi ý thêm dùng Figma hoặc dùng Adobe XD khi publish link prototype hoặc design spec).

Click-through models

Mô hình Click-through (thuật ngữ Marketing chỉ quá trính 1 khách truy cập từ các đường dẫn quảng cáo, link ngoài, … đến trang đích) giúp bạn kiểm tra lại các wireframe và workflow của mình. Về cơ bản, đây là một cách để kiểm tra trải nghiệm bản wireframe của bạn trên điện thoại với sự tương tác thực tế hơn. Lấy ví dụ, khi khách hàng thông thường của chúng ta nhận được một liên kết, thứ khi được mở trên điện thoại của họ cho phép họ “click/tap” qua wireframe. Mặc dù app không dùng được ở thời điểm đó nhưng họ có thể click vào từng trang trong app và bắt đầu thử điều hướng của app. Khi bạn gặp các vấn đề ở bước này, hãy thay đổi thiết kế các wireframe của mình và lặp lại cho đến khi chấp nhận được.

Tools we use: Invision (tôi gợi ý thêm Adobe XDFigma).

Thiết kế UI

Các dẫn lối kiểu mẫu (Style guides)

Cơ bản là các khối xây dựng nên bản thiết kế app của bạn (bạn có thể tìm hiểu thêm về các kiến thức UI Design như System Design). Có một tiếng nói dẫn lối kiểu mẫu sẽ hỗ trợ rất nhiều với sự khả dụng của app. Bạn không muốn nút “call to action” trên một giao diện có màu xanh ở dưới cùng, nhưng lại có màu lục ở trên đầu của một giao diện khác. Với việc có ngôn ngữ thiết kế nhất quán, người dùng có thể sẽ thoải mái hơn khi dùng app của bạn (cá nhân tôi coi việc này như tao ra một không gian, thế giới riêng của app, vì thế bạn cần chuẩn bị đầy đủ nguyên vật liệu để xây dựng từ ban đầu).

Có rất nhiều thứ trong việc xác định một dẫn lối kiểu mẫu của app. Bạn cần biết được bạn là ai và khách hàng của bạn sẽ là ai. Ứng dụng của bạn có được dùng vào ban đêm không? Sau đó có thể với một chủ đề giao diện tối sẽ là hiệu quả nhất, không gây hại mắt người dùng của bạn. Nó sẽ được dùng chủ yếu bởi những nhân viện làm muộn? Cố gắng giữ sự hỗn tạp ở mức tối thiểu và đạt được điểm chính nói trên. Người thiết kế hay một đội ngũ thiết kế giàu kinh nghiệm có nhiều phương án “output” và có thể chuyển giao một app mà nó rất phù hợp cho bạn và các khách hàng của bạn. “Output” ở đây chính là công đoạn lên màu sắc, font chữ, các widget (button, form, label, v.v), những thứ sẽ được lấy ra từ trong bản thiết kế app của bạn.

Kết xuất các bản thiết kế (Rendered designs)

Là tiến trình lấy từ bản vẽ wireframe và rồi thay thế các element màu xám bằng các element từ style guide của bạn. Nên kết xuất từng màn hình cho mỗi màn hình wireframe. Cố gắng theo đúng style guide trong tiến trình này, nhưng bạn cũng không cần quá cứng nhắc. Nếu bạn tìm thấy bản thân muốn thay đổi hoặc làm mới style, cứ tự do cập nhật hay tinh chỉnh lại style guide của mình. Chỉ cần đảm bảo chắc chắn rằng thiết kế của bạn là nhất quán khi giai đoạn này hoàn thành.

Tools sử dụng: Bảng trắng, Bút và Giấy, và Sketch (tôi gợi ý thêm Adobe XD)

Kết xuất Click-through models

Tôi gọi là trình diễn các phác thảo — prototype hay phiên bản app không có đoạn code nào (dưới góc nhìn người làm sản phẩm).

Một khi bạn đã có tất cả các màn hình được kết xuất, quay lại với mô hình click-through app và test lại app của mình. Bước này nằm trong tiến trình phát triển app mobile, nơi bạn sẽ thực sự đắm chìm trong toàn bộ thời gian của mình. Dù rằng sự nỗ lực đáng kể được bỏ vào làm app, sau một điểm thay đổi có thể chi phí tốn kém tăng lên. Tương tượng khi bạn xây nhà, bạn cần kiểm tra kĩ lưỡng bản thiết kế mặt bằng, nếu không sẽ trả giá bằng tiền không nhỏ. Với app mobile mức độ tuy không nghiêm trọng như ngành xây dựng, việc sửa đi “xây” lại dễ chấp nhận hơn, nhưng thời gian, tiền bạc không phải miễn phí, vì vậy bạn cần suy nghĩ phát triển app của mình như khi xây một ngôi nhà, phải tối ưu hiệu quả về chi phí bỏ ra.

Tool sử dụng: Invision (tôi gợi ý thêm Adobe XDFigma)

Bàn giao thiết kế để phát triển

Là bước biến các bản thiết kế thành app bằng các đoạn code. Sau những nỗ lực đưa ra các thiết kế form và chức năng của app, điều bắt buộc là team phát triển của bạn phải thực hiện thực sự “bám sát” với thiết kế. Bước này trong tiến trình phát triển app mobile luôn làm nản lỏng các nhà thiết kế bởi chúng không thực sự như những gì trông đợi. Có lẽ bởi nhiều tổ chức và agency chỉ cung cấp thiết kế hay các development service, hoặc là mối quan hệ thi thoảng “chiến đấu” giữa các nhà thiết kế và lập trình viên.

Bất kể lý do gì, lời khuyên đưa ra là bạn nên tìm một nhóm mà có thể cung cấp cả 2 service thiết kế và development và xử lý chúng trong tiến trình này.

Phần này tác giả nói về cách dùng công cụ Zeplin như là cầu nối giữa các nhà thiết kế và lập trình viên mà không mất nhiều thời gian trao đổi, vẫn giữ được các thiết kế theo style guide của bạn. Tuy nhiên, các lập trình viên đòi hỏi phải biết dùng và hiểu các công cụ thiết kế như Photoshop hoặc Sketch. Khi đó mới có tiếng nói chung giữa người thiết kế và người lập trình. Nói cách khác, các lập trình viên cần có chung tầm nhìn, cùng suy nghĩ với người thiết kế và người làm sản phẩm, có được sự ăn ý nhất định (chẳng hạn, bạn thiết kế ra một nút, thì người lập trình cần tự hiểu nút đó có những trạng thái gì như normal, active, disable, hover, … ). Cuối cùng, mục tiêu quan trọng nhất của dev team là luôn thực hiện hoàn hảo đến từng pixel.

Tools sử dụng: Zeplin (tương tự bạn có thể dùng Figma)


Trên đây là 3 bước đầu tiên trong tiến trình phát triển một ứng dụng mobile, gồm: ý tưởng, chiến lược và thiết kế. Là toàn bộ quá trình xây dựng sản phẩm trên giấy và các bản vẽ thiết kế. Cung cấp đầy đủ nguồn tài nguyên để chuẩn bị xây dựng nên “ngôi nhà” — ứng dụng mobile của bạn.

Nguồn: https://medium.com/@sonohyeah/qu%C3%A1-tr%C3%ACnh-ph%C3%A1t-tri%E1%BB%83n-m%E1%BB%99t-%E1%BB%A9ng-d%E1%BB%A5ng-mobile-ph%E1%BA%A7n-1-12b1dce5a487