Bỏ qua điều hướng
Vận hành hệ thống

Quy trình bảo trì phần mềm: tiếp nhận, phân loại, phát hành

Quy trình chỉ đáng tin khi mỗi bước có đầu vào, đầu ra và người quyết định. Bài viết mô tả sáu bước, bảng phân loại bốn mức và cách tính đồng hồ phản hồi từ một mốc xác định.

Quy trình bảo trì phần mềm: tiếp nhận, phân loại, phát hành
Mục lục bài viết

Trả lời nhanh

Quy trình bảo trì phần mềm gồm sáu bước từ một cửa tiếp nhận đến đóng yêu cầu. Kèm bảng phân loại nghiêm trọng, mốc tính thời gian phản hồi và cửa sổ phát hành.

Quy trình bảo trì phần mềm là chuỗi sáu bước: tiếp nhận qua một cửa duy nhất, phân loại theo mức nghiêm trọng, xác nhận và gán người, sửa kèm kiểm chứng, phát hành trong cửa sổ đã định, rồi đóng và ghi nguyên nhân. Mỗi bước cần đầu vào, đầu ra và một người quyết định.

Tóm tắt nhanh

  • Quy trình bắt đầu bằng một cửa tiếp nhận duy nhất. Nhiều cửa thì không có cửa nào đáng tin, và không ai biết còn bao nhiêu việc chưa xử lý.
  • Phân loại theo mức thiệt hại, không theo mức khó. Một lỗi khó sửa nhưng hiếm khi xảy ra không phải là việc khẩn cấp.
  • Đồng hồ phản hồi chỉ có nghĩa khi ghi rõ nó bắt đầu từ đâu: từ lúc yêu cầu được ghi nhận đủ thông tin, không phải từ lúc ai đó nhận ra vấn đề.
  • Mọi bản phát hành bảo trì cần ba thứ: cửa sổ thời gian, kế hoạch quay lui và người chịu trách nhiệm theo dõi sau phát hành.
  • Bước cuối là bước hay bị bỏ nhất: đóng yêu cầu kèm nguyên nhân gốc và một thay đổi phòng ngừa. Không có bước này, cùng một lỗi sẽ quay lại.

Sáu bước và lý do phải đủ sáu

Một quy trình thiếu bước thường không hỏng ngay. Nó hỏng dần theo ba cách quen thuộc: yêu cầu bị thất lạc giữa các kênh, việc khẩn cấp luôn thắng việc quan trọng, và cùng một lỗi quay lại sau vài tháng vì không ai ghi nguyên nhân.

Sáu bước dưới đây không phải là một mô hình lý thuyết. Đây là mức tối thiểu để một nhóm từ hai người trở lên phối hợp được mà không phải hỏi nhau mỗi ngày "việc này tới đâu rồi".

Bước 1 — Tiếp nhận qua một cửa duy nhất

Một cửa tiếp nhận có thể là hộp thư, một biểu mẫu, hoặc một bảng công việc. Điều quan trọng không phải công cụ, mà là quy tắc: mọi yêu cầu phải đi vào cửa đó, kể cả yêu cầu được nói miệng trong hành lang.

Một yêu cầu được coi là "ghi nhận đủ" khi có bốn thông tin:

Thông tin Vì sao cần Cách lấy nhanh
Người gặp vấn đề Để hỏi lại và để thông báo khi xong Ghi tên và kênh liên hệ
Hành vi mong đợi và hành vi thực tế Phân biệt lỗi với hiểu nhầm Hỏi "bạn mong thấy gì, và bạn thấy gì"
Thời điểm xảy ra và tần suất Phân loại mức nghiêm trọng Hỏi "lần đầu khi nào, có lặp lại không"
Ảnh chụp hoặc mã bản ghi Rút ngắn thời gian tìm nguyên nhân Yêu cầu ảnh màn hình nếu có

Thiếu thông tin thứ ba, mọi yêu cầu trông giống nhau và việc phân loại trở thành đoán. Thiếu thông tin thứ tư, thời gian điều tra tăng gấp nhiều lần — đây là khoản chi phí lớn nhất trong toàn bộ quy trình.

Bước 2 — Phân loại theo mức thiệt hại

Phân loại là bước quyết định toàn bộ phần còn lại. Nguyên tắc: phân loại theo thiệt hại nếu chờ, không theo độ khó sửa, không theo người báo là ai.

