Cách thiết kế lịch sử thay đổi cho sản phẩm nội bộ

Lịch sử thay đổi cần cho biết đối tượng, giá trị trước và sau, tác nhân, thời điểm và nguồn phát sinh. Đội sản phẩm cũng phải chốt quyền xem cùng thời hạn lưu trước khi phát triển.

29/10/2026 10 phút đọc
Chuỗi bản ghi kính tím thể hiện các lần thay đổi và tác nhân theo thời gian.
Trên trang này ↓

Một đơn hàng đang ở trạng thái chờ duyệt bỗng chuyển sang đã xác nhận. Nhân viên hỗ trợ thấy kết quả hiện tại, nhưng không biết ai đã đổi, trường nào đã đổi và dữ liệu trước đó là gì. Nếu hệ thống chỉ lưu trạng thái cuối, đội vận hành phải hỏi qua tin nhắn hoặc dò nhiều nguồn để hiểu chuyện đã xảy ra.

Lịch sử thay đổi giải quyết khoảng trống đó. Tuy nhiên, ghi lại mọi lần bấm chuột sẽ tạo nhiều dữ liệu khó dùng. Đội sản phẩm cần chọn đúng sự kiện, cấu trúc bản ghi đủ để điều tra và đặt quyền xem phù hợp với dữ liệu nghiệp vụ.

Lịch sử thay đổi phục vụ công việc nào?

Đừng bắt đầu bằng câu hỏi nên dùng bảng dữ liệu hay công cụ ghi log nào. Hãy liệt kê các tình huống mà người dùng cần nhìn lại quá khứ để xử lý công việc. Từ đó, đội mới biết sự kiện nào đáng lưu và ai cần xem.

Hỗ trợ khách hàng

Nhân viên cần biết trạng thái đơn đã đổi từ gì sang gì, thời điểm đổi và thay đổi có đến từ người dùng hay tích hợp. Mục tiêu là giải thích đúng tình trạng hiện tại, không phải đọc toàn bộ dữ liệu kỹ thuật.

Duyệt nội bộ

Quản lý cần xem ai sửa mức chiết khấu, người duyệt nào đã xác nhận và bản ghi có bị thay đổi sau khi duyệt hay không.

Xử lý lỗi tích hợp

Đội kỹ thuật cần nối thay đổi với nguồn gọi API, mã yêu cầu hoặc lần đồng bộ để phân biệt lỗi gửi trùng với thao tác hợp lệ.

Bàn giao vận hành

Người nhận việc cần thấy những thay đổi quan trọng kể từ lần xử lý trước, thay vì đọc lại toàn bộ hồ sơ từ đầu.

Ví dụ giả định: một báo giá đổi từ “nháp” sang “chờ duyệt”, sau đó mức chiết khấu được sửa. Hai sự kiện này nên tách riêng vì chúng trả lời hai câu hỏi khác nhau: quy trình đã chuyển bước khi nào, và điều khoản thương mại đã bị ai thay đổi.

Bốn khoang kính thể hiện trạng thái trước sau, phần thay đổi, người thực hiện và thời điểm.
Một bản ghi hữu ích nối trạng thái trước và sau với phần đã đổi, tác nhân và thời điểm.

Một bản ghi thay đổi cần lưu những gì?

Cấu trúc nên ổn định giữa các loại đối tượng. Khi đơn hàng, báo giá và hồ sơ khách hàng cùng dùng một cách mô tả tác nhân, thời điểm và nguồn thay đổi, đội có thể xây một trình xem chung mà không phải giải thích lại từng màn hình.

Thành phầnCần trả lờiGiới hạn cần đặt
Đối tượngBản ghi nào, thuộc loại dữ liệu nàoDùng định danh ổn định, không dựa vào tên có thể sửa
Hành độngTạo mới, cập nhật, chuyển trạng thái, gán người phụ trách hay xóaDanh mục hành động phải đủ ngắn để lọc và đọc
Trước và sauTrường nào đổi, giá trị cũ và mới là gìKhông chép cả đối tượng nếu chỉ một trường thay đổi
Tác nhânNgười dùng, tác vụ tự động hay hệ thống tích hợpGiữ định danh kể cả khi tài khoản ngừng hoạt động
Thời điểmThay đổi được ghi nhận khi nàoThống nhất múi giờ lưu trữ và cách hiển thị
NguồnThao tác trên giao diện, API, nhập tệp hay quy trình nàoChỉ lưu mã tham chiếu cần để truy vết, không lộ thông tin xác thực

Phần “trước và sau” cần phản ánh nghĩa nghiệp vụ. Nếu người dùng đổi người phụ trách, lịch sử nên hiển thị tên dễ nhận biết kèm định danh ổn định. Chỉ lưu một mã nội bộ sẽ gây khó đọc; chỉ lưu tên lại không đủ khi hai người trùng tên hoặc tài khoản được đổi tên.

Chọn sự kiện đáng ghi, không ghi mọi thao tác

Một lần mở hộp thoại rồi đóng lại không làm thay đổi dữ liệu. Một lần hệ thống thử gọi API nhưng chưa ghi kết quả cũng không nên xuất hiện như thay đổi nghiệp vụ đã hoàn tất. Lịch sử dành cho người dùng cần bám vào sự kiện đã có tác động rõ.

Những trường thay đổi thường xuyên do hệ thống tính lại cũng cần cân nhắc. Nếu mỗi lần cập nhật tạo một dòng nhưng không ai dùng để quyết định, dữ liệu đó nên nằm trong log kỹ thuật hoặc số liệu giám sát riêng, không chen vào lịch sử nghiệp vụ.

