Chào các anh/chị và các bạn,
Nhóm em hiện đang phân tích và thiết kế luồng dữ liệu cho quy trình quản lý dự án xây dựng. Trong đó, nhóm đang xử lý mối liên kết giữa ba app chính: App 8 - Cơ hội đấu thầu → App 41 - Dự toán sơ bộ, App 42 - Phương án dự toán, App 7 - Dự toán và quay về App 8 - Cơ hội đấu thầu.
Trong quá trình đưa bản đặc tả kỹ thuật vào thiết lập thực tế, nhóm nhận thấy có một vấn đề liên quan đến cách dữ liệu được tự động chuyển tiếp giữa các app. Vì vậy, nhóm muốn chia sẻ tình huống hiện tại và mong nhận được góp ý từ các anh/chị có kinh nghiệm.
Vấn đề nhóm đang gặp phải:
Theo thiết kế ban đầu của nhóm, khi một bản ghi tại App 42 - Phương án dự toán được chuyển sang trạng thái “Đã duyệt”, hệ thống sẽ tự động tạo một bản ghi mới tại App 7 - Dự toán.
Tuy nhiên, sau khi bản ghi tại App 7 được tạo ra, dữ liệu lại tiếp tục được tham chiếu sang App 8 - Cơ hội đấu thầu. Điều này khiến luồng dữ liệu bị chạy liên tục từ App 42 sang App 7 rồi sang App 8 mà chưa có bước kiểm tra hoặc xác nhận lại từ người dùng tại App 7.
Một phần App 7 - Dự toán hiện không có quy trình riêng. Vì vậy, app này không có các trạng thái như “Chờ duyệt”, “Đã duyệt” hay “Từ chối” để làm điều kiện kiểm soát. Khi không có bước dừng, hệ thống sẽ tự động đẩy dữ liệu đi tiếp, dẫn đến rủi ro dữ liệu chưa được rà soát kỹ nhưng đã được liên kết sang bước sau.
Hai hướng xử lý nhóm đang cân nhắc:
- Hướng 1: Giữ nguyên theo đặc tả kỹ thuật ban đầu
Với hướng này, nhóm vẫn giữ cơ chế tự động tạo bản ghi từ App 42 sang App 7 như thiết kế ban đầu.
- Hướng 2: Điều chỉnh lại luồng dữ liệu, chuyển từ tự động đẩy sang người dùng chủ động chọn
Với hướng này, nhóm sẽ bỏ cơ chế tự động tạo bản ghi từ App 42 sang App 7. Thay vào đó, người dùng sẽ tự tạo bản ghi tại App 7 - Dự toán, sau đó chọn đúng Phương án dự toán đã được duyệt từ App 42 thông qua trường tham chiếu hoặc lookup. Nói cách khác, thay vì hệ thống tự động đẩy dữ liệu đi tiếp, người dùng sẽ chủ động kéo dữ liệu cần thiết vào App 7 sau khi đã kiểm tra.
Ưu điểm của hướng này là người dùng có thêm bước rà soát trước khi dữ liệu được đưa vào bản Dự toán giúp hạn chế rủi ro dữ liệu bị liên kết sai hoặc đi quá nhanh.
Quan điểm hiện tại của nhóm:
Hiện tại, nhóm đang nghiêng về Hướng 2.
Lý do là App 7 - Dự toán có liên quan đến dữ liệu quan trọng, đặc biệt là thông tin về chi phí và tài chính. Nếu app này không có quy trình duyệt riêng mà vẫn để hệ thống tự động tạo và chuyển tiếp dữ liệu, rủi ro sai sót sẽ khá cao.
Việc dùng Data Connection hoặc Lookup có thể làm tăng thêm một thao tác thủ công cho người dùng. Tuy nhiên, thao tác này lại giúp người dùng có trách nhiệm kiểm tra dữ liệu trước khi liên kết bản Dự toán với Cơ hội đấu thầu, đây là cách an toàn hơn trong trường hợp dữ liệu cần được kiểm soát chặt chẽ.
Các vấn đề nhóm mong muốn được thảo luận:
Mong muốn được mọi người góp ý về các cách làm ở trên. Ngoài ra, trong các phân hệ nhạy cảm như Dự toán hoặc các dữ liệu liên quan đến tài chính nên cân bằng như thế nào giữa việc tự động hóa để giảm thao tác cho người dùng và việc giữ lại các bước kiểm soát để hạn chế rủi ro dữ liệu?
Nhóm rất mong nhận được góp ý từ các anh/chị và các bạn để có thể lựa chọn hướng thiết kế phù hợp hơn.