Contact Now
Giải pháp

Phát triển phần mềm theo yêu cầu

Phần mềm đóng gói sẵn buộc doanh nghiệp sửa quy trình cho vừa phần mềm. Phần mềm viết riêng làm ngược lại. Câu hỏi không phải cái nào tốt hơn, mà là quy trình nào của bạn đủ đặc thù để đáng viết riêng.

Khi nào nên viết riêng thay vì mua sẵn

Phần lớn doanh nghiệp nên mua phần mềm đóng gói. Kế toán, chấm công, email — những bài toán này giống nhau ở mọi công ty, và một sản phẩm phục vụ mười nghìn khách hàng luôn hoàn thiện hơn thứ bạn tự xây cho riêng mình.

Viết riêng chỉ đáng khi quy trình đó là lợi thế cạnh tranh của bạn, hoặc khi nó đặc thù tới mức không sản phẩm nào trên thị trường mô tả đúng. Một đại lý vé máy bay cần tra giá đồng thời từ nhiều hãng rồi gộp kết quả theo logic riêng — đó là bài toán không mua được. Một nhà sản xuất cần theo dõi bảo hành qua mạng lưới thợ và đại lý bằng Zalo — cũng vậy.

Phép thử đơn giản: nếu bạn đang phải xuất dữ liệu ra Excel để làm nốt phần việc mà phần mềm hiện tại không làm được, và việc đó lặp lại hàng ngày, thì đó là dấu hiệu quy trình của bạn đã vượt ra ngoài thứ có sẵn.

Cách chúng tôi làm

Bắt đầu bằng business analysis — phân tích nghiệp vụ — chứ không bắt đầu bằng code. Giai đoạn này thường mất hai tới bốn tuần và tạo ra ba thứ: bản mô tả quy trình hiện tại, danh sách yêu cầu được xếp theo mức độ ưu tiên, và một bản phác kiến trúc hệ thống.

Phần lớn dự án phần mềm thất bại không phải vì code sai mà vì xây nhầm thứ. Chi phí sửa một hiểu lầm ở giai đoạn phân tích là vài buổi họp; sửa cùng hiểu lầm đó sau khi đã code xong là vài tháng.

Sau đó phát triển theo từng sprint — chu kỳ hai tuần — với một bản chạy được ở cuối mỗi chu kỳ. Bản chạy được không phải bản demo: nó deploy lên môi trường staging và người của bạn bấm thử được. Điều này giữ cho việc phát hiện sai lệch xảy ra sớm, khi sửa còn rẻ.

Công nghệ

Chọn stack theo bài toán chứ không theo thói quen. Nhưng cũng không chọn thứ chỉ có một người trong đội biết dùng — hệ thống sẽ sống lâu hơn dự án, và người bảo trì nó thường không phải người viết ra nó.

TầngCông nghệ thường dùng
Front-end webReact, Next.js, Vue, Angular
MobileFlutter, React Native
Back-endNode.js, Laravel, Django, Ruby, .NET
DatabasePostgreSQL, MongoDB, vector database cho bài toán AI
Hạ tầngAWS, Google Cloud, Azure, Docker, Kubernetes

Danh sách này rộng vì các dự án đã làm rất khác nhau: một nền tảng đặt vé B2B, một ứng dụng y tế, một website thương mại điện tử có cấu hình sản phẩm 3D, và một Zalo Mini App. Không có một stack nào đúng cho cả bốn.

Bàn giao những gì

Source code thuộc về bạn, đặt trong repository của bạn, kèm quyền truy cập đầy đủ. Đây là điều khoản được ghi rõ trong hợp đồng chứ không phải thoả thuận miệng.

Ngoài code còn có: tài liệu kiến trúc và tài liệu API, hướng dẫn cài đặt để dựng lại hệ thống từ đầu, script migration cho database, và cấu hình CI/CD. Mục đích của bộ tài liệu này là để một đội khác — kể cả đội nội bộ của bạn — tiếp quản được mà không cần hỏi lại chúng tôi.

Sau khi go-live có giai đoạn bảo hành, và nếu bạn muốn, hợp đồng bảo trì riêng. Nhưng bảo trì phải là lựa chọn, không phải sự phụ thuộc.

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

Một dự án phần mềm theo yêu cầu mất bao lâu?

Phụ thuộc phạm vi. Một ứng dụng nội bộ giải quyết một quy trình cụ thể thường mất ba tới sáu tháng từ phân tích tới go-live. Một nền tảng nhiều module như Nice Travel là công việc nhiều năm và được chia thành các giai đoạn có thể đưa vào dùng thật từng phần. Sau giai đoạn phân tích nghiệp vụ, chúng tôi đưa ra ước lượng có cơ sở thay vì đoán trước.

Source code có thuộc về khách hàng không?

Có. Toàn bộ source code, tài liệu và quyền sở hữu trí tuệ thuộc về khách hàng, được ghi trong hợp đồng. Code nằm trong repository của khách hàng ngay từ ngày đầu, không phải bàn giao ở cuối dự án.

Nice Solutions có nhận tiếp quản hệ thống do đội khác viết không?

Có. Việc đầu tiên trong trường hợp này là đọc code và dựng lại được hệ thống trên môi trường mới, rồi báo cáo tình trạng thực tế trước khi bàn tới việc phát triển tiếp. Tiếp quản mà không hiểu hệ thống đang có là cách nhanh nhất để làm hỏng thứ đang chạy được.

Bạn đang có một bài toán cụ thể?

Mô tả ngắn gọn tình huống của bạn. Chúng tôi phản hồi trong vòng 24 giờ làm việc, và nếu bài toán không thuộc phạm vi của mình, chúng tôi sẽ nói thẳng.

Liên hệ với chúng tôi

Điền thông tin bên dưới, chúng tôi sẽ liên hệ lại sớm nhất có thể