Hệ thống được xây dựng như thế nào? Hướng dẫn nhập môn dễ hiểu cho nhân sự phi IT
System Development24 tháng 5, 20268 phút đọc0 views

Hệ thống được xây dựng như thế nào? Hướng dẫn nhập môn dễ hiểu cho nhân sự phi IT

Be A Racer Team

Author

Vậy thực chất phát triển hệ thống là gì?

group of people sitting beside rectangular wooden table with laptops

Nghe đến "phát triển hệ thống", bạn có thể hình dung ngay đến những dòng mã lập trình phức tạp hoặc các công việc máy móc. Tuy nhiên, bản chất lại rất đơn giản. Phát triển hệ thống chính là quá trình "xây dựng cơ chế" nhằm tối ưu hóa nghiệp vụ của doanh nghiệp hoặc tạo ra các dịch vụ mới.

Nếu lấy ví dụ gần gũi, nó giống như việc "xây nhà theo yêu cầu". Không chỉ đơn thuần là dựng lên một tòa nhà, mà còn phải thiết kế vị trí bếp, kích thước tủ kệ... phù hợp với lối sống của người sống trong đó, sau đó thi công và bảo trì ngay cả khi hoàn thành. Phát triển hệ thống cũng tương tự, đó là quy trình thiết kế, xây dựng và vận hành các công cụ số tối ưu nhất dựa trên các vấn đề của doanh nghiệp.

Đối với những bạn không thuộc bộ phận IT, kiến thức này là bắt buộc. Bởi vì trong việc tối ưu hóa nghiệp vụ nội bộ hay phát triển dự án mới, việc có hay không có kiến thức về phát triển hệ thống sẽ ảnh hưởng lớn đến tỷ lệ thành công của dự án.

1. Hãy thử ví von với nấu ăn: Toàn cảnh phát triển hệ thống

an abstract image of a city made up of lines

Để hiểu quy trình phát triển hệ thống, ví von với "quá trình phục vụ món ăn tại nhà hàng" sẽ giúp bạn dễ hình dung hơn.

Định nghĩa yêu cầu là "nghe đặt món"

Đầu tiên, chúng ta hỏi khách hàng muốn ăn gì. Trong phát triển hệ thống, bước đầu tiên cũng là "thu thập thông tin" xem "chức năng nào cần thiết", "ai sẽ sử dụng". Nếu bước này sai lầm, cũng giống như phục vụ món ăn mà khách không muốn, kết quả là một hệ thống không ai dùng.

Thiết kế là "viết công thức"

Sau khi đơn hàng được chốt, đầu bếp sẽ suy nghĩ cách chế biến. Nguyên liệu gì, các bước như thế nào. Trong hệ thống, chúng ta sẽ quyết định "sử dụng công nghệ nào", "quản lý dữ liệu ra sao".

Triển khai là "nấu nướng"

Nấu món ăn đúng theo công thức. Trong hệ thống, lập trình viên sẽ viết mã code để xây dựng chức năng.

Kiểm thử là "nếm thử"

Ăn thử món đã hoàn thành để nếm hương vị. Trong hệ thống, chúng ta cũng kiểm tra xem có lỗi (bug) nào không, hệ thống có hoạt động như dự tính hay không.

Như vậy, phát triển hệ thống không chỉ là công việc kỹ thuật đơn thuần, mà còn mang tính chất của ngành dịch vụ biến mong muốn của khách hàng thành hiện thực.

2. Ai sẽ làm? Các vai trò và vị trí chính

Phát triển hệ thống có sự tham gia của một số chuyên môn nghề nghiệp. Bạn sẽ dễ hiểu hơn nếu hình dung qua sơ đồ tổ chức.

Kỹ sư hệ thống (SE): Người vẽ bản thiết kế