Quy trình thiết kế lịch sử thay đổi

  1. Bước 1: Liệt kê câu hỏi cần trả lời

    Thu thập tình huống từ support, sales, vận hành và kỹ thuật. Mỗi tình huống phải nêu đối tượng, thay đổi cần thấy và hành động tiếp theo.

  2. Bước 2: Chọn sự kiện và trường dữ liệu

    Đánh dấu thay đổi nào cần giá trị trước và sau, thay đổi nào chỉ cần ghi đã xảy ra, và trường nào phải che.

  3. Bước 3: Chuẩn hóa tác nhân và nguồn

    Phân biệt người dùng, tác vụ tự động và tích hợp. Gắn mã tham chiếu khi cần nối nhiều thay đổi thuộc cùng một yêu cầu.

  4. Bước 4: Thiết kế quyền và thời hạn lưu

    Xác định vai trò được xem từng loại lịch sử, dữ liệu được che và thời điểm bản ghi hết nhu cầu sử dụng.

  5. Bước 5: Kiểm thử bằng tình huống vận hành

    Tạo một chuỗi thay đổi có sửa thủ công, tác vụ tự động, lỗi một phần và tài khoản đã ngừng hoạt động. Kiểm tra xem người đọc có giải thích được kết quả hiện tại hay không.

Kho lưu trữ kính tím với cổng xem có kiểm soát và điểm kết thúc thời hạn lưu.
Lịch sử cần cổng xem theo quyền và ranh giới lưu trữ, thay vì được giữ vô thời hạn cho mọi vai trò.

Quyền xem và thời hạn lưu phải đi cùng dữ liệu gốc

Người không được xem mức chiết khấu hoặc thông tin cá nhân trong hồ sơ hiện tại cũng không nên đọc giá trị cũ trong lịch sử. Quyền xem lịch sử không thể rộng hơn quyền đối với dữ liệu mà bản ghi đang mô tả.

Đội có thể tách quyền “xem trạng thái đã đổi” khỏi quyền “xem giá trị trước và sau”. Cách này hữu ích khi support cần biết quy trình đã chuyển bước, còn chi tiết thương mại chỉ dành cho sales và quản lý. Xem thêm cách thiết kế vai trò và quyền truy cập cho sản phẩm nội bộ.

Thời hạn lưu cần dựa trên mục đích vận hành, yêu cầu hợp đồng và quy định áp dụng cho doanh nghiệp. Không có một thời hạn chung cho mọi sản phẩm. Khi xóa người dùng hoặc hồ sơ, đội cũng phải quyết định giữ định danh tác nhân ở mức nào để lịch sử còn hiểu được mà không giữ thêm dữ liệu cá nhân không cần thiết.

Checklist nghiệm thu lịch sử thay đổi

Dữ liệu và nguồn

  • Mỗi dòng xác định được đối tượng, hành động, tác nhân và thời điểm.
  • Giá trị trước và sau chỉ chứa các trường thật sự thay đổi.
  • Thay đổi từ API, nhập tệp và tác vụ tự động có nguồn nhận biết được.
  • Sự kiện thất bại không bị trình bày như thay đổi đã hoàn tất.

Quyền và cách đọc

  • Người dùng không xem được dữ liệu gốc cũng không đọc được giá trị cũ trong lịch sử.
  • Trường nhạy cảm được che hoặc loại khỏi bản ghi theo đặc tả.
  • Tên hiển thị đi cùng định danh ổn định khi cần phân biệt tác nhân.
  • Danh sách lọc được theo loại sự kiện, thời gian hoặc nguồn cần điều tra.
  • Thời hạn lưu và cách xử lý khi xóa tài khoản đã được kiểm thử.

Khi nào cần màn hình lịch sử riêng?

Với phiên bản đầu, một dòng thời gian ngay trong trang chi tiết có thể đủ nếu số sự kiện ít và người dùng chỉ cần hiểu một hồ sơ. Khi cần tra cứu trên nhiều đối tượng, lọc theo tác nhân, xuất dữ liệu hoặc điều tra chuỗi thay đổi liên quan, đội mới nên cân nhắc màn hình riêng.

Nếu trạng thái công việc chưa được định nghĩa rõ, hãy hoàn thiện quy tắc chuyển trạng thái trước. Lịch sử chỉ ghi lại điều hệ thống đã làm; nó không sửa được một quy trình có trạng thái mơ hồ.

Dịch vụ Product Development của Auranium có thể cùng đội xác định sự kiện, cấu trúc dữ liệu, quyền xem và bộ tình huống nghiệm thu trước khi phát triển chức năng lịch sử thay đổi.

Đọc tiếp

Bài viết liên quan

Xem tất cả bài viết ↗

Chốt đặc tả lịch sử thay đổi trước khi phát triển

Auranium có thể cùng đội xác định sự kiện, cấu trúc dữ liệu, quyền xem và bộ tình huống nghiệm thu cho sản phẩm nội bộ.

  • Danh mục sự kiện và trường dữ liệu cần lưu được thống nhất
  • Quy tắc che dữ liệu, quyền xem và thời hạn lưu được ghi rõ
  • Bộ tình huống kiểm thử bao quát thao tác người dùng, API và tác vụ tự động
Trao đổi với Auranium
Bắt đầu hành trình của bạn

Nói chuyện với chúng tôi

Chúng tôi sẽ lắng nghe, đặt đúng câu hỏi, và nói thật nếu chúng tôi không phải lựa chọn tốt nhất cho bạn.

Số điện thoại

(+84) 094 4686 093

Zalo

(+84) 094 4686 093

Thời gian làm việc

Mon-Sat (08:00 - 21:00)