Phát triển phần mềm

Phần mềm đặt riêng hay mua sẵn: cách quyết định

Nghề của chúng tôi là viết phần mềm đặt riêng. Nhưng lời khuyên trung thực cho phần lớn doanh nghiệp là: hãy mua sẵn trước đã. Phần mềm đặt riêng chỉ đáng tiền khi bạn rơi vào một số tình huống cụ thể.

Vì sao mua sẵn thường là lựa chọn đúng

Một phần mềm kế toán thương mại đã được hàng nghìn doanh nghiệp dùng qua, đã sửa hàng nghìn lỗi mà bạn sẽ không bao giờ gặp phải, và chi phí phát triển của nó được chia cho hàng nghìn khách hàng. Bạn trả vài triệu một năm cho thứ mà nếu tự làm sẽ tốn hàng trăm triệu.

Quan trọng hơn tiền: phần mềm mua sẵn dùng được ngay tuần sau. Phần mềm đặt riêng cần ba đến chín tháng trước khi có người dùng thật đầu tiên. Trong ba đến chín tháng đó, doanh nghiệp bạn vẫn phải vận hành bằng cách nào đó.

Bốn dấu hiệu bạn thực sự cần đặt riêng

1. Quy trình của bạn là lợi thế cạnh tranh

Nếu cách bạn xử lý đơn hàng nhanh hơn đối thủ 30%, và phần mềm mua sẵn buộc bạn làm theo cách của nó, thì bạn vừa trả tiền để tự đánh mất lợi thế. Đây là lý do chính đáng nhất để đặt riêng.

Ngược lại, nếu quy trình của bạn khác biệt chỉ vì lịch sử để lại chứ không mang lại lợi ích gì, thì việc phần mềm mua sẵn ép bạn chuẩn hoá lại là điều tốt, không phải điều xấu.

2. Đã dùng mua sẵn và chạm trần

Dấu hiệu rõ nhất: nhân viên đang dùng phần mềm chính thức nhưng vẫn duy trì một file Excel bên cạnh để làm phần mà phần mềm không làm được. Khi cái file Excel đó trở thành nguồn dữ liệu thật còn phần mềm chỉ là nơi nhập lại cho có, đã đến lúc tính chuyện khác.

3. Chi phí giấy phép tăng theo quy mô đến mức vô lý

Nhiều phần mềm tính tiền theo số người dùng. Với 20 người thì hợp lý. Với 300 người, con số hàng năm có thể vượt chi phí tự xây một lần. Hãy tính điểm giao nhau này trước khi công ty lớn tới đó, không phải sau.

4. Cần tích hợp sâu giữa nhiều hệ thống không nói chuyện được với nhau

Khi bài toán thật không phải là "thiếu một phần mềm" mà là "năm phần mềm đang có không kết nối được", thì thứ cần xây thường là lớp kết nối chứ không phải phần mềm thứ sáu.

Khoản lỗ phổ biến nhất: xây lại thứ đã có

Rất nhiều dự án phần mềm đặt riêng thất bại không phải vì kỹ thuật kém, mà vì xây lại những thứ đã tồn tại và làm tốt hơn. Đăng nhập, phân quyền, gửi email, xuất báo cáo, thanh toán, lưu trữ file — đều đã có dịch vụ sẵn, ổn định, rẻ.

Nguyên tắc thực dụng: chỉ tự xây phần nào là đặc thù của doanh nghiệp bạn. Mọi thứ còn lại nên dùng thư viện hoặc dịch vụ có sẵn. Một dự án lành mạnh thường có 20 đến 30% mã nguồn là logic riêng, phần còn lại là ghép nối các mảnh đã có.

Ba câu hỏi cần trả lời trước khi ký hợp đồng

Ai sở hữu mã nguồn

Câu này phải hỏi thẳng và phải có trong hợp đồng. Nếu nhà cung cấp giữ mã nguồn, bạn bị khoá vào họ vĩnh viễn — họ báo giá bảo trì bao nhiêu bạn cũng phải trả, vì không ai khác sửa được. TRIUNITECH bàn giao 100% mã nguồn, và chúng tôi khuyên bạn đòi hỏi điều này với bất kỳ nhà cung cấp nào.

Ai vận hành sau khi bàn giao

Phần mềm không phải toà nhà xây xong là xong. Nó cần vá lỗi bảo mật, cập nhật khi hệ điều hành đổi, sửa lỗi phát sinh. Chi phí vận hành 3 năm thường bằng 40 đến 60% chi phí xây ban đầu. Nếu bản chào giá không nhắc gì đến khoản này, đó là bản chào giá chưa đầy đủ.

Chuyện gì xảy ra nếu chúng ta ngừng hợp tác

Dữ liệu có xuất ra được không, ở định dạng nào. Tài liệu kỹ thuật có đủ để đội khác tiếp quản không. Hỏi trước lúc quan hệ còn tốt đẹp, đừng đợi lúc đã xấu.

Cách tiết kiệm nhất mà ít người làm

Trước khi xây, hãy làm bản thử nghiệm bằng công cụ không cần lập trình trong hai tuần. Google Sheets, Airtable, hoặc một công cụ tương tự. Nếu bản thử nghiệm đó giải quyết được 80% vấn đề, có thể bạn không cần dự án phần mềm. Nếu nó phơi bày ra những chỗ khó thật sự, bạn vừa tiết kiệm được vài tháng đi sai hướng.

Nếu quyết định đặt riêng thì chia nhỏ ra

Đừng ký một hợp đồng chín tháng cho toàn bộ hệ thống. Chia thành các đợt sáu đến tám tuần, mỗi đợt kết thúc bằng một thứ dùng được thật. Cách này cho bạn ba lợi ích: nhìn thấy tiến độ thật thay vì báo cáo phần trăm, đổi hướng được khi phát hiện hiểu sai yêu cầu, và dừng lại được nếu nhà cung cấp không đáp ứng, mà chỉ mất một đợt chứ không mất cả dự án.

TRIUNITECH
Đội ngũ kỹ thuật TRIUNITECH

Bài viết được biên soạn từ kinh nghiệm triển khai hạ tầng và phần mềm của đội ngũ. Không nhận tài trợ, không quảng cáo sản phẩm.

← Tất cả bài viết Liên hệ tư vấn →

Bạn đang gặp bài toán tương tự?

Gửi email hoặc gọi cho chúng tôi. Phản hồi trong vòng 24 giờ làm việc.

Liên hệ tư vấn