09/09/2021 18:09

Làm thế nào chọn công ty phát triển ứng dụng tốt nhất cho startup của bạn?

Làm thế nào chọn công ty phát triển ứng dụng tốt nhất cho startup của bạn?

Không ít các câu chuyện dở khóc dở cười đã xảy ra khi hợp tác cùng các đối tác công nghệ. Làm thế nào để chọn đúng một công ty gia công phần mềm đáng tin cậy? Bài viết này hướng dẫn từng bước cách tìm và chọn thuê công ty phát triển nền tảng công nghệ phù hợp với nhu cầu của bạn và đảm bảo xây dựng dự án với kết quả tốt nhất, với mức giá tối ưu.

Vì sao nên thuê công ty outsource phần mềm thay vì tự xây dựng?

Kể cả khi đội ngũ sáng lập của bạn có kinh nghiệm làm việc trong ngành phần mềm, bạn thường đứng trước ba lựa chọn: tự xây dựng đội ngũ phát triển web / app in-house, thuê các lập trình viên freelancer, hoặc thuê công ty gia công phần mềm.

  Team inhouse Freelancer Công ty outsource

 Ưu điểm

  Sự linh hoạt cao.
  Giao tiếp thuận tiện.
  An tâm về tính sở hữu.
  Chi phí thấp nhất   Đảm bảo dự án được thực hiện bởi một đội ngũ chuyên sâu, giàu kinh nghiệm.
  Nhanh ra mắt sản phẩm.

 Nhược điểm

  Thời gian và chi phí xây dựng đội ngũ lớn.   Nhiều e ngại về tính trách nhiệm, thường không đảm bảo tiến độ. Thậm chí biến mất, không liên lạc được nữa.

  Phụ thuộc nguồn lực bên ngoài.
  Sự linh hoạt trong việc thay đổi tính năng bị hạn chế.

 Phù hợp nhất với

  Bạn có nhiều kinh nghiệm và network trong ngành công nghệ tốt. Ngân sách nuôi team dev dồi dào.   Chi phí thấp, dự án nhỏ.   Dự án lớn, nhiều tính năng, nhiều luồng phức tạp.
  Tiết kiệm chi phí.

* Lưu ý dành cho các startup:

Chi phí phát triển web / app thường chiếm tỷ lệ rất lớn trong toàn bộ chi phí hoạt động của một startup ở giai đoạn ban đầu. Vì chưa vội thành lập công ty ở giai đoạn quá sớm này, nhiều startup bỏ qua cơ hội được ghi nhận chi phí này trong báo cáo thuế về sau.

Trong trường hợp này, bạn hãy yêu cầu công ty phần mềm xuất hoá đơn cho cá nhân bạn. Sau khi thành lập công ty, bạn vẫn có thể ghi nhận chi phí gia công phần mềm này cho công ty. Hãy tìm hiểu về điều này với kế toán của bạn nhé.

Cách thuê công ty phát triển ứng dụng hiệu quả nhất

1. Liệt kê các yêu cầu và kỳ vọng

Trước khi tìm đối tác đồng hành, bạn cần hiểu thật rõ bạn muốn gì.

Bắt đầu với việc xây dựng kế hoạch kinh doanh, từ đó làm rõ các yêu cầu làm web / app và kỳ vọng của bạn qua các câu hỏi như sau:

Phát triển ứng dụng trên nền tảng nào trước?

Bạn phải cân nhắc chọn lựa giữa ứng dụng di động (chọn native app hoặc hybrid app) hay ứng dụng web (web app).

Web app Native app Hybrid app

   (web app)

  Ứng dụng trên nền tảng web hoạt động trên mọi thiết bị có trình duyệt (bao gồm desktop, laptop, smartphone, tablet). Tuy chức năng của web app có phần bị hạn chế nhưng đây là giải pháp nhanh và được sử dụng phổ biến nhất.

(mobile app)

  Phát triển native app đòi hỏi phải có hai nhóm lập trình viên riêng biệt chạy song song: một viết Android app, và một viết iOS app.

  Native app là lựa chọn đắt tiền nhất nhưng mang lại chất lượng hàng đầu.