Mức Định nghĩa Hành động đầu tiên Ai quyết định mức
P1 — Nghiêm trọng Mất hoặc sai dữ liệu; toàn bộ hệ thống không dùng được; rò rỉ dữ liệu Dừng việc khác, thông báo người chịu trách nhiệm, tìm cách giảm thiệt hại trước khi sửa gốc Người trực vận hành, xác nhận lại trong 30 phút
P2 — Cao Một chức năng chính hỏng, chưa có cách thay thế; hoặc lỗi ảnh hưởng nhiều người dùng Xác nhận phạm vi ảnh hưởng, tìm cách làm việc tạm Quản lý kỹ thuật
P3 — Trung bình Một chức năng phụ hỏng, có cách thay thế; hoặc lỗi ảnh hưởng một nhóm nhỏ Đưa vào chu kỳ phát hành gần nhất Quản lý kỹ thuật
P4 — Thấp Sai hiển thị, sai nhãn, yêu cầu cải tiến nhỏ Gom vào lần dọn dẹp định kỳ Người phụ trách sản phẩm

Ba lỗi phân loại hay gặp:

Phân loại theo người báo. Yêu cầu từ người quản lý cao nhất luôn được đẩy lên P1, kể cả khi đó là lỗi sai dấu phẩy. Cách chặn: mức nghiêm trọng do người trực xác định theo bảng, và người báo có thể khiếu nại nhưng không tự đổi mức.

Phân loại theo độ khó. Một lỗi khó sửa bị đẩy lên P1 vì "nó khó", trong khi thiệt hại thực tế thấp. Cách chặn: ghi riêng hai trường — mức nghiêm trọng và độ phức tạp. Chúng độc lập với nhau.

Không hạ mức khi tình hình thay đổi. Một lỗi P1 được tìm ra cách làm việc tạm trong 20 phút thì nên hạ xuống P2. Nếu không hạ, hàng đợi P1 sẽ đầy và mất tác dụng cảnh báo.

Bước 3 — Xác nhận và gán người

Sau khi phân loại, yêu cầu cần một người chịu trách nhiệm và một mốc thời gian. Hai việc này phải xảy ra trong cùng một bước, vì một yêu cầu đã phân loại nhưng chưa có người nhận là một yêu cầu đang trôi.

Điểm cần định nghĩa chính xác: đồng hồ phản hồi bắt đầu từ lúc nào. Có bốn cách hiểu thường gặp, và chúng cho ra những cam kết rất khác nhau:

  • Từ lúc người dùng gặp vấn đề. Cách này không đo được vì không ai biết chính xác.
  • Từ lúc người dùng báo cho bất kỳ ai. Cách này phụ thuộc vào việc người nhận có ghi lại hay không.
  • Từ lúc yêu cầu được ghi vào cửa tiếp nhận. Đây là cách dùng được, vì có dấu thời gian tự động.
  • Từ lúc hai bên xác nhận đó là lỗi. Cách này dễ chịu cho nhà cung cấp nhưng làm mất ý nghĩa của cam kết.

Cách thứ ba là cách nên dùng, kèm một điều kiện: nếu yêu cầu thiếu thông tin bắt buộc, đồng hồ tạm dừng và bên nhận phải nêu rõ còn thiếu gì trong một khoảng thời gian xác định. Không có điều kiện này, bên nhận có thể để yêu cầu mơ hồ nằm im và tuyên bố đồng hồ chưa chạy.

Bước 4 — Sửa và kiểm chứng

Bước sửa có một yêu cầu tối thiểu: mỗi bản sửa phải có một phép kiểm tra chứng minh nó đúng. Phép kiểm tra có thể là một bài kiểm thử tự động, một kịch bản thử tay có ghi lại kết quả, hoặc một truy vấn đối chiếu dữ liệu trước và sau.

Với lỗi P1 và P2, nên tách hai lần phát hành: lần đầu giảm thiệt hại, lần sau sửa nguyên nhân gốc. Ví dụ, một lỗi làm treo luồng thanh toán có thể được chặn tạm bằng cách tắt một phương thức thanh toán, rồi sửa gốc trong vài ngày. Gộp hai việc vào một lần sẽ kéo dài thời gian người dùng chịu ảnh hưởng.

Một nguyên tắc nữa: không sửa hai thứ không liên quan trong cùng một bản phát hành bảo trì. Nếu bản phát hành gây ra hồi quy, việc tách nhỏ giúp xác định thay đổi nào có lỗi mà không phải đọc toàn bộ.

Bước 5 — Phát hành trong cửa sổ đã định

Phát hành là bước có rủi ro cao nhất, vì nó là lúc một thay đổi đúng về mặt mã có thể gây hại trong môi trường thật. Ba thứ phải có trước mỗi lần phát hành:

Cửa sổ thời gian. Một khung giờ mà đội có người theo dõi và có thời gian xử lý nếu hỏng. Không phát hành vào cuối ngày làm việc hoặc trước kỳ cao điểm, trừ khi đó là bản sửa P1.

