Khách hàng là doanh nghiệ có 2 hình thức mua sắm phần mềm là hình thức mua trọn gói phần mềm – On-premise (phần mềm sẽ được cài đặt lên server của khách hàng, khách hàng tự triển khai và vận hành) và hình thức thuê Cloud (do nhà cung cấp chịu trách nhiệm thiết lập trên máy chủ của họ và hỗ trợ khách hàng triển khai, vận hành liên tục),
Đối với hình thức mua trọn gói – On-premise, sau 1 năm bảo hành đầu tiên, các năm tiếp theo khách hàng sẽ chi trả thêm 1 khoản phí Bảo trì phần mềm hàng năm từ 10-20% phí mua sắm ban đầu. Vậy Bảo trì phần mềm là gì?
Bảo trì phần mềm là gì?
Theo IEEE (Institute of Electrical and Electronics Engineers – Hội Kỹ sư Điện và Điện tử Hoa Kỳ) (1993), thì bảo trì phần mềm được định nghĩa là việc sửa đổi một phần mềm sau khi đã bàn giao để chỉnh lại các lỗi phát sinh, cải thiện hiệu năng của phần mềm hoặc các thuộc tính khác, hoặc làm cho phần mềm thích ứng trong một môi trường đã bị thay đổi.
Bảo trì phần mềm được chia thành 4 loại:
- Sửa lại cho đúng (corrective): là việc sửa các lỗi hoặc hỏng hóc phát sinh. Các lỗi này có thể do lỗi thiết kế, lỗi logic hoặc lỗi coding sản phẩm. Ngoài ra, các lỗi cũng có thể do quá trình xử lý dữ liệu, hoặc hoạt động của hệ thống.
- Thích ứng (adaptive): là việc chỉnh sửa phần mềm cho phù hợp với môi trường đã thay đổi của sản phẩm. Môi trường ở đây có nghĩa là tất các yếu tố bên ngoài sản phẩm như quy tắc kinh doanh, luật pháp, phương thức làm việc, môi trường ứng dụng (hệ điều hành, trình duyệt, source code)…
- Hoàn thiện (Perfective): chỉnh sửa để đáp ứng các yêu cầu mới hoặc thay đổi của người sử dụng. Loại này tập trung vào nâng cao chức năng của hệ thống, hoặc các hoạt động tăng cường hiệu năng của hệ thống, hoặc đơn giản là cải thiện giao diện. Nguyên nhân là với một phần mềm thành công, người sử dụng sẽ bắt đầu khám phá những yêu cầu mới, ngoài yêu cầu mà họ đã đề ra ban đầu, do đó, cần cải tiến các chức năng.
- Bảo vệ (preventive): mục đích là làm hệ thống dễ dàng bảo trì hơn trong những lần tiếp theo.
Việc bảo trì phần mềm định kỳ sẽ giúp cho hoạt động của doanh nghiệp ổn định hơn, do đó tiết kiệm được khá nhiều chi phí do quá trình gián đoạn/ lỗi/ bị tấn công từ bên ngoài của phần mềm gây nên.
Khi đã quyết tâm đầu tư cả nhân lực và tài lực để ứng dụng một hệ thống giải pháp ERP cho doanh nghiệp mình, thì để đảm bảo vận hành trơn tru và khai thác hiệu quả, doanh nghiệp không nên tiếc chi phí cho bảo trì và nâng cấp hệ thống.
Sau khi hoàn thành thời gian triển khai và bảo hành sản phẩm, doanh nghiệp cần cân nhắc đến phần hỗ trợ này. Có không ít doanh nghiệp thường hay nhầm lẫn trách nhiệm “hỗ trợ vĩnh viễn” của nhà cung cấp giải pháp bao gồm cả việc đảm bảo hệ thống vận hành trơn tru và cập nhật các tính năng, công nghệ mới. Trong khi thực tế, bảo trì và nâng cấp hệ thống là hai khoản mục cần tách bạch rõ với chi phí đầu tư triển khai ban đầu. Chi phí bảo trì dành cho việc sửa lỗi phát sinh của phần mềm, khắc phục các lỗi của hệ thống kể cả các lỗi phát sinh do nguyên nhân khách quan hay chủ quan. Còn nâng cấp sẽ gắn với các yêu cầu phát sinh của doanh nghiệp, thay đổi mô hình hoặc quy trình cũng sẽ dẫn đến các yếu tố cần thay đổi hệ thống hoặc nhu cầu nâng cấp phiên bản mới để theo kịp với xu thế công nghệ hay sự biến động của thị trường.
Bản chất của bảo trì phần mềm là gì?
Bảo trì phần mềm là việc điều chỉnh, sửa chữa các lỗi trong quá trình vận hành của phần mềm, mà trước đó giai đoạn triển khai phần mềm chưa phát hiện ra nhằm nâng cấp tính năng sử dụng và độ an toàn của phần mềm khi sử dụng.
Quy trình bảo trì phần mềm
Tùy thuộc vào đặc điểm dịch vụ mà mỗi nhà cung phấp phần mềm ERP sẽ có quy trình Bảo hành/ Bảo trì khác nhau. Tuy nhiên quá trình bảo trì cần phải đảm bảo được một số bước cơ bản như:
- Nêu ra, phân tích, đánh giá được lỗi cần bảo trì;
- Thực hiện chỉnh sửa;
- Xem xét bảo trì/Nghiệm thu kết quả.
Phân biệt Bảo trì phần mềm (Software Maintenance) và Bảo trì hệ thống (System Maintenance)
Bảo trì phần mềm (Software Maintenance) khác với bảo trì hệ thống (System Maintenance). Bảo trì hệ thống là các hoạt động diễn ra bên ngoài phần mềm. Thí dụ bảo trì hệ thống bao gồm các công việc:
- Kiểm tra kích thước database log, nếu quá lớn thì tiến hành cắt bỏ (shrink database).
- Kiểm tra dung lượng lưu trữ các tài nguyên số (các file ảnh, tài liệu upload lên server).
- Kiểm tra các lỗ hổng bảo mật trong phân quyền truy cập các folder trên server.
- Kiểm tra các vấn đề xung đột khác có thể gây ra.
Chi phí bảo trì phần mềm
Chi phí bảo trì bao gồm tất cả các khoản chi phí gắn với công việc sửa lỗi phát sinh cho hệ thống ERP trong khoảng thời gian sau khi thời hạn bảo hành kết thúc. Đối với doanh nghiệp mua giải pháp phần mềm ERP của nước ngoài, nhưng do một đơn vị thứ ba triển khai, phần chi phí bảo trì cũng tách làm hai: phần bảo trì cho sản phẩm (thường gắn vào giá bản quyền phần mềm và quy định trước) và phần bảo trì dịch vụ triển khai (bao gồm phần sản phẩm đã được thiết lập theo các quy trình dành cho doanh nghiệp). Tất nhiên, lỗi phát sinh thuộc “nhà” nào (nhà cung cấp sản phẩm hay nhà triển khai) thì nhà đó sẽ khắc phục.
Riêng đối với các đơn vị cung cấp phần mềm trong nước, họ vừa là nhà phát triển phần mềm, vừa là nhà triển khai, thì chi phí bảo trì sẽ chung vào một gói bảo trì. Tùy chính sách của nhà cung cấp mà phí bảo trì sẽ tính theo gói thời gian một năm hoặc với các khoảng thời gian khác nhau (không giới hạn số lần hỗ trợ) hoặc tính theo vụ việc sự cố phát sinh (chi trả phí riêng cho từng vụ việc).
Dự án bảo trì có thuộc danh mục phải tham gia đấu thầu?
Đối với các cơ quan Nhà nước, hoặc đơn vị có sử dụng nguồn vốn Nhà nước, các dự án bảo trì phần mềm vẫn phải lập hồ sơ mời thầu.
Thí dụ: Giói thầu bảo trì phần mềm tại một tỉnh thành
Trong giai đoạn chuyển đổi số hiện nay, nhu cầu sử dụng phần mềm tại các cơ quan Nhà nước ở các tỉnh/thành là rất lớn. Chủ đầu tư sẽ lên kế hoạch dài hạn, bao gồm các kế hoạch bảo trì và nâng cấp sau go-live. Hàng năm, hệ thống phần mềm được thực hiện bảo trì hoặc nâng cấp với nguồn vốn riêng, tách rời các dự án phần mềm.
Chi phí bảo trì hàng năm AMC (Annual Maintenance Contract)
Chi phí bảo trì các phần mềm kể từ sau khi hết thời hạn bảo hành là: 20% giá trị hợp đồng/năm hoặc tùy theo từng phần mềm cụ thể có thể có bảng giá riêng.
Không giống như bảo hành, thời hạn bảo trì là Không hạn chế, dựa trên phí bảo trì mà chủ đầu tư đóng hàng năm.
Khi thực hiện dịch vụ bảo trì thường xuyên, thông thường doanh nghiệp sẽ được ưu đãi:
Giảm giá dịch vụ khi có nhu cầu bổ sung module cho Cổng thông tin,
Được hỗ trợ và tư vấn miễn phí khi có nhu cầu mở rộng hệ thống,
Được ưu tiên tham dự miễn phí các khóa huấn luyện hàng năm (nếu có),
Được giảm phí dịch vụ đào tạo và huấn luyện sử dụng các phiên bản mới của hệ thống cổng thông tin.
Thí dụ: Khách hàng của TIGO Solutions mua các phân hệ của Odoo (Nhân sự, CRM, eCommerce, POS, Kế toán, Hóa đơn...), sau 1 năm triển khai có thể được giảm giá dịch vụ bảo trì xuống rất thấp (gần như miễn phí) nếu khách hàng có nhu cầu triển khai thêm các module khác, với điều kiện gói triển khai và gói bảo trì được thực hiện bởi cùng một nhà cung cấp (ở đây là TIGO Solutions). Việc thực hiện "combo" này có lợi cho cả 2 bên, tạo ra lợi ích cộng hưởng. Nhà cung cấp chỉ tập trung vào các khách hàng thường xuyên với một dòng chảy công việc liên tục, xen kẽ giữa cài đặt, tùy chỉnh (customize), bảo trì và thậm chí cả nâng cấp nhỏ. Chi phí đầu vào nhờ đó giảm, dẫn đến chi phí bảo trì cũng giảm.
Chi phí nâng cấp phần mềm
Tương tự như bảo trì, việc nâng cấp tách làm hai phần: Phần nâng cấp phần mềm (thêm chức năng, mở rộng quy mô, nâng cấp phiên bản…) và phần phát sinh trong triển khai hay còn gọi là CR - Change Request (thay đổi về chức năng, quy trình sử dụng, thêm yêu cầu mới…). Như vậy, khi doanh nghiệp đưa yêu cầu mới thì cần phân biệt nó thuộc đối tượng nào xử lý.
Thông thường đối với trường hợp nâng cấp phiên bản mới, chi phí doanh nghiệp bỏ ra sẽ gần như tương đương với chi phí mua mới phần mềm, tùy vào chính sách của nhà cung cấp. Trên thực tế việc nâng cấp phiên bản thường hay được các doanh nghiệp “hiểu nhầm” là trách nhiệm bảo hành, bảo trì của bên cung cấp. Tuy nhiên doanh nghiệp cần phân định rõ, việc nâng cấp phần mềm cũng giống như chúng ta đã có một cái áo của một nhãn hiệu tương đối danh tiếng, dù vẫn mặc được nhưng đến giờ bạn muốn mua một cái khác cho hợp với bộ sưu tập mới ra, thì dĩ nhiên sẽ chẳng có hãng thời trang nào có trách nhiệm “nâng cấp” áo mới cho bạn để chạy theo xu hướng cả.
Một số lưu ý
Điều đầu tiên doanh nghiệp cần lưu ý là phần sửa lỗi không bao gồm lỗi phát sinh do người nhập liệu gây ra. Việc xác định nguyên nhân lỗi sinh ra trong quá trình vận hành sẽ do đơn vị bảo hành thực hiện. Nếu lỗi do các nguyên nhân khách quan như hệ điều hành, cơ sở dữ liệu, virus, thiết bị phần cứng… thông thường, đơn vị bảo hành sẽ không chịu trách nhiệm. Tuy nhiên, tùy theo chính sách của nhà cung cấp, những đơn vị uy tín vẫn sẵn sàng hỗ trợ bảo hành khắc phục cả những lỗi này.
Một hình thức mua bán hàng hóa dịch vụ với dòng thông tin được ghi là "AS-IS", có nghĩa là hàng có sao dùng vậy. Thí dụ mua một máy tính cũ, bạn không thể biết được chính xác máy đó đã từng hỏng hóc bao nhiêu lần trong quá khứ, và mắc những "bệnh" gì. Bạn chỉ có thể biết rằng tại thời điểm hiện tại máy chạy tốt hoặc sau khi đã dùng thử trong thời gian áp dụng chính sách đổi trả hàng lỗi (thường chỉ 1 tuần). Sau thời điểm này, người bán không còn chịu trách nhiệm về bảo hành. Tương tự với phần mềm, phần mềm bàn giao chỉ đáp ứng với trạng thái hiện tại (AS-IS) chứ không phải trạng thái mong muốn trong tương lai (TO-BE).
Có 2 hình thức hỗ trợ: Tại chỗ (Onsite) và Từ xa (Remote). Phần lớn nhà cung cấp đều cung cấp dịch vụ hỗ trợ từ xa qua điện thoại hoặc các phương thức kết nối qua Internet… Trên thế giới, hình thức hỗ trợ từ xa cũng khá phổ biến và chỉ trong trường hợp không thể khắc phục lỗi được từ xa, đơn vị hỗ trợ mới bắt buộc phải hỗ trợ tại chỗ. Khi đó, cũng tùy vào chính sách từ nhà cung cấp mà doanh nghiệp có thể phải chịu chi phí cho các khoản phát sinh đi kèm như chi phí ăn, ở, đi lại trong trường hợp khoảng cách địa lý xa nhất định.
Quy định về kinh phí bảo trì phần mềm
Thông lệ các nhà cung cấp thương mại khác: 10-20%
Ví dụ:
FPT Software: 20% chi phí bản quyền phần mềm
SAP: 17-22% chi phí bản quyền phần mềm
Oracle: 15% phí là của bản quyền phần mềm, bao gồm cả cơ sở dữ liệu
Quy định của Nhà nước về bảo trì phần mềm: đang dự thảo, ở mức trung bình 5-27% chi phí bản quyền phần mềm.
Kết luận
Bảo trì tiêu thụ một phần lớn các nguồn lực tài chính trong vòng đời phần mềm. Một nhận thức chung về bảo trì thường thấy: bảo trì đơn thuần là sửa lỗi. Tuy nhiên, các nghiên cứu và khảo sát trong những năm qua đã chỉ ra rằng phần lới, trên 80%, bảo trì phần mềm được sử dụng cho các hành động khắc phục các sự cố ngoài ý muốn.
Vòng đời của một hệ thống phần mềm không tính bằng giai đoạn hình thành (kết quả là go-live), mà tính bằng quãng thời gian phần mềm từ lúc sinh ra cho đến khi vận hành và cuối cùng bị thay thế (bởi phần mềm khác tốt hơn, với công nghệ mới hơn). Nếu tính theo quãng thời gian này thì chi phí bảo trì là nguồn kinh phí dài hơn, vượt xa chi phí hình thành (xây dựng) phần mềm.
Hiểu biết về các loại bảo trì phần mềm giúp hiểu được cơ cấu của chi phí bảo trì. Ngoài ra, có kiến thức về các yếu tổ ảnh hưởng tới bảo trì phần mềm sẽ giúp quản lý được chi phí. Một số yếu tố môi trường và mối quan hệ ảnh hưởng tới chi phí bảo trì phần mềm:
- Môi trường hoạt động liên quan đến phần cứng và phần mềm.
- Môi trường tổ chức liên quan đến chính sách, tính cạnh tranh, quy trình, sản phẩm và nhân viên.
- Môi trường số liệu quá khứ (thí dụ: Truy xuất nguồn gốc của thay đổi thông tin - Data Change Tracking) quyết định loại hình bảo trì (xem thêm Tìm hiểu về 9 loại hình Bảo Trì thông dụng).
Với những kiến thức cơ bản về bảo trì phần mềm ở trên, các doanh nghiệp đã có thể hiểu biết sâu hơn về tầm quan trọng của bảo trì phần mềm. Việc bảo trì định kỳ, chủ động và phòng ngừa từ xa sẽ giúp cho hoạt động của doanh nghiệp ổn định hơn, do đó tiết kiệm được khá nhiều chi phí do quá trình gián đoạn/ lỗi của phần mềm gây nên.