SE sẽ lắng nghe yêu cầu của khách hàng và tạo ra bản thiết kế tổng thể của hệ thống. Trong xây dựng, họ giống như "kiến trúc sư". Ngoài kiến thức kỹ thuật, họ còn đòi hỏi khả năng giao tiếp để hiểu rõ nghiệp vụ của khách hàng.

Lập trình viên: Người trực tiếp làm

Dựa trên bản thiết kế do SE viết, họ sẽ viết ngôn ngữ mà máy tính hiểu (code) để xây dựng hệ thống. Vai trò này gần giống với thợ mộc hoặc thợ thủ công.

Quản lý dự án (PM): Người quản lý tiến độ

Họ quản lý để toàn bộ dự án hoàn thành đúng hạn và trong phạm vi ngân sách. Là trưởng nhóm, họ phụ trách điều chỉnh lịch trình và quản lý rủi ro.

※ Trong các dự án phát triển quy mô nhỏ, SE và lập trình viên thường kiêm nhiệm cả hai vai trò.

3. Quy trình phát triển: Giải thích 6 giai đoạn

Phát triển hệ thống thường diễn ra theo 6 bước chung. Chúng ta hãy cùng xem xét mỗi giai đoạn cần làm gì.

① Định nghĩa yêu cầu & ② Thiết kế

Trước hết, cần làm rõ "sẽ làm cái gì". Đây là bước quan trọng nhất. "Đừng bắt đầu vội vàng" là điều cấm kỵ. Nếu mục tiêu bị lệch lạc, sau này sẽ cần sửa chữa lớn, khiến chi phí tăng vọt.

③ Lập trình & ④ Kiểm thử

Thực tế tạo ra hệ thống và chạy thử. Trong phần kiểm thử, chúng ta xác nhận xem hệ thống có bị hỏng khi thực hiện các thao tác bất thường hay không.

⑤ Ra mắt & ⑥ Vận hành bảo trì

Bắt đầu vận hành trên môi trường thật. Ra mắt không phải là đích đến, mà đó mới là khởi đầu. Cần bảo trì định kỳ và xử lý các thay đổi về yêu cầu.

Nhìn qua Before/After, bạn sẽ hình dung được quy trình làm việc thủ công sẽ được tự động hóa, và lỗi sai giảm đáng kể.

4. Hệ thống Nghiệp vụ vs Hệ thống Thông tin

Hệ thống được chia thành 2 loại lớn. Điều này hữu ích khi bạn cần xác định công ty mình cần loại hệ thống nào.

Hệ thống Nghiệp vụ (Động cơ công ty)

Là các hệ thống hỗ trợ nghiệp vụ liên quan trực tiếp đến lợi nhuận của công ty như quản lý doanh thu, tồn kho, sản xuất... Nếu hệ thống này ngừng hoạt động, doanh thu sẽ không có. Do đó, tính ổn định được ưu tiên hàng đầu.

Hệ thống Thông tin (Nội thất công ty)

Là các hệ thống hỗ trợ giao tiếp nội bộ và hiệu suất hành chính như email nội bộ, chia sẻ lịch, bảng tin... Dù hệ thống này ngừng hoạt động thì nghiệp vụ cũng ít khi bị gián đoạn hoàn toàn, nhưng nó sẽ ảnh hưởng đến sự thuận tiện trong làm việc.

Đối với cấp lãnh đạo, ưu tiên trước hết nên là việc trang bị Hệ thống Nghiệp vụ. Lý do là củng cố nền tảng lợi nhuận là điều quan trọng nhất.

5. Nội chế hay Ngoại chế: Chọn cái nào?

Khi tạo ra hệ thống, bạn sẽ có lựa chọn giữa "tự làm (nội chế)" hay "thuê ngoài (ngoại chế)".

Trường hợp phù hợp Nội chế

Là khi đó là công nghệ cốt lõi và bạn muốn tích lũy know-how trong nội bộ. Ngoài ra, nếu các thay đổi về yêu cầu chi tiết xảy ra thường xuyên, đội ngũ nội bộ sẽ linh hoạt ứng phó tốt hơn.