Kế hoạch quay lui. Không phải "nếu hỏng thì sửa", mà là một hành động cụ thể: hoàn nguyên phiên bản trước, tắt một cờ tính năng, hoặc khôi phục một bảng dữ liệu. Kế hoạch này phải được thử ít nhất một lần trước khi cần thật.

Người theo dõi sau phát hành. Một người có tên, nhìn vào các chỉ số chính trong khoảng thời gian xác định. Nếu không có người này, sự cố chỉ được phát hiện khi người dùng báo.

Với thay đổi có rủi ro cao — thay đổi cấu trúc dữ liệu, thay đổi cách tính tiền, thay đổi quyền truy cập — nên áp dụng đóng băng thay đổi xung quanh kỳ cao điểm: một khoảng thời gian không phát hành gì ngoài bản sửa P1. Đóng băng không phải là hình thức, nó là cách giảm số biến thay đổi trong lúc hệ thống chịu tải cao nhất.

Bước 6 — Đóng yêu cầu và ghi nguyên nhân

Bước này mất 10 phút và tiết kiệm nhiều giờ về sau. Một yêu cầu chỉ nên đóng khi có bốn dòng:

  1. Nguyên nhân gốc — không phải "lỗi ở hàm tính tiền", mà là "hàm tính tiền không xử lý trường hợp giảm giá cộng dồn".
  2. Phạm vi ảnh hưởng thực tế — bao nhiêu bản ghi, bao nhiêu người dùng, khoảng thời gian nào.
  3. Cách phát hiện — người dùng báo, cảnh báo tự động, hay tình cờ phát hiện. Câu trả lời này cho biết có thiếu cảnh báo hay không.
  4. Thay đổi phòng ngừa — một bài kiểm thử mới, một ràng buộc dữ liệu mới, hoặc một mục trong danh mục kiểm tra.

Nếu câu trả lời cho mục 3 là "người dùng báo" trong khi lẽ ra phải có cảnh báo, thì việc cần làm không chỉ là sửa lỗi mà còn là thêm cảnh báo. Đây là điểm khác biệt giữa một quy trình chỉ sửa và một quy trình làm giảm số lỗi theo thời gian.

Một vòng đời yêu cầu, tính bằng phút

Ví dụ dưới đây minh hoạ cách sáu bước chạy trong thực tế với một lỗi P2. Đây là dòng thời gian giả định để minh hoạ, không phải cam kết thời gian phản hồi của bất kỳ bên nào.

Thời điểm Bước Việc đã làm Bằng chứng
09:12 Tiếp nhận Kế toán gửi biểu mẫu kèm ảnh chụp màn hình báo sai tổng tiền Mã yêu cầu trong cửa tiếp nhận
09:20 Phân loại Xác định P2: chức năng chốt đơn bị sai, chưa có cách thay thế Mức P2 và lý do ghi trong yêu cầu
09:25 Gán người Gán cho kỹ thuật phát triển, mốc phản hồi tính từ 09:12 Tên người nhận và mốc thời gian
10:40 Sửa Tìm ra nguyên nhân: giảm giá cộng dồn bị áp hai lần Bản sửa kèm bài kiểm thử tái hiện lỗi
11:00 Kiểm chứng Chạy lại ba đơn hàng thật đã bị ảnh hưởng trên môi trường thử Kết quả đối chiếu trước và sau
14:00 Phát hành Phát hành trong cửa sổ buổi chiều, có người theo dõi 2 giờ Bản ghi phát hành và chỉ số sau phát hành
16:30 Đóng Ghi nguyên nhân gốc, 3 đơn bị ảnh hưởng, thêm một bài kiểm thử Yêu cầu đóng kèm bốn dòng bắt buộc

Điểm đáng chú ý trong ví dụ này: từ 09:25 đến 10:40 là thời gian tìm nguyên nhân, dài hơn thời gian sửa. Đây là tỷ lệ điển hình. Vì vậy cải thiện khả năng quan sát — log có mã tương quan, thông báo lỗi có mã tra cứu — thường có tác động lớn hơn cải thiện tốc độ viết mã.

Bốn chỗ quy trình hay bị phá

Yêu cầu đi đường tắt. Ai đó nhắn trực tiếp cho lập trình viên và việc được sửa ngay, không qua cửa tiếp nhận. Lần sau, không ai biết việc đó đã xảy ra, và khi cùng lỗi quay lại thì không có dấu vết. Cách chặn: cho phép đường tắt cho P1, nhưng bắt buộc tạo yêu cầu trong cùng ngày.

