3 điểm bởi GN⁺ 2023-11-16 | 1 bình luận | Chia sẻ qua WhatsApp

Vì sao sử dụng VBA?

Bối cảnh sử dụng VBA

  • Gần đây tôi đã xem một video của YouTuber ThePrimeTime nói về những lời phàn nàn của lập trình viên đối với văn hóa kinh doanh.
  • Prime là một cựu doanh nhân, hiện làm phát triển phần mềm tại Netflix, và quan điểm của anh bị chỉ trích là thể hiện sự thất vọng với văn hóa kinh doanh kiểu FAANG.
  • Dù trong bài viết của lập trình viên đó có phần nào đúng sự thật, tôi cho rằng họ đã bỏ lỡ nguyên nhân gốc rễ của nhiều vấn đề.

Sự đa dạng trong việc sử dụng VBA

  • Tại bộ phận kỹ thuật của công ty nơi tôi đang làm việc, chúng tôi có thể tiếp cận nhiều công nghệ khác nhau (nền tảng tự động hóa).
  • Chúng tôi sử dụng nhiều công nghệ on-premise và cloud như PowerShell, Excel (VBA, OfficeJS, OfficeScripts, PowerQuery), PowerBI Desktop, SAP Analysis for Office, Power Platform, ArcGIS, MapInfo, InfoWorks ICM, v.v.
  • Ngoài ra còn có nhiều cơ sở dữ liệu do IT quản lý, bao gồm dữ liệu về vấn đề khách hàng, dữ liệu tài sản, dữ liệu đo từ xa, dữ liệu rủi ro, dữ liệu tài chính, v.v.

Đảm bảo khả năng bảo trì của VBA

  • Trong thập niên 2000, nhiều hệ thống được xây dựng dựa trên cơ sở dữ liệu IBM Lotus Notes.
  • Năm 2019, Lotus Notes được bán cho HCL, khiến tính bền vững của hỗ trợ dài hạn trở nên bấp bênh.
  • Đội ngũ kỹ thuật đã cố gắng chuyển hệ thống sang công nghệ mới, nhưng giải pháp IBM BPM vừa không được bảo trì tốt vừa không đủ chức năng.
  • Khi các SME (chuyên gia lĩnh vực) sử dụng VBA, họ có thể kiểm soát và bảo trì hệ thống theo nhu cầu của mình.

Khả năng kiểm soát của VBA

  • Trong các dự án xây dựng hệ thống IT mới, đội ngũ kỹ thuật hạn chế quyền truy cập vào mã nguồn và yêu cầu sử dụng Microsoft PowerApps cùng Azure Pipelines.
  • Dù quản lý/SME có nhiều kiến thức phát triển hơn, các yêu cầu từ đội ngũ kỹ thuật vẫn rất khó chấp nhận.
  • Các SME hiểu rất rõ cách cải tiến và duy trì hệ thống hiện có, cũng như sự tương tác giữa các hệ thống.

UX của VBA

  • Phần lớn kỹ sư sử dụng bảng tính trong công việc, và VBA được tích hợp ngay bên trong các bảng tính đó để cải thiện UX.

Kết luận

  • Có nhiều lý do khiến bảng tính (và VBA) vẫn được sử dụng trong nhiều tổ chức.
  • Những lý do đó bao gồm các lựa chọn thay thế do IT cung cấp chưa đầy đủ, khả năng kết nối kém với các hệ thống nguồn, chiến lược IT có thiếu sót, thiếu hợp tác với SME, và thiếu đào tạo cho các hệ thống thay thế.
  • Dù tôi nhận thức được những điểm yếu của VBA, phần lớn mọi người trong tổ chức vẫn đang cố gắng làm tốt nhất có thể với những công cụ sẵn có.

Ý kiến của GN⁺

  • Điểm quan trọng nhất trong bài này là VBA vẫn đang được sử dụng như một công nghệ thiết yếu trong nhiều tổ chức.
  • Sự linh hoạt, khả năng đảm bảo bảo trì và mức độ kiểm soát mà VBA mang lại đem đến những lợi thế mà các công nghệ khác khó có thể thay thế dễ dàng.
  • Bài viết này mang lại một góc nhìn thú vị về sự phức tạp của việc lựa chọn công nghệ và cách công nghệ được sử dụng trong tổ chức.

1 bình luận

 
GN⁺ 2023-11-16
Ý kiến trên Hacker News
  • Theo trải nghiệm của một kỹ sư phần mềm, anh ngạc nhiên khi nhiều lập trình viên chuyên nghiệp vẫn dùng Excel/VBA như một công cụ phụ trợ. Ví dụ, mô hình Excel do một nhà phân tích dữ liệu ở quỹ phòng hộ tạo ra có chứa mã VBA, được dùng để trích xuất dữ liệu từ cơ sở dữ liệu, đưa vào các sheet, thiết lập công thức và căn chỉnh định dạng. Nhà phân tích này khen ngợi Excel và VBA, đồng thời nói rằng nếu làm bằng Python thì sẽ phải giải thích liên tục.
  • Các công ty có sẵn môi trường phát triển bên trong Excel và có thể sử dụng mà không cần phê duyệt đặc biệt. Có thể dùng Excel và Sharepoint để xây dựng kho lưu trữ dữ liệu mạng và giao diện web.
  • Một lập trình viên cho biết đã phải phát triển giao diện CRUD bên trong Excel cho các nhà phân tích. Anh mô tả tình huống buộc phải dùng VBA do những hạn chế từ bộ phận IT.
  • Có ý kiến chỉ trích rằng bộ phận IT không mang tính phục vụ vì các quy trình phức tạp và những vấn đề nội tại của chính họ. Người này nêu ví dụ REST API của IBM BPM gần như vô dụng với đội ngũ kỹ thuật và SME để chỉ ra sự phức tạp của IT.
  • Có quan điểm cho rằng VBA là giải pháp để người dùng lách qua bộ phận IT; không hoàn hảo nhưng vẫn tốt hơn các cách khác.
  • Có chia sẻ rằng các nhà phân tích dữ liệu cảm thấy chán nản với công việc lặp đi lặp lại hằng ngày và bắt đầu dùng VBA khi phát hiện nút "ghi macro".
  • Một lập trình viên chia sẻ từng phải phát triển ứng dụng bằng VBA cho nhân sự được triển khai tại Afghanistan.
  • Có quan điểm cho rằng spreadsheet vẫn hiệu quả dù là một công nghệ cũ trong lập trình hàm phản ứng.
  • Có ý kiến nói rằng cho đến gần đây vẫn chưa có lựa chọn thay thế tốt cho VBA, và mô hình "add-in" mới là tương lai.
  • Phần mềm như Airtable có thể thay thế Excel VBA, nhưng trong môi trường doanh nghiệp, Excel đã được trả tiền và đang được sử dụng sẵn, nên rất khó để mua thêm phần mềm mới và biện minh cho việc đó.
  • Có người đã đến để thay thế giải pháp VBA do người dùng nghiệp vụ phía khách hàng tạo ra, nhưng lo ngại rằng giải pháp mới sẽ tốn kém hơn nhiều mà lại không cung cấp được số tính năng tương đương như giải pháp hiện có.