Trường hợp phù hợp Ngoại chế

Là khi cần công nghệ có tính chuyên môn cao hoặc nội bộ đang thiếu hụt nguồn lực. Như đã đề cập trong bài viết tham khảo, bao gồm cả phát triển offshore, các lựa chọn sẽ mở rộng hơn. Để tập trung nguồn lực vào "điểm mạnh của công ty", việc thuê ngoài các lĩnh vực phi cốt lõi là khôn ngoan.

Hãy cân nhắc dựa trên sự cân bằng giữa chi phí, tốc độ và chất lượng.

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

Chúng tôi xin trả lời những câu hỏi thường gặp từ phía nhân sự phi IT về phát triển hệ thống.

Q1. Chi phí khoảng bao nhiêu?

A. Rất đa dạng. Với công cụ đơn giản thì vài chục triệu đồng, nhưng với hệ thống cốt lõi có thể lên tới vài tỷ đồng. Cách thực tế nhất là xác định "khung ngân sách" trước rồi điều chỉnh yêu cầu.

Q2. Chú ý gì để không thất bại?

A. Dành thời gian cho "Định nghĩa yêu cầu". Việc thay đổi ý muốn "muốn thế này" sau khi bắt đầu làm sẽ khiến chi phí tăng vọt. Hãy thực hiện việc thống nhất ban đầu một cách cẩn thận.

Q3. Phòng Kinh doanh có thể làm gì trong lúc phát triển?

A. Phản hồi dưới góc nhìn người dùng. Tham gia kiểm thử để "kiểm tra xem thực tế có dễ dùng không" là đóng góp có giá trị nhất.

Bắt đầu từ đâu? Bước đầu cụ thể

Nếu bạn đã quan tâm đến phát triển hệ thống, trước hết hãy tạo "bảng danh sách các vấn đề nan giải trong nghiệp vụ".

Tập hợp các ý kiến như "lỗi nhập liệu trên Excel nhiều", "thời gian phê duyệt kéo dài", "dữ liệu không được tập trung". Đó chính là hạt giống của các vấn đề cần được hệ thống hóa. Thay vì vội vã tư vấn với nhà cung cấp, hãy sắp xếp các vấn đề nội bộ trước khi hành động để tìm ra giải pháp tối ưu nhất.

Từ điển thuật ngữ: Chỉ cần biết những thứ này là OK

Cuối cùng, chúng tôi giải thích các thuật ngữ quan trọng có thể sử dụng trong hội thoại.

  • Định nghĩa yêu cầu: Giai đoạn quyết định hệ thống sẽ đạt được điều gì.
  • Lỗi (Bug): Lỗi hoặc sai sót trong chương trình.
  • Ra mắt (Release): Công bố hệ thống và bắt đầu sử dụng.
  • UI/UX: Giao diện (UI) và Trải nghiệm người dùng (UX).
  • Thời hạn (Deadline): Hạn chót hoàn thành và bàn giao hệ thống.
  • Bảo trì: Bảo dưỡng và hỗ trợ sau khi ra mắt.
  • Scrum: Một phương pháp phát triển Agile. Phương pháp lặp lại trong thời gian ngắn.
  • Cloud (Điện toán đám mây): Môi trường máy chủ sử dụng qua Internet.

Chỉ cần biết nghĩa của những từ này, việc giao tiếp với đội ngũ phát triển sẽ trở nên trơn tru hơn. Phát triển hệ thống không phải là phép màu, mà là một quy trình logic tuân thủ các bước thích hợp. Hãy sử dụng kiến thức này để thúc đẩy DX cho công ty bạn.

Tags

#システム開発#offshore開発#アジャイル開発
0 reactions
💬

Bình luận

🗣️ Tham gia thảo luận

Sign in to leave a comment and join the discussion

Loading...