Phân loại bị bỏ qua khi vội. Mọi việc thành P1, hàng đợi mất ý nghĩa, và đội chạy theo thứ tự ai nói to nhất. Cách chặn: bảng phân loại phải hiện ngay trong biểu mẫu tiếp nhận, kèm định nghĩa ngắn.

Phát hành ngoài cửa sổ vì "chỉ là thay đổi nhỏ". Phần lớn sự cố nghiêm trọng bắt đầu từ một thay đổi nhỏ phát hành ngoài kế hoạch. Cách chặn: cửa sổ phát hành áp dụng cho mọi thay đổi, trừ bản sửa P1 có người theo dõi.

Đóng yêu cầu không ghi nguyên nhân. Đây là cách chắc chắn nhất để trả tiền cho cùng một lỗi nhiều lần. Cách chặn: trường nguyên nhân gốc là trường bắt buộc để đóng yêu cầu.

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

Quy trình bảo trì khác quy trình xử lý sự cố ở điểm nào?

Quy trình xử lý sự cố tập trung vào việc khôi phục dịch vụ nhanh nhất, kể cả bằng cách tạm thời. Quy trình bảo trì bao gồm cả việc khôi phục, nhưng tiếp tục đến nguyên nhân gốc, thay đổi phòng ngừa và cập nhật danh mục công việc. Nói cách khác, xử lý sự cố là một phần của bảo trì, không phải một quy trình song song.

Có cần phân loại bốn mức không, hay ba mức là đủ?

Ba mức vẫn dùng được nếu tổ chức nhỏ và mọi người ngồi cùng một chỗ. Bốn mức có ích khi cần tách "khẩn cấp nhưng hiếm" khỏi "không khẩn cấp nhưng lặp lại nhiều lần". Điều quan trọng không phải số mức mà là mỗi mức có định nghĩa kiểm tra được và có người có quyền gán mức.

Thời gian phản hồi nên tính từ lúc nào?

Từ lúc yêu cầu được ghi vào cửa tiếp nhận kèm đủ bốn thông tin bắt buộc. Cách này có dấu thời gian tự động nên kiểm chứng được, và không phụ thuộc vào việc ai nhận ra vấn đề trước. Nếu thiếu thông tin, đồng hồ tạm dừng nhưng bên nhận phải nêu rõ còn thiếu gì trong một khoảng thời gian xác định.

Có nên phát hành bản sửa lỗi ngay khi sửa xong?

Chỉ với lỗi P1. Với P2 trở xuống, nên gom vào cửa sổ phát hành gần nhất để có người theo dõi và có thời gian xử lý nếu hỏng. Phát hành ngay khi sửa xong nghe có vẻ nhanh, nhưng nếu bản sửa gây hồi quy vào cuối ngày thì thời gian phục hồi sẽ dài hơn nhiều so với việc chờ vài giờ.

Cập nhật và kiểm chứng

Cập nhật tháng 10/2026. Nội dung được rà soát theo thông lệ quản lý thay đổi và vận hành dịch vụ đang áp dụng. Bài viết không nêu cam kết thời gian phản hồi hay mức sẵn sàng của bất kỳ nhà cung cấp nào, và các mốc thời gian trong ví dụ là giả định để minh hoạ cách tính.

Bốn loại bảo trì và chi phí ẩn nằm trong bảo trì phần mềm là gì. Danh mục công việc theo nhịp ngày, tuần, quý nằm trong bảo trì phần mềm bao gồm những hoạt động nào. Cách tự động hoá các cổng kiểm soát nằm trong phát triển vận hành bảo trì phần mềm. Nếu bạn đang đọc một hợp đồng có cụm từ bảo hành trọn đời, xem thêm bảo hành phần mềm trọn đời là gì. Và vì kiến trúc quyết định hệ thống dễ hay khó bảo trì, nên đọc kèm kiến trúc phần mềm là gì. Khi cần một đội tiếp nhận và vận hành hệ thống theo quy trình có bằng chứng, xem dịch vụ vận hành sau bàn giao của WinSell. Báo giá sau khi chốt phạm vi.

Chia sẻFacebookXLinkedIn

Đội ngũ WinSell

Bài viết được biên tập bởi đội ngũ WinSell tại Cần Thơ. Nội dung tập trung vào vận hành bán hàng, tự động hóa hội thoại và ứng dụng AI cho doanh nghiệp nhỏ tại Việt Nam.

Cần một hệ thống chạy được, không chỉ một bài viết?

WinSell xây phần mềm theo yêu cầu và làm SEO/GEO cho chính sản phẩm đó. Phạm vi và báo giá được chốt sau bước khám phá.