Xây dựng phần mềm quản lý doanh nghiệp – Trải nghiệm và cảm xúc
Bài viết này tôi muốn chia sẻ một số kinh nghiệm triển khai xây dựng hệ thống phần mềm quản lý doanh nghiệp của chính tôi – một người điều hành, cũng là người đã tự tay thiết lập những hệ thống quản lý sơ khai đầu tiên cho doanh nghiệp sau khi tái cơ cấu, cho đến lúc nhận thấy không thể tiếp tục vận hành mà không có một hệ thống phần mềm quản lý tích hợp. Những chia sẻ ở đây, có thể không phải là điển hình với mọi doanh nghiệp, cũng có thể chưa phải là cách làm tối ưu, nhưng đã được sử dụng và mang lại kết quả tích cực.
Là một công ty tư vấn với hơn chục năm kinh nghiệm tư vấn cho các khách hàng doanh nghiệp trong việc xây dựng hệ thống quản lý, chúng tôi hiểu được rằng việc xây dựng hệ thống phần mềm quản lý (MIS) giúp chuẩn hóa và tăng hiệu quả công tác quản lý là điều tất yếu. OCD đã xây dựng các chức năng quản lý tương đối rõ ràng nhưng chủ yếu sử dụng các công cụ bán thủ công như Excel, tuy đã có khả năng tính toán tự động tốt nhưng còn yếu về tính liên kết, bảo mật và đặc biệt khó khăn trong việc phân quyền người dùng.
Tuy vậy, khi thực sự bắt tay vào làm sau những thất bại đầu tiên, tôi mới thấy đây không phải là một việc đơn giản, không chỉ đơn giản đầu tư tiền của là có thể có một hệ thống vận hành tốt và hiệu quả cho công tác quản lý.
THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM
Lựa chọn phương án triển khai
Sử dụng hệ thống có sẵn hay xây mới từ đầu là một quyết định khó khăn – và cũng có không ít tranh luận về vấn đề này. Phải nói rằng, việc quyết định tự xây dựng hệ thống và đặc biệt là tiếp tục đặt niềm tin vào một nhà cung cấp còn non trẻ đã từng thất bại trong dự án trước đó giữa hai bên là một quyết định có phần mạo hiểm. Tuy nhiên, đi đến quyết định tự xây dựng hệ thốnglà xác đáng vì (1) công ty đã có nền tảng quản lý tương đối rõ ràng, (2) nhóm dự án hiểu sâu sắc về quy trình và yêu cầu quản lý, (3) nhóm Trưởng nhóm phần mềm có tư duy hệ thống và phân tích doanh nghiệp tốt – có thể nói là hiếm gặp so với các nhóm phần mềm mà tôi đã có cơ hội tiếp xúc.
Thiết kế tổng thể
Với đặc thù là công ty tư vấn, vận hành chủ yếu theo dự án nên chúng tôi xác định Quản lý Dự án là chức năng cốt lõi bắt buộc phải xây dựng. Bên cạnh đó, chức năng quản lý kinh doanh như quản lý thông tin khách hàng, giao dịch, hợp đồng và công nợ cũng là một chức năng phải có của hệ thống vì nó rất quan trọng đối với sự sống còn của doanh nghiệp, đồng thời là đầu vào thông tin cho chức năng quản lý dự án. Đối với một công ty tư vấn, con người được coi là tài sản quan trọng nhất nên chức năng Quản trị nhân sự cũng không thể thiếu. Không chỉ vậy, việc quản lý chi phí (đặc biệt là chi phí trực tiếp) các dự án có ý nghĩa vô cùng quan trọng. Do đó, chúng tôi quyết định hệ thống MIS sẽ bao gồm các phân hệ CRM-PM-HRM-BC.
Học tập người đi trước
Cấu phần được lựa chọn thiết kế đầu tiên là CRM, do đây là cấu phần đầu tiên về mặt quy trình của hệ thống, cũng như tự đánh giá là cấu phần có thể triển khai nhanh nhất do ít người tham gia và tính cấp thiết cao.
Chúng tôi tự thấy việc thiết kế một phần mềm từ đầu là khá khó khăn, dù bản thân nhóm triển khai của OCD hiểu rất rõ quy trình và đối tác phần mềm có kinh nghiệm, vì thế chúng tôi đã lựa chọn cách tiếp cận an toàn và tiết kiệm thời gian hơn – học tập những phần mềm đi trước. Sau một thời gian so sánh các phần mềm sẵn có, chúng tôi cũng đã tìm được một phần mềm có flow tương đối phù hợp với mô hình của một công ty tư vấn. Chúng tôi tiến hành dùng thử (đưa số liệu mô phỏng vảo phần mềm, chạy thử). Sau khi đã có một lượng thông tin tương đối, các báo cáo được sinh ra đã “sinh động” hơn nhờ có số liệu, chúng tôi mới bắt tay vào việc thiết kế cùng BA của đối tác phần mềm. Nhờ có hệ thống mô phỏng này mà hệ thống CRM của đối tác thiết kế ra đáp ứng khá tốt nhu cầu quản lý của OCD và nhanh chóng được đưa vào vận hành thực tế. Tất nhiên, hệ thống CRM này còn phát triển thêm nhiều chức năng mới so với hệ thống demo như quản lý hợp đồng, quản lý công nợ, tạo dự án và sau này được tích hợp với các hệ thống khác như PM hay HRM.
Làm việc chặt chẽ với BA để thiết kế mô hình vận hành của hệ thống
Thời gian thiết kế phần mềm là thời gian nhóm dự án của OCD làm việc rất chặt chẽ với BA của công ty phần mềm. Bản thân lãnh đạo cao nhất cũng nhiều lần phải tham gia trực tiếp vào các buổi làm việc, cả trực tiếp và on-line để đảm bảo BA lĩnh hội được đúng và đủ các yêu cầu của phần mềm. Quá trình dùng thử và test cũng đòi hỏi sự tham gia của người quản lý trực tiếp để đảm bảo phần mềm được thiết kế đúng với ngôn ngữ của người dùng. Sự khác biệt về ngôn ngữ và kinh nghiệm quản lý giữa 2 bên, đặc biệt là bạn BA khiến cho quá trình làm việc này tương đối vất vả. Tuy nhiên, nhìn lại thành quả sau 2 năm làm việc, có thể thấy rằng những nỗ lực vượt khó này là xứng đáng.
Tận dụng (tích hợp) với các chức năng miễn phí sẵn có (Google Calendar, Google Contacts)
Chúng tôi hiểu rõ việc tự xây dựng phần mềm sẽ mất thời gian và công sức nên đã chủ động tìm kiếm và tích hơn thêm ứng dụng của bên thứ ba vào hệ thống phần mềm nhằm tối ưu hoá thời gian. Sau khi so sánh nhiều giải pháp, Google Calendar và Google Contacts được lựa chọn để đồng bộ với hệ thống lịch làm việc – sinh ra từ các kế hoạch dự án và liên hệ. Bằng việc tích hợp này, chúng tôi có thể cập nhật được lịch làm việc đến từng chuyên gia tư vấn và điều phối viên các dự án qua thiết bị di động, đảm bảo tối ưu hóa được nguồn lực tư vấn quý giá cho các dự án của khách hàng.
Tập trung thiết kế các báo cáo đầu ra
Sau khi tham khảo nhiều phần mềm, chúng tôi nhận thấy điểm yếu của khá nhiều phần mềm là các báo cáo đầu ra hoặc không đáp ứng được nhu cầu quản lý, hoặc không đủ hấp dẫn để trở thành một công cụ hàng ngày của nhà quản lý và điều hành. Vì vậy, đối với hệ thống phần mềm của OCD, việc thiết kế báo cáo đầu ra là một nhiệm vụ được quan tâm đặc biệt. Nhờ đó các báo cáo thiết kế ra về cơ bản đáp ứng tốt các nhu cầu quản lý, thậm chí có những báo cáo khó tìm thấy ở những phần mềm khác như tình trạng nợ xấu và quỹ dự phòng rủi ro, so sánh doanh thu với dòng tiền vào, so sánh chi phí với dòng tiền ra…
Tối ưu hóa việc sử dụng thông tin từ phần mềm để tự động hóa các công đoạn khác trong quy trình kinh doanh
Đối với bất kỳ công ty tư vấn nào, việc cập nhật hồ sơ năng lực và CV/Profile của tư vấn luôn là một công việc mất thời gian và nhiều khi không đảm bảo tính nhất quán. Hệ thống của OCD cho phép những thông tin căn bản trong hồ sơ năng lực và CV/Profile được trích xuất tự động từ phần mềm và luôn sẵn sàng cho sử dụng.
Tối ưu hóa các thao tác có tính lặp đi lặp lại nhiều lần
Một khó khăn mà chúng tôi gặp phải là tối ưu hóa các thao tác cho người dùng. Bản thân BA của đối tác phần mềm đôi khi không phân biệt rõ được thao tác nào cần tối ưu (giảm thiểu số động tác để thực hiện một công việc, nhập liệu hoặc cập nhật số liệu). Biết rằng việc tối ưu hóa tất cả các thao tác của người dùng sẽ vô cùng mất thời gian, chúng tôi phân tích và lựa chọn/yêu cầu tối ưu hóa các thao tác có (1) nhiều người dùng, (2) tần suất sử dụng lớn – ví dụ chấm công. Những thao tác có số lượng người dùng ít (ví dụ cho Admin) hay tần suất sử dụng nhỏ (ví dụ điều chỉnh thông số hàng năm) có thể chấp nhận đánh đổi ở mức độ ít tối ưu hơn. Một số sáng tạo của thiết kế cho phép người dùng dễ dàng phân bổ chí phí của mình cho các dự án tham gia thay vì mất quá nhiều thời gian suy nghĩ về nó.
Cơ chế xử lý nhiều số liệu cho người dùng (luật 80-20)
Đặc biệt, chúng tôi yêu cầu tối ưu những thao tác với lượng lớn dữ liệu theo hướng 80-20. Tất nhiên lượng lớn dữ liệu ở đây là nói ở quy mô công ty tuy nhỏ như nhưng có xu hướng quản lý sát theo kết quả. Tất cả những thao tác dạng này, ví dụ duyệt chấm công cho toàn bộ tư vấn ở tất cả các dự án diễn ra trong tháng, được thiết kế theo hướng xử lý cá biệt thay vì động tác bấm duyệt từng dòng dữ liệu đơn lẻ.
TRIỂN KHAI PHẦN MỀM VÀO CÔNG TÁC QUẢN LÝ
Nếu làm việc với đơn vị cung cấp phần mềm khó khăn 1 thì khó khăn trong triển khai lớn gấp 3-4 lần.
Triển khai cuốn chiếu các cấu phần
Hệ thống phần mềm gồm nhiều cấu phần và không thể đợi triển khai đồng bộ từng cấu phần mà phải thực hiện theo hướng cuốn chiếu, cấu phần nào xong trước thì số liệu vào trước. Để làm được điều này, phải quyết định cấu phần nào đi trước, cấu phần nào đi sau. Có một nghịch lý là phần số liệu sau cùng (báo cáo kế toán) lại luôn là phần yêu cầu chuẩn chỉnh trước và có sẵn hệ thống phần mềm kế toán đang sử dụng. Một quyết định được đưa ra là đến khi các hệ thống phần mềm khác được triển khai đồng bộ, trách nhiệm nhập liệu cần được giải thoát khỏi phần mềm kế toán để chuyển lại cho các bộ phận khác – đầu mối phát sinh số liệu như kinh doanh, tư vấn… Với quyết định triển khai CRM – điểm đầu trong dòng số liệu, sau đó đến PM, rồi đến HRM và BC là hợp lý để đảm bảo khi những cấu phần sau đi vào hoạt động thì toàn bộ số liệu phát sinh từ cấu phần trước đã chuẩn chỉnh, tránh việc nhập liệu nhiều lần – vừa giảm sai sót, vừa giảm thời gian nhập liệu.
Khoanh vùng dữ liệu khi triển khai
Khi triển khai đưa phần mềm vào quản lý, hay nói cách khác đưa dữ liệu vào phần mềm, có một thách thức khác là tính đứt đoạn hay trọn vẹn của dữ liệu. Đối với một doanh nghiệp hoạt động theo mô hình dự án, thời gian triển khai dự án có thể kéo dài qua các kỳ kế toán khác nhau. Vì vậy việc khoanh vùng dữ liệu – quyết định mỗi loại dữ liệu sẽ được nhập và sử dụng từ kỳ nào là cực kỳ quan trọng để đảm bảo tính nhất quán của dữ liệu, đồng thời giảm thiểu việc sử dụng đồng thời 2 hệ thống: hệ thống phần mềm mới và hệ thống quản lý cũ trên các file excel.
Chạy thử và kiểm tra báo cáo
Chạy thử và kiểm tra các báo cáo và so sánh với các báo cáo thực tế đang sử dụng là một khâu quan trọng để đảm bảo dữ liệu trên báo cáo – được sinh ra từ dữ liệu gốc và hệ thống công thức phản ánh đúng thực tế và được tính toán, tổng hợp chính xác. Điều này khá vất và và đòi hỏi làm việc thường xuyên với đối tác phần mềm để đối chiếu do bản thân nhóm dự án không thể nhìn được các công thức tính toán trong phần mềm – như đối với Excel.
Vấn đề nhập liệu
Đối tượng nhập liệu lớn nhất là tư vấn luôn quá bận và có phần amateur, không thèm nhập số liệu chấm công của mình, trả số liệu chấm công muộn, khiến các bộ phận xử lý thông tin phía sau luôn phải đuổi theo. Mất 1 năm để đưa việc chấm công vào khuôn khổ, tháng nào hết tháng đấy và loại trừ tình trạng đuổi theo số liệu như khi còn sử dụng các hệ thống trên Excel. Các tính năng khóa số liệu “nghiêm khắc hơn” trên phần mềm cũng góp phần đáng kể vào vấn đề này.
Dữ liệu và cảm xúc
Việc triển khai trên số liệu thực tế, tuy vậy, có lợi thế là mang lại nhiều cảm xúc cho đội ngũ cán bộ điều hành và quản lý, từ đó tạo động lực cho việc chạy thử và phản hồi để tiếp tục hoàn thiện. Thực sự thì trở ngại tâm lý lớn nhất đối với tác giả, cũng là chủ dự án này, và nhiều đồng nghiệp là khi bắt đầu tự tay nhập những dòng dữ liệu đầu tiên vào phần mềm, trong bối cảnh một số tính năng còn lỗi, gây trở ngại và tâm lý ức chế khi sử dụng. Tuy nhiên, khi thấy những nhìn thấy hình thù của các báo cáo đang dần phản ánh rõ ràng và chính xác hơn bức tranh vận hành của doanh nghiệp, đó là một cảm giác khác, một cảm giác rất Yomost.