(mobile app)

  Hybrid app là sự thay thế tuyệt vời cho native app, khi mà lập trình viên chỉ cần viết một mã nguồn duy nhất và sau đó có thể điều chỉnh cho bất kỳ nền tảng nào (cả Android và iOS). Do đó, chi phí phát triển hybrid app thấp hơn nhiều so với native app, tuy nhiên, có thể có một số rủi ro tiềm ẩn vì đây là công nghệ mới.

Sử dụng công nghệ gì?

Nếu dự án của bạn khởi động từ một dự án cũ, một trang web đã có từ trước, thông thường bạn sẽ có thể tiếp tục sử dụng công nghệ mà các lập trình viên trước đó đã lập trình ra trang web của bạn. Tuy nhiên, nếu công nghệ đó đã lỗi thời, hoặc gặp quá nhiều hạn chế, không có khả năng mở rộng, bạn phải chấp nhận “đập” bỏ và xây lại từ đầu.

Nếu dự án của bạn đang xây dựng từ đầu, chưa có gì cả, hãy nhờ công ty công nghệ tư vấn cho bạn. Nhưng trước đó, trang bị cho mình một số kiến thức cơ bản sẽ giúp bạn thuận lợi hơn. Một số công nghệ tốt nhất mà bạn nên chọn như sau:

Web app Native app Hybrid app
  •  Backend: Ruby on Rails, Golang, Node.js (Javascript),...
  •  Frontend: ReactJS, Angular, Vue.js,...
  •  iOS: Swift hoặc Objective-C
  •  Android: Java hoặc Kotlin

  React Native hoặc Flutter

 Lựa chọn những công nghệ mới nhiều khả năng đồng nghĩa với chi phí cao hơn, cùng với chất lượng tốt hơn hẳn.

Bạn cũng cần tìm hiểu về dịch vụ đám mây (như Amazon Web Services, Digital Ocean,...) và cơ sở dữ liệu sẽ sử dụng cho dự án của bạn.

Ngoài ra, đừng quá ôm đồm khi muốn xây hết tất cả mọi tính năng. Việc tích hợp với các dịch vụ của bên thứ ba sẽ giúp bạn tiết kiệm chi phí và giảm thời gian phát triển sản phẩm bằng cách sử dụng các giải pháp có sẵn. Ví dụ: Tích hợp Zalo chat hay Messenger chat vào trang web app của bạn là giải pháp tối ưu nhất ở giai đoạn đầu, trừ khi sản phẩm mà bạn muốn xây là Chatbot.

Những tính năng nào sẽ được đưa vào MVP?

Bạn không thể nói chung chung: “Tôi muốn làm một app e-commerce giống Lazada.”

Hoặc “bá đạo” hơn (nhưng rất thường gặp): “Yêu cầu của tôi là một nền tảng có tính năng mạng xã hội như Facebook, cho đặt hàng giao ngay như Grab và có ví điện tử như Momo.”

Để hoàn thiện một nền tảng công nghệ có đầy đủ mọi tính năng như bạn mong muốn có thể phải mất đến vài năm và tiêu tốn hàng trăm ngàn đô (thậm chí hàng triệu đô). Thay vì vậy, khởi đầu với “một sản phẩm khả dụng tối thiểu” (MVP) là điều được khuyến khích trong các “sách giáo khoa” dạy về khởi nghiệp và đã được minh chứng bởi hầu hết các startup thành công trên thế giới.

Bạn kỳ vọng gì ở đối tác công nghệ?

  • Bạn cần tìm một công ty với giá rẻ, hay muốn đảm bảo chất lượng sản phẩm?
  • Bạn có muốn chia sẻ cổ phần với họ không?
  • Bạn muốn hợp tác với một công ty outsource đơn thuần là công ty outsource (yêu cầu gì viết nấy) hay bạn cần một đối tác công nghệ đồng hành có thể tư vấn chiến lược phát triển sản phẩm và lộ trình gọi vốn cho startup?

Từ những yêu cầu trên, bạn sẽ tập trung vào việc tìm những công ty phù hợp nhất.

2. Tìm một số công ty outsource chuyên xây dựng nền tảng công nghệ cho startup

Một số cách thức thông dụng như sau:

  • Google: Đa dạng hoá từ khoá tìm kiếm, và thử thêm từ khoá liên quan đến lĩnh vực bạn đang muốn làm (ví dụ: công ty chuyên phát triển app cho startup, công ty làm app review đồ ăn, công ty viết web bán bất động sản,...) để giúp bạn tìm được nhiều danh sách công ty outsource.
  • Hỏi thăm đồng nghiệp, bạn bè.
  • Các trang website đăng tin tuyển dụng trong ngành IT như Itviec, Topdev cũng là một cách hay.
  • Tham dự các sự kiện công nghệ, các cộng đồng khởi nghiệp trên Facebook.
  • Trang web Upwork sẽ giúp bạn khám phá số dự án công ty đó hoàn thành, và các đánh giá, nhận xét.
  • Xem review của khách hàng trên các website như Clutch, Goodfirms.

3. Đánh giá năng lực của các công ty làm app

Xem Portfolio:

  • Tổng số dự án và độ lớn của dự án: Con số các dự án đã làm chưa nói lên tất cả, hãy đánh giá độ phức tạp của dự án. Một công ty đã phát triển hàng trăm landing page và website tĩnh không đồng nghĩa với việc họ có thể xây dựng một nền tảng e-commerce hoàn chỉnh.
  • Trải nghiệm sản phẩm: Trang web của chính công ty họ, cũng như các web app và mobile app mà họ đã xây dựng cho các khách hàng khác sẽ tiết lộ năng lực thật sự của họ: UI/UX có theo xu hướng thế giới không? Tốc độ tải trang, tải hình ảnh có nhanh không? Ứng dụng có bị crash (bị thoát ra đột ngột khi đang dùng app) không? v.v...
  • Kiến thức ngành: Xem các dự án mà công ty outsource đã hoàn thành để hiểu rõ công ty đó đã có kinh nghiệm triển khai dự án trong các lĩnh vực nào (fin tech, edu tech, agri tech,...)

Sau khi chọn ra một số công ty mà bạn ưng ý, bạn tiến hành liên lạc với họ.

Một lưu ý nho nhỏ khác: Múi giờ và ngôn ngữ có thể ảnh hưởng đến tiến độ dự án. Bạn nên cân nhắc nếu bạn đang sinh sống ở một quốc gia lệch nhiều giờ so với công ty đối tác công nghệ, hoặc sử dụng ngôn ngữ khác nhau.

4. Các buổi họp đầu tiên với các đối tác công nghệ

Đừng ngại chia sẻ ý tưởng của mình: Ở Silicon Valley, giới khởi nghiệp cho rằng “Ý tưởng là thứ rẻ mạt nhất"! Nghe có vẻ “tự ái" nhỉ, nhưng ý tưởng vẫn mãi là ý tưởng, nếu không ai hiện thực nó. Hãy cởi mở chia sẻ để giúp các nhà phát triển phần mềm hiểu rõ các yêu cầu của bạn, và có thể cũng nhận những phản hồi góp ý từ họ.

Chuẩn bị sẵn danh sách các câu hỏi: Sau khi mô tả về các yêu cầu của mình, bạn cũng nên đặt nhiều câu hỏi để kiểm tra độ am hiểu của họ, cũng như giải đáp các thắc mắc của bạn, từ đó đánh giá mức độ phù hợp giữa phong cách làm việc và khả năng hợp tác lâu dài của đôi bên.

Bạn có thể yêu cầu công ty phần mềm ký thoả thuận bảo mật thông tin trước khi gửi các tài liệu liên quan cho họ phân tích và báo giá.

5. Chọn chiến lược giá phù hợp ngân sách

Nếu bạn đặt hàng làm một nền tảng giống y hệt như một nền tảng đã có mặt trên thị trường (thường là sao chép một mô hình kinh doanh đã có trên thế giới về áp dụng cho thị trường Việt Nam), bạn đã biết rõ các tính năng phải làm.

Còn nếu bạn chưa tìm ra mô hình nào để tham khảo, là một dự án đổi mới sáng tạo đột phá, chắc chắn là dự án của bạn sẽ mang tính “vừa đi vừa dò đường". Khi này, bạn cần thận trọng hơn rất nhiều.

 Hãy tham khảo hai chiến lược giá sau đây:

  Giá trọn gói cố định Giá tính theo nhân lực và thời gian

 

 

Ưu điểm

  - Phù hợp với những dự án có yêu cầu rõ ràng, đã định hình rõ chức năng và các luồng chi tiết.

  Điều này đòi hỏi bạn phải tập trung cao độ cho việc nghiên cứu sản phẩm, buộc bạn phải thật sự kỷ luật với kế hoạch của mình. 

  - Xác định rõ thời hạn bàn giao sản phẩm và chi phí.

  - Chi phí được tính theo tổng số người làm việc và tổng số thời gian làm việc thực tế.

  - Đối với phần đa startup, việc phát triển nền tảng công nghệ đòi hỏi sự linh hoạt rất lớn. Phương thức thuê ngoài này sẽ giúp bạn dễ dàng thay đổi mọi yêu cầu, nhanh chóng điều chỉnh các tính năng để phù hợp với nhu cầu của thị trường.

   

Nhược điểm

  Thiếu tính linh hoạt trong việc thay đổi yêu cầu, thay đổi bản thiết kế giao diện.

 

  - Khó xác định được tổng chi phí.

  - Đôi khi khó tránh khỏi việc lan man dẫn đến chi phí bị đội lên và có thể phải hoãn ngày ra mắt sản phẩm.

6. Ký kết hợp đồng

Bản hợp đồng nên nêu rõ tiến độ thực hiện dự án, tiến độ thanh toán, thời gian bàn giao, tiêu chuẩn nghiệm thu sản phẩm, chế độ hỗ trợ…

Lưu ý ngoài chi phí lập trình, bạn cần biết rõ các khoản chi phí khác như domain, hosting, Apple account,... có bao gồm trong hợp đồng hay không.

7. Khởi động dự án và theo dõi tiến độ

Các công ty gia công phần mềm ngày nay thường áp dụng mô hình quản lý Scrum. Theo đó, thường mỗi hai tuần sẽ hoàn thành một Sprint, với việc hoàn thành một số tính năng đã được hoạch định.

Các công ty chuyên nghiệp sẽ có thể release một số bản thử nghiệm sản phẩm để khách hàng có thể theo dõi tiến độ thực tế của dự án, từ đó kịp thời phản hồi những sai sót không mong muốn. Các giai đoạn release tuỳ thuộc vào thoả thuận của đôi bên.

Ví dụ, một tháng kể từ khi ký hợp đồng, bạn có thể trông thấy phiên bản web đầu tiên với 30% số lượng tính năng, vẫn còn rất nhiều lỗi (bug), nhưng bạn hình dung được “đứa con" của mình ra sao, và thở phào yên tâm rằng khoản thanh toán ban đầu của mình đã trao cho đúng đối tác. Hãy tránh việc kết thúc ba tháng lập trình, bạn mới thử nghiệm phiên bản app đầu tiên, và nhận ra rằng mọi thứ đã đi quá xa.

Chúc startup của bạn khởi sự thành công!

Nếu cần tư vấn thêm về outsourcing nền tảng công nghệ cho startup của bạn, bạn có thể liên hệ Tech Apollo qua email [email protected] hoặc gửi yêu cầu tại đây.

Tech Apollo là công ty chuyên tư vấn giải pháp công nghệ và gia công phần mềm chất lượng cao cho startup với 20 năm kinh nghiệm. Là nhà sáng lập của các startup công nghệ trong nhiều lĩnh vực, đội ngũ quản trị có nhiều kinh nghiệm xây dựng và vận hành startup, chúng tôi thực sự hiểu được những khó khăn của bạn.

By TechApollo