Loading...
UML là gì? Các loại diagram Business Analyst hay dùng

Một bài trong chuỗi tự học IT Business Analyst cho người mới bắt đầu

Giới thiệu

Làm Business Analyst (BA), một trong những công cụ mạnh mẽ nhất mà chúng ta sử dụng để truyền đạt các yêu cầu và mô hình hóa các luồng, các hệ thống phức tạp là dùng UML.

Với bài viết này, Hoàng sẽ trình bày chi tiết hơn về UML, vai trò của nó trong công việc của một IT Business Analyst, và cách thức nó giúp chúng ta tối ưu hóa quá trình phát triển phần mềm.

UML là gì?

UML (Unified Modeling Language) là ngôn ngữ mô hình hóa tiêu chuẩn được sử dụng để biểu diễn và trực quan hóa thiết kế của hệ thống phần mềm. UML không phải là một ngôn ngữ lập trình, mà là một ngôn ngữ trực quan giúp chúng ta truyền đạt các yêu cầu, thiết kế, và cấu trúc hệ thống một cách hiệu quả giữa các bên liên quan.

Mình thì thấy UML nó giống như 1 bộ quy tắc/syntax để đưa ra 1 chuẩn thống nhất để mô hình và trực quan hoá phần mềm khác nhau, nó có nhiều loại mô hình/diagram, và cũng kiểu triển khai sao cho đơn giản, dễ tiếp cận và phổ biến đến mọi người.

Tại sao UML quan trọng đối với IT Business Analyst?

Là Business Analyst, một trong những tác vụ chúng ta cần phải làm đó là cầu nối giữa doanh nghiệp và nhóm phát triển (Dev team). Do đó mà chúng ta sẽ làm việc với các khách hàng/stakeholders để thu thập yêu cầu, làm rõ và xác nhận, sau đó chúng ta sẽ truyền đạt yêu cầu đó đến cho đội ngũ Dev. Vậy truyền đạt không phải chỉ nói là xong mà chúng ta cần phải viết tài liệu, mô tả, để làm sao dễ hiểu, chính xác và hiệu quả nhất. Mà thường để dễ hiểu cần hình minh hoạ, lưu đồ (diagram), thì UML chính là công cụ quan trọng trong việc đó => Giúp các bên dễ dàng hình dung và thảo luận về hệ thống.

Một số lợi ích mà IT Business Analyst có thể dễ thấy khi dùng UML:

  • Mô hình hoá yêu cầu: Dĩ nhiên UML là dùng để mô hình hoá 😀 nên nó sẽ giúp ta mô hình hoá yêu cầu, mà khi mô hình hoá lên mọi người đọc sẽ dễ hiểu hơn là đọc chữ không.
  • Truyền đạt yêu cầu hiệu quả: UML giúp chúng ta trình bày các yêu cầu và thiết kế hệ thống một cách rõ ràng và dễ hiểu, ngay cả với các bên không phải là Dev team. Các diagram UML giúp thu hẹp khoảng cách giữa doanh nghiệp và nhóm phát triển phần mềm (Dev).
  • Giảm thiểu hiểu lầm: Sử dụng UML giúp giảm thiểu sự hiểu lầm giữa các bên liên quan vì sơ đồ trực quan có thể truyền đạt nhiều thông tin hơn so với mô tả bằng ngôn ngữ tự nhiên.
  • Quản lý yêu cầu hiệu quả: Không chỉ về phần truyền đạt, mà UML còn giúp cho các yêu cầu được quản lý một cách hiệu quả, có hệ thống. Rồi phần dễ dàng theo dõi tiến độ nữa, mình cũng hay dùng các UML rồi đổi màu để đánh trạng thái phần nào đã xong.
  • Linh hoạt với nhiều mô hình phát triển phần mềm khác nhau: Ví dụ như Scrum/Agile, WaterFall, V-model, …
  • Tái sử dụng tốt: Thường nếu chung 1 luồng gần giống nhau, BA cũng hay dùng lại các diagram cho các dự án, tài liệu khác nhau.
  • Quản lý rủi ro và đánh giá tác động: Nhờ các diagram mà chúng ta có thể nhìn dự án một cách tổng quản, xem xét khi làm tính năng A thì ảnh hưởng tới những tính năng nào, rủi ro ra sao, đôi lúc cũng liên quan đến các chi phí phát sinh như cần phải có server A, server B,… Từ đó mà tránh đi được những vấn đề trước khi chúng trở nên nghiêm trọng.

Danh sách các loại UML Diagram

Mình để 1 hình các bạn xem là sẽ hiểu có những loại nào ha, hiện theo Wiki thì có 14 loại.

14 loại UML Diagrams
14 loại UML Diagrams
  • Sơ đồ lớp (Class Diagram)
  • Sơ đồ đối tượng (Object Diagram)
  • Sơ đồ tình huống sử dụng (Use Cases Diagram)
  • Sơ đồ trình tự (Sequence Diagram)
  • Sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure Diagram)
  • Sơ đồ trạng thái (State Machine Diagram)
  • Sơ đồ thành phần (Component Diagram)
  • Sơ đồ hoạt động (Activity Diagram)
  • Sơ đồ triển khai (Deployment Diagram)
  • Sơ đồ gói (Package Diagram)
  • Sơ đồ liên lạc (Communication Diagram)
  • Sơ đồ tương tác (Interaction Overview Diagram – UML 2.0)
  • Sơ đồ phối hợp thời gian (Timing Diagram – UML 2.0)
  • Sơ đồ hồ sơ (Profile Diagram)

Về phần details giải thích từng cái bạn có thể xem video ngay ở dưới, hoặc các bạn đọc bài này nè, khá là hay luôn đó, có sẵn hình minh hoạ.

Learn 14 types of UML diagrams in one article

Ngoài ra các bạn có thể xem thêm ở trang sau

https://www.uml-diagrams.org/ 

Học, hiểu và vẽ UML

Thiệt mà để chỉ các bạn vẽ khá là tốn nhiều thời gian, nhiều khi cần phải làm video cơ. Mình xưa tự học được => mình nghĩ các bạn cũng sẽ tự học được.

Trên youtube giờ search có rất nhiều video hướng dẫn vẽ, dưới đây là 1 video, các bạn có thể xem và học nha 😀 mình đỡ làm lại

Các loại UML diagram hay được dùng

Đây là 1 khảo sát về việc sử dụng UML

Mức độ sử dụng các loại UML Diagram
Mức độ sử dụng các loại UML Diagrams

Trên là mức độ sử dụng của các loại UML diagrams, nhưng không phải chỉ áp dụng cho BA mà là cho tổng quan chung.

Qua thực tế sử dụng, với kinh nghiệm sử dụng của mình thì có những loại sau BA hay sử dụng:

  • Activity diagram (Nhiều chúa)
  • Sequence diagram (Nhiều chúa)
  • Class diagram (nhiều)
  • Usecase (Tuỳ công ty =)) có cty dùng User Stories (một phương pháp khác) nên ít sài Use case hơn)
  • State machine (hay gọi là State diagram) (nhiều)

Mình thấy cũng khá đúng so với cái survey trên.

Khi làm với Dev, nói sâu về tổng quan hệ thống, kiến trúc hệ thống, deployment các kiểu thì mình cũng có sài, nhưng không nhiều bằng ở trên

  • Component diagram
  • Deployment diagram
  • Package diagram
  • Object diagram

Các diagram khác hay được sử dụng.

  • Sơ đồ khối (Flowchart), khá tương đồng với cái Activity diagram, có vài chỗ khác, nhưng mình hay dùng để thay cho nhau (Flowchart <> Activity diagram)
  • Mô hình ERD (The Entity-Relationship Model)
  • Sơ đồ luồng dữ liệu (Data Flow Diagram – DFD)
  • BPMN (dùng không nhiều lắm, mình có cho survey, bạn có thể xem ở hình dưới)
Khảo sát về việc sử dụng BPMN khi là Business Analyst
Khảo sát về việc sử dụng BPMN khi là Business Analyst

Thì có (42+7+3)% = 52% số người đã votes không sử dụng BPMN trong công việc

51% số người đã votes có sử dụng, nhưng có thể thấy là tận 26% hiếm khi sử dụng.

Tổng 52+51 >100% vì được làm tròn 😀 á.

 

Cả 4 cái mình vừa liệt kê trên không phải là UML, nhưng thuộc loại hay được dùng, mình sẽ viết thêm bài viết về 4 loại trên cho các bạn tìm hiểu nhé, chờ đấy…

Các phần mềm dùng vẽ diagram mình sài

Khi là sinh viên mình hay sài StartUML (https://staruml.io/)

Khi đi làm thực tế thì mình sài:

Có research và sử dụng thử qua các tool:

  • Lucidchart
  • SmartDraw
  • Creately.com
  • PlantUML
  • clickup.com

Kết bài

Cảm ơn các bạn đã đọc đến đây,.. vẫn là như cũ – hi vọng qua bài viết các bạn lại có thêm kiến thức về BA, biết thêm về UML, các loại UML, những loại nào hay sài và những loại nào cũng hay sài nhưng không phải là UML.

Và các công cụ mình hay sài để vẽ các diagram là gì => từ đó bạn có thể thử sài, học cách sài cho công việc của bạn.

Ứng dụng của IT trong IT Business Analyst - Hoàng Phan Blog

Hi các bạn đọc giả, lại là Hoàng đây.

Trong thời gian vừa qua, với việc AI được biết đến rộng rãi, đặc biệt là khi OpenAI đã cho ra mắt ChatGPT vào cuối năm 2022 (30/11/2022). Làm cho nhiều người quan tâm cũng như trải nghiệm sử dụng AI, nhưng mình cũng không chắc là nhiều bạn đã thực sử hiểu nhiều về AI và đã áp dụng nó vào công việc được chưa.

Với bài viết này, hôm nay mình xin phép chia sẻ những suy nghĩ và trải nghiệm cá nhân, cũng như qua việc sử dụng AI vào thực tế công việc.

Cần hiểu về AI

Hiện tại, đối với mình thì AI là một công cụ hỗ trợ đắc lực cho mình, với việc sử dụng qua những công cụ như ChatGPT, Claude, Midjourney,… những công cụ hay được nhắc tới. Mình chưa nhắc tới một số công cụ AI trong robot, hay AI trong tự động lái nha, chuỗi tự động hoá, …

Thì những công cụ này sẽ nhận vào 1 input đầu vào (AI Prompting) và gửi cho AI, AI sẽ sử dụng các mô hình học máy để phân tích và hiểu dữ liệu, từ đó đưa ra và tạo những câu trả lời hoặc hành động dựa trên dữ liệu đã xử lý để trả ra cho User. Trong quá trình trao đổi trong một cuộc trò chuyện (1 đoạn chat) thì AI cũng sẻ học tập, cải thiện để phân tích ra những dữ liệu và điều chỉnh cho đáp án phù hợp.

Cách AI hoạt động cơ bản
Cách AI hoạt động cơ bản

Vậy cần hiểu “AI Prompting” là gì?

AI Prompting mô tả hình thức mà con người có thể giao tiếp với AI bằng ngôn ngữ tự  nhiên, để cho AI có thể hiểu và trả kết quả đúng như ta mong muốn.

Và khi ta biết cách tạo AI Prompting để AI hiểu ý muốn của chúng ta và thực hiện theo ý của ta => Ta có thể gọi nó là “Làm chủ và sử dụng AI”

Do đó khi các bạn tìm hiểu và sử dụng 1 công cụ AI nào đó, thì hãy bỏ chút thời gian nghiên cứu về cú pháp trao đổi với AI, mỗi AI lại có một cái prompting cho hiệu quả khác nhau. Việc sử dụng AI có hiệu quả hay không là nhờ cách bạn nghĩ ra Prompting phù hợp nhất.

Hiện nay trên youtube/google chia sẻ rất rất nhiều tips để làm được những điều này. Và các bạn có thể học hỏi, sử dụng AI nhiều từ đó có những kinh nghiệm riêng, viết Prompt A mà chưa đúng thì điều chỉnh, thêm bớt để cho phù hợp hơn, nếu chưa được thì lại tiếp tục gửi Prompting mới => dần dần sẽ tạo thành kinh nghiệm.

Prompting AI - Hoàng Phan Blog
Prompting AI – Hoàng Phan Blog

AI có thể thay thế hoàn toàn một BA không?

Theo mình là không?

Bản chất thì BA là làm những công việc như Gathering requirement, elicitation, … thì giờ khi làm việc BA vẫn sẽ làm những bước đó, AI không thể thay thế, nó chỉ là góp sức thêm, vẫn cần người suy nghĩ và viết Prompting

Nhận định sai về AI

AI không thể giải quyết ngay 1 bài toán lớn, mà ta phải mơn mớn cung cấp dữ liệu, phân rã từng task nhỏ và giao cho AI ⇒ Do đó cũng cần người phân tích/ bóc tách cho dữ liệu đầu vào cung cấp cho AI những dữ liệu phù hợp và đầy đủ. Sau đó là tổng hợp/ đánh giá dữ liệu đầu ra từ AI, vì AI cho rất nhiều insight, và không phải cái nào cũng đúng ⇒ Người sử dụng AI cũng cần có kinh nghiệm về Tech, về BA trước đó để nhận định đúng sai.

Cho ví dụ ở đây về bài toán phân tích luồng subscription trong thanh toán dự án Seitrace của mình:

  • Mình đã hiểu subscription nó hoạt động ra sao
  • Nhờ AI tư vấn những bên cung cấp dịch vụ
  • Mình phải vào đọc tài liệu/ đọc code/API của những dự án đó + nhờ AI support giải thích nhanh
  • Sau khi hiểu ⇒ Nhờ AI đánh giá các bên phù hợp nhất với nhu cầu ⇒ mình check và kiểm chứng lại
  • Tổng hợp luồng tổng quan để đi qua 1 bên cung cấp thứ 3 phù hợp với bên mình nhất ⇒ Và mô tả cách hoạt động cho AI ⇒ AI vẽ luồng Sequence phù hợp.
Đọc thêm  Vẽ diagram sử dụng AI giúp Business Analyst tiết kiệm thời gian

Tức là AI ở đây được sài kiểu như giúp mình làm chi tiết hơn cho một số công việc. Từ một tasks lớn cần 3 ngày giải quyết xong, thì có thể nhờ AI mà ta giảm bớt 1 số công việc chi tiết nhưng lại tốn nhiều thời gian => Từ đó giảm còn 1 ngày để hoàn thành xong task.

Nhưng sẽ làm giảm lượng nhân sự trong một đội ngũ (Tức là dùng AI giúp doanh nghiệp giảm chi phí thuê nhân công)

Ví dụ thực tế là ở công ty mình, lượng việc khá nhiều và nếu trước kia chưa sử dụng AI mình nghĩ phải cần tuyển thêm 1-2 bạn BA để phụ tasks (Bản thân mình là 1 manager nên khá hiểu câu chuyện estimate task). Nhưng với việc mình biết sử dụng AI, làm cho hiệu quả công việc mình tăng lên rất nhiều => từ đó với ngày xưa 3 ngày xong 1 tasks lớn, thì giờ mình vẫn với 3 ngày đó có thể làm thêm 1-2 tasks với độ khó tương tự => Không cần tuyển thêm vẫn cover được.

Giả dụ một công ty với đội ngũ 20 nhân sự BA, và giờ Công ty biết cách đưa AI vào sử dụng, mình chỉ ví dụ là các bạn biết sử dụng ở mức tương đối (trung bình), và giúp các bạn giảm được 20% thời gian thực hiện task => Thì từ 20 nhân sự công ty có thể chỉ tuyển 16 nhân sự… (này là mình ví dụ =)) vì không chắc các công ty có đưa AI vào làm việc hoặc có vi phạm privacy gì không nữa)

Thách thức và lợi thế của người sử dụng AI

=)) Đôi lúc mình cũng cảm giác não mình bớt suy nghĩ logic đi 1 tí, cứ đụng là AI =)) cũng sợ lâu quá bị lụt nghề, hoặc thậm chí giảm đi tính tư duy… giống như xưa sài máy tính cầm tay á => làm giảm khả năng tính nhẩm 😐 đôi lúc kiểu 35 + 18 = XX thì lôi máy tính ra bấm :3 hoặc kiểu gõ lên google để tìm ra đáp án thay vì tính nhẩm (có kết quả nhanh hơn).

Thách thức:

  • Như ở trên có nói, dễ bị phụ thuộc quá nhiều vào nó
  • AI đôi lúc đưa ra insight ẩn => làm ta bị đánh lạc hướng/ đi sai hướng
  • Bảo mật dữ liệu, đôi lúc dùng => dữ liệu bị chia sẻ ra ngoài
  • Chi phí… nếu công ty tự build thì chi phí khá cao, còn đối với User sài bình thường thì như sài ChatGPT mỗi tháng 20$ cũng khá cao nếu bạn không biết tận dụng AI vào việc giúp bạn giảm hiệu suất, cũng như đôi lúc ngại việc trả tiền cho AI
  • Tốn công training, AI mà… cần 1 lượng dữ liệu khá lớn, với các công ty lớn thì dĩ nhiên cần training khá nhiều, còn sài cá nhân cũng phải biết cách nạp dữ liệu cho nó để nó có 1 context, dữ liệu từ đó phân tích và đưa ra đáp án đúng cho bạn.
  • Độ chính xác,… thiệt lòng mà nói thì AI… hiện tại độ chính xác cũng kiểu 80-20 (cảm nhận cá nhân),… mình qua thời gian thấy AI cung cấp dữ liệu khá ổn, đúng được cỡ 80%, còn 20%… hay sai lắm. Vậy lỡ bạn sài và không nhận ra 20% cái sai kia thì … toang. 😐
AI trả lời sai - Hoang Phan blog
AI trả lời sai – Hoang Phan blog

Lợi thế:

  • Tăng hiệu quả công việc: như chia sẻ ở trên rồi
  • Tạo tài liệu, … đây là 1 phần của tăng hiệu quả công việc, giúp ta có thể tạo tài liệu nhanh hoặc với một idea với một số ý nội dung => AI có thể giúp để Gen ra chi tiết hơn
  • Hỗ trợ tăng insight, đôi lúc bị bí ý tưởng, hoặc nghĩ không ra, cho AI 1 input và cố gắng trò chuyện với AI kiểu như AI là một chuyên gia từ đó có thêm nhiều insight + keyword để tìm hiểu thêm
  • Giúp dịch thuật: Giúp tóm tắt thông tin, Q/A, đôi lúc là dịch từ ngôn ngữ khác sang ngôn ngữ “tiếng Việt” cho bạn đọc hiểu.
  • Tìm thông tin/câu trả lời nhanh hơn… với cách trước đây ta sử dụng google để tìm đáp án, như hôm rồi mình tìm số liệu về doanh thu của 1 số competitors, search google tốn rất nhiều thời gian, nhưng sài AI => Nó cho mình kết quả có vẻ nhanh hơn,.. với này cũng tuỳ topic, thông tin mình đang tìm nhé.
  • Hỗ trợ ra quyết định =)) Cung cấp thêm thông tin và gợi ý để hỗ trợ ra quyết định lẹ hơn.

=> Bạn biết sài => là đã có thêm ít nhất 1 lợi thế rồi đó.

 

Bài cũng hơi hơi dài rồi, nên mình tách ra phần 2… sẽ trình bày “BA sử dụng AI trong những công việc nào? dùng AI nào?” và những lưu ý khi sử dụng AI nhé.

Vị trí công việc Business Analyst Hoang Phan blog

Bài thứ 5 trong chuỗi các bài viết “Tự học IT Business Analyst

Hôm nay chúng ta sẽ tìm hiểu về các vị trí công việc của BA (Business Analyst) nhé.

Theo như cuốn BABOKv3 định nghĩa thì:

Vai trò BA

Vai trò của Business Analyst (BA) là căn chỉnh để các giải pháp được thiết kế và chuyên giao luôn phù hợp với nhu cầu của các bên liên quan. Và những công việc của BA bao gồm:

  • thấu hiểu các vấn đề và mục tiêu của doanh nghiệp,
  • phân tích các nhu cầu và giải pháp,
  • đề ra các chiến lược,
  • dẫn dắt sự thay đổi, và
  • tạo điều kiện thuận lợi cho sự hợp tác của các bên liên quan

Những Job Title trong sách nói

Và trong sách có ghi những common job titles như sau.

Công việc BA BABOKV3
Công việc BA – BABOKV3

Thì ta có:

  • Kiến trúc sư nghiệp vụ (Business Architect)
  • Chuyên viên phân tích hệ thống nghiệp vụ (Business System Analyst)
  • Chuyên viên phân tích dữ liệu (Data Analyst)
  • Chuyên viên phân tích doanh nghiệp (Enterprise Analyst)
  • Chuyên viên tư vấn quản lý (Management Consultant)
  • Chuyên viên phân tích quy trình nghiệp vụ (Process Analyst)
  • Quản lý sản phẩm (Product Manager)
  • Người lĩnh xướng và phát triển sản phẩm (Product Owner)
  • Kỹ sư thiết kế và quản lý yêu cầu (Requirement Engineer)
  • Chuyên viên phân tích hệ thống (Systems Analyst)

Ụa Ụa khoan, sao không thấy ông IT Business Analyst trong danh sách trên nhỉ???? :v 

Thì thật ra “IT Business Analyst” là một cái title hay được gọi ở Việt Nam, và tuỳ công ty sẽ những loại công việc khác nhau, nhưng nếu tính trên danh sách trên thì IT Business Analyst khá gần với tên Business System Analyst.

Nên khi tìm việc các bạn có thể nghiên cứu về Job Description của mỗi công ty tuyển dụng, họ sẽ yêu cầu công việc mà từ đó chuẩn bị cho phù hợp với yêu cầu tuyển dụng nhé.

Năm 2021 mình có làm cho công ty Blockchain, có CEO là người Mỹ, khi tuyển dụng có một bạn ở Shenzhen (Thâm Quyến, Trung Quốc), job title là Product Manager sinh năm 2K, nhưng task và công việc của bạn là một IT Business Analyst (junior), mà ông CEO ổng hỏi BA là gì, sao mày (ý nói là mình) không phải Title là PM mà là BA, Rồi nó kêu dựa theo kinh nghiệm của nó thì BA được xem như một Junior PM cũng được :v…

Hôm rồi mình có học 1 khoá trên Udemy thì trên đó họ cũng giải thích Business System Analyst

Business System Analyst Hoang Phan Blog
Business System Analyst Hoang Phan Blog

Những vị trí gần giống IT BA ở Việt Nam

Riêng với mình thì mình biết những title hay gặp ở Việt Nam mà hay có dính tới IT Business Analyst như sau:

  • BA Presale: Thường các bạn này hay kiểu đi cùng với Sale để pre-sale các sản phẩm của công ty (product)/hoặc sản phẩm build outsource, rồi tham gia vào trao đổi nghiệp vụ lúc deal, rồi sau đó viết docs các kiểu, trao đổi với Dev (và phần kỹ hơn thường giao cho IT BA để làm tiếp). Mình cũng từng làm qua vị trí này.
  • BA triển khai (ERP, …): Thường là cũng join vào Pre-sale, khai thác yêu cầu, tài liệu hoá các yêu cầu, xác nhận, và thường là dạng hiểu rõ về sản phẩm công ty => Sau đó tuỳ yêu cầu sẽ điều chỉnh, cài cắm cho phù hợp nhu cầu mỗi khách hàng.
  • IT BA: Đã chia sẻ ở bài trước
  • Consultant: … Mấy ông này là BA lâu năm, có kinh nghiệm và thường tư vấn, triển khai các phần mềm, process các kiểu cho các doanh nghiệp…. à ờ, này mình không chắc tại chỉ biết vậy thôi, k biết có level junior Consultant không nữa.
  • Product Owner: Ông này có vai trò vận hành, cải tiến sản phẩm và tối ưu hoá sản phẩm, tăng lợi nhuận hoặc 1 lợi ích gì cho sản phẩm/công ty, hay đi trong hệ Scrum/Agile. Nhưng cũng tuỳ công ty, đôi lúc không nhất thiết phải gắn vào Scrum/Agile… Thường product ông PO làm là những sản phẩm product của công ty, yêu cầu ông này phải tham các task vụ liên quan đến nghiên cứu thị trường, hiểu sản phẩm, và biết sắp xếp việc nào ưu tiên trước sau để đẩy ae đội ngũ team Dev chiến. (Mình cũng đang làm vị trí này) => Ở Việt Nam mấy product lớn hay có nhiều PO lắm, ví dụ Momo hay ZaloPay tuyển PO, mỗi PO nắm 1 nhóm sản phẩm/tính năng và tìm hiểu kỹ, tập trung phát triển về nhóm tính năng đó => mang lại hiệu quả cho sản phẩm/công ty.
  • Product Manager: Ông này thường làm ở mức high level hơn ông PO, về định hướng sản phẩm (thường là nguyên 1 sản phẩm, hoặc 1 nhóm nhánh tính năng trong sản phẩm), ưu tiên nhóm tasks lớn, quản lý về vòng đời, đôi lúc gồm các bước như phỏng vấn, làm việc với nhiều khách hàng khắp nơi. Mục tiêu của ông PM hay gắn với mục tiêu kinh doanh, còn so với ông PO thì mục tiêu thường là mục tiêu phát triển sản phẩm

Câu kết.

Thật ra thì những cái trên một phần cũng là title, và tuỳ mỗi công ty sẽ có những cái khác nhau, ví dụ PO ở công ty A, nhưng đôi lúc công việc lại như PM ở công ty B, hay làm IT BA công ty A thì lại giống ông BA triển khai của công ty B.

Nên khi tìm hiểu và tham gia tìm việc, làm việc, bạn nên đọc yêu cầu của mỗi công ty mà chiến nha.

Như mình làm chả biết title mình là gì luôn :)))) lúc thì BA, lúc thì PO, lúc thì Product Manager, lúc thì Project Manager, rồi tham gia mấy task vụ về UX research…

Nên cứ có kỹ năng nào phù hợp, bạn hỗ trợ dự án và giúp nó phát triển đi đúng định hướng là cứ quất nhé.

 

Đọc các bài khác trong chuỗi bài: Tự học IT Business Analyst

BA Sử dụng AI vẽ diagram

1. Giới thiệu

Hi mọi người, team mình vừa go live tính năng Seitrace Insights và với việc phân tích tính năng này, mình sử dụng AI rất nhiều để phục vụ việc phân tích, thiết kế và vẽ luồng nghiệp vụ.

Nhờ đó mà mình có kinh nghiệm để viết lại bài blog này để chia sẻ

cách mình đã dùng AI cho việc phân tích và vẽ sequence diagram một cách nhanh chóng

tiết kiệm khá nhiều thời gian, rút ngắn thời gian phân tích, và Dev cũng có thêm thời gian để develop tính năng khi mà yêu cầu về timeline khá gấp rút.

2. Công cụ AI sử dụng

Mình chỉ sử dụng 2 công cụ AI trong đợt này đó là ChatGPT4.0 và Mermaid

  • ChatGPT thì mình không biết phiên bản miễn phí 3.5 có hỗ trợ tốt được như bản mình đang sài không, mình sài Poe trả phí nên sài ChatGPT4 và các AI khác khá sướng 😀 Mà thiết nghĩ GPT3.5 cũng có support sẵn rồi.
  • Mermaid bạn có thể lựa chọn dùng phiên bản live tại: https://mermaid.live/ hoặc dùng Visual Studio Code và cài plugin Markdown Preview Mermaid Support
plugin mermaid hoangphan.blog
plugin mermaid hoangphan.blog

3. Bước phân tích cơ bản

Thật ra mỗi bạn BA, và tuỳ theo công ty sẽ có những cách phân tích khác nhau để đạt được mong muốn, mình với vai trò là một Product Manager, góc nhìn và cách phân tích của mình sẽ đi từ overview => đến chi tiết.

Mình chia làm các giai đoạn phân tích tính năng

Bước 1: Sử dụng thử các sản phẩm có sẵn trên thị trường mà có tính năng tương tự

Bước 2: Tập trung suy nghĩ và định hình những thành phần, Actors, tasks cần làm để xây dựng tính năng.

Bước 3: Dùng AI để research dựa theo keyword để tìm các kiến thức xung quanh tính năng/partner

Bước 4: Dùng AI để bắt đầu vẽ luồng…

Bạn có thể đọc bài “Phân tích tính năng subscription” của mình để biết được cách mình đã phân tích, ở bài này mình sẽ tập trung vào phần vẽ luồng

4. Sử dụng ChatGPT để vẽ ra luồng

Ở bước này mình cơ bản chỉ chat với ChatGPT và đưa ra yêu cầu cụ thể nhất có thể.

Thường thì các bạn có thể sử dụng để vẽ sequence diagram, flow chart hoặc activity diagram sẽ khá là ok nha.

Ví dụ:

Hi, Mình muốn xây dựng tính năng bán API của một Explorer blockchain SEI.
Hiện tôi đã có nguồn dữ liệu có sẵn.

Hãy giúp tôi vẽ luồng Sequence diagram, thanh toán sử dụng Coinbase, phần subscription (Subscription Management sẽ được đội ngũ tự phát triển)

Luồng người dùng sẽ chọn gói Advanced hoặc Professional, sau đó yêu cầu Sub Mgmt Server tính toán để cho User xác nhận, Khi xác nhận => xử lý để qua bên Coinbase tạo hoá đơn, Và khi có hoá đơn cần gửi cho user thông tin qua kênh Front end và Email.

User sẽ thanh toán

Sử dụng Mermaid

 

Thì mình sẽ nhận được một luồng bằng chữ như dưới => Copy bỏ vào trong công cụ Mermaid online, hoặc trên Visual Studio Code

mermaid-sequence text Hoang Phan blog
mermaid-sequence text Hoang Phan blog

Và sẽ nhận được luồng như sau.

mermaid-sequence-diagram Hoang Phan.blog
mermaid-sequence-diagram Hoang Phan.blog

Nhưng dĩ nhiên luồng sẽ chưa thể đúng 100%, do đó bạn cần chat và trao đổi, yêu cầu chỉnh sửa thêm với ChatGPT để cho luồng chính xác nhất.

Bạn có thể đọc đoạn demo của mình bên dưới để biết cách mình đã trao đổi với ChatGPT như thế nào để có luồng nhé.

…… đọc đoạn chat ở đây …

Sau khi đã có luồng hoàn chỉnh, mình sẽ lưu lại file Mermaid, và screenshot để bỏ vào tài liệu 😀

Final flow API Payment
Final flow API Payment

Đoạn luồng cuối cùng của Mermaid

Bạn có thể tải ở đây nha 

 

… Thế là có luồng rồi :v. Khá tiết kiệm thời gian, thậm chí đôi lúc AI hỗ trợ mình vẽ ra các luồng mà mình cũng không nghĩ tới luôn. Nhưng cần có những lưu ý sau khi sử dụng AI vẽ diagram.

5. Lưu ý khi sử dụng AI vẽ diagram

  • Cần phải phân tích cơ bản, high level trước, khi gặp vấn đề thì sẽ nhờ AI để ra thêm  ý tưởng, cũng như luồng còn thiếu, hoặc hỏi để tham khảo.
  • AI không thể thay thế được mình, bạn không thể đưa một bài toán chung chung mà nó giải và đưa ra luồng cho bạn
  • Phải chat và hỏi nhiều lần để AI làm gần sát với ý đồ của bạn nhất.
  • AI là trợ lý của bạn, giúp bạn có thêm ý tưởng, luồng chưa hiểu, nhưng việc rà soát lại luồng, đọc docs chính thống là rất quan trọng. Ví dụ như trong bài toán mình vừa giải, mình phải cần kiến thức về API để đọc rất nhiều docs API chính thống của 3rd để xác định xem luồng của AI vẽ đúng, và có thể sử dụng với bên thứ 3 không.
  • Bạn cũng cần có kinh nghiệm, quan điểm, ý kiến, tư duy riêng để check lại xem luồng, ý kiến của AI đưa ra đúng không.

6. Kết luận.

Mình gần đây nghiên cứu về các công cụ về AI, và sài khá nhiều loại khác nhau, thật sự thấy nó rất tiện ấy… Bạn thử sài đi nha 😀 Giờ mình xem AI như là 1 trợ lý, vừa rồi có ngồi cf với vài người bạn bàn luận về chủ đề, rất rất nhiều bạn đã áp dụng trong công việc và hiệu quả nhiều rồi. Bạn hãy thử sài đi nhé 😀

Và việc vẽ diagram này là một trong những ứng dụng mình thấy rất tiện, tiết kiệm thời gian, hi vọng sẽ giúp bạn làm việc nhanh và hiệu quả hơn với cách mình đã dùng.

Banking Business Analyst thì cần biết những nghiệp vụ gì?

Hiện tại có rất nhiều ngân hàng ở Việt Nam và trên thế giới đang thực hiện chuyển đổi số, do đó mà nhu cầu mở rộng dịch vụ ngân hàng ngày càng lớn dẫn tới việc tuyển dụng BA làm trong lĩnh vực ngân hàng ngày càng nhiều hơn, đặc biệt là các doanh nghiệp yêu cầu Business Analyst cần có kinh nghiệm làm việc trong lĩnh vực đó.

Do đó mà với kinh nghiệm tham gia làm việc cho 9 ứng dụng ngân hàng tại Việt Nam, 1 ứng dụng ngân hàng tại Cambodia, trong những dự án đó mình tham gia nắm chính 4 dự án mobile banking, và hỗ trợ trong 6 dự án. Mình xin phép chia sẻ những “keyword” nghiệp vụ cơ bản và nâng cao mà một BA có thể là cần biết đến để có thể làm việc tốt trong lĩnh vực Banking.

Danh sách các nghiệp vụ:

Nghiệp vụ về tài khoản/định danh

  • Mở tài khoản (tại quầy, trực tuyến,…)
  • Định danh khách hàng (KYC/eKYC) => Mở qua eKYC hạn mức giao dịch thấp (thường từ dưới 5M VNĐ)
  • Cập nhật thông tin khách hàng (CIF)
  • Phân loại khách hàng (nhóm KH và bậc KH)
  • Các loại tài khoản (Credit, Debit, Prepaid, Overdraft, Virtual)
  • Quản lý tài khoản số đẹp (bản chất là Alias)
  • Quản lý tài khoản đa ngoại tệ
  • Thông báo/bảo mật tài khoản (ví dụ như có người đăng nhập vào tk trên thiết bị mới, đăng nhập trên IB/MB cần cấp phép,…)
  • Đóng tài khoản
  • Quản lý thẻ ngân hàng
  • Đăng nhập/Đăng xuất (thông qua các phương thức login khác nhau từ FaceID/Vân tay, Password/OTP/…)

Nghiệp vụ về thanh toán và chuyển tiền

  • Quản lý số dư
  • Hạn mức giao dịch
  • Phương thức xác thực, xác thực giao dịch
  • Chuyển khoản nội bộ (Qua số điện thoại, email, alias, ID,…)
  • Chuyển khoản liên ngân hàng (NAPAS/CITAD/Alias)
  • Chuyển tiền quốc tế (thường là qua SWIFT)
  • Thanh toán hoá đơn
  • Thanh toán điện tử
  • Thanh toán qua QRPay
  • Tự động hoá thanh toán định kỳ
  • OTT (Over The Top)

Nghiệp vụ về hạn mức giao dịch

  • Tuân theo quy định ngân hàng nhà nước
  • Hạn mức ngày cho tài khoản/Thẻ
  • Hạn mức mỗi giao dịch cho tài khoản/thẻ
  • Hạn mức cho giao dịch tháng
  • Hạn mức rút tiền
  • Hạn mức thanh toán thẻ tín dụng
  • Hạn mức cho giao dịch đặc biệt (từ thiện, …)
  • Hạn mức giao dịch trực tuyến
  • Hạn mức giao dịch quốc tế
  • Tuỳ chỉnh hạn mức

Nghiệp vụ thẻ & Thẻ tín dụng

  • Các loại thẻ
    • Credit (tín dụng)
    • Debit (ghi nợ)
    • Overdraft (thấu chi)
    • Prepaid (trả trước)
    • Virtual (Ảo)
    • Đa năng
    • Thẻ đồng hành/động hạng/đồng thương hiệu 
  • Phát hành thẻ
  • Kích hoạt thẻ
  • Quản lý hạn mức thẻ
  • Đổi mã thẻ/mã PIN (quên mã thẻ)
  • Báo mất/khoá thẻ
  • Thanh toán tự động
  • Sao kê giao dịch thẻ
  • Bảo hiểm cho thẻ
  • Thanh toán thẻ tín dụng
  • Quản lý thanh toán trực tuyến và hạn mức trực tuyến
  • Ưu đãi, khuyến mãi, hoàn tiền,…

Nghiệp vụ vay/cho vay

  • Đăng ký vay
  • Các loại vay ngân hàng (Thấu chi, Tín chấp, thế chấp, …)
  • Xét duyệt và phát hành khoản vay
  • Quản lý khoản vay
  • Hạn mức cho vay (theo quy định nhà nước và ngân hàng)
  • Lãi suất vay và thanh toán nợ
  • Thanh toán và ghi nợ tự động
  • Bảo hiểm rủi ro cho khoản vay
  • Chống rửa tiền (AML)
  • Quản lý nợ xấu
  • Cho vay tại đa kênh (IB, MB, Tại quầy, qua App bên thứ 3,…)
  • Tự động gửi hợp đồng vay.

Nghiệp vụ gửi tiết kiệm

  • Mở sổ tiết kiệm
  • Kỳ hạn và lãi suất
  • Tất toán tiết kiệm
  • Tự động gia hạn tiết kiệm
  • Rút và gửi thêm tiết kiệm
  • Các loại mở tiết kiệm
    • Online
    • Tại Quầy
    • Các nhóm khách hàng
    • Gửi cộng dồn hằng tháng
  • Quản lý danh sách sổ tiết kiệm
  • Tự động gửi hồ sơ/hợp đồng tiết kiệm

KYC/eKYC

  • Mở tài khoản trực tuyến
  • Xác thực/định danh rút tiền
  • Xác thực/định danh tại quầy

Nghiệp vụ về  báo cáo giao dịch/tra soát

  • Xem trực tuyến và tải báo cáo giao dịch
  • Tra soát giao dịch tại quầy và trực tuyến
  • Phục hồi giao dịch
  • Hoàn giao dịch
  • Phân tích giao dịch (kiểu chi tiêu % như thế nào, cho mục nào,…)
  • Tuỳ biến báo cáo giao dịch

Nghiệp vụ core bank

  • Nghiệp vụ về Core bank (thường ở VN là T24) – gồm các nghiệp vụ về thông tin KH, giao dịch, thẻ, ngoại tệ, vay, tiết kiệm, CRM, sao lưu dữ liệu,…

 

Nghiệp vụ về phương thức xác thực

  • Tuân theo quy định nhà nước
    • Sinh trắc (lowest)
    • Mật khẩu
    • Normal OTP/SMS OTP
    • Smart OTP
    • Token OTP (highest)
  • Luồng OTP và sinh trắc liên quan đến check device token, type, định vị,…

Nghiệp vụ về thanh toán hoá đơn/topup

  • Quản lý hoá đơn
  • Quản lý danh sách Merchant (Trường học, điện, nước, giao thông,…)
  • Quản lý danh sách nhà mạng
  • Luồng thanh toán hoá đơn
  • Lưu thông tin hoá đơn
  • Quản lý danh bạ (user)
  • Thanh toán tự động
  • Nhắc thanh toán
  • Lịch sử và biên lai thanh toán
  • Thanh toán qua IB/MB/Thẻ/Tài khoản,…

Nghiệp vụ về ATM & rút tiền

  • Rút tiền bằng QR Rút tiền
  • Rút tiền bằng thẻ ghi nợ
  • Rút tiền bằng thẻ thấu chi
  • Rút tiền bằng thẻ tín dụng
  • Rút tiền bằng thẻ đa năng (
  • Rút tiền bằng thẻ ảo (virtual card)
  • Rút tiền trong nước/ quốc tế
  • Rút tiền thẻ kết nối tài khoản ngoại tệ

Nghiệp vụ về chứng chỉ quỹ/đầu tư

  • Mở tài khoản/kết nối tài khoản với chứng chỉ quỹ/tài khoản đầu tư
  • Mua bán chứng chỉ quỹ/đầu tư
  • Quản lý danh mục đầu tư
  • Chạy webview là chính (thường giờ ở VN bắt buộc đầu tư qua kênh đầu tư chứng chỉ quỹ, còn tài khoản chỉ là link tới thôi, hoặc là bên app kia sẽ trở API ra cho kết nối, này tuỳ bên mà có những tính năng khác nhau)
  • Topup/Withdraw quỹ (tiền)

Nghiệp vụ AML

Này mình chỉ từng làm là gọi API bên thứ 3 hỗ trợ để lấy kết quả về, nên phần chuyên sâu bạn có thể nghiên cứu thêm khi làm tại công ty/ngân hàng của bạn.

Nghiệp vụ virtual account/card

  • Mở tài khoản/thẻ trực tuyến
  • Quản lý số tài khoản/thẻ
  • Đóng tài khoản/thẻ
  • Các tính năng chuyển khoản/thanh toán
  • Hỗ trợ thanh toán quốc tế

Nghiệp vụ về quản lý dashboard và phân quyền

  • Cho các nghiệp vụ tại quầy
  • Cho nghiệp vụ quản lý Mobile banking và Internet banking

Nghiệp vụ về thanh toán điện tử

  • Kết nối với e-wallet
  • Hỗ trợ thanh toán điện tử qua ứng dụng ngân hàng (IB/MB)

Nghiệp vụ OTT (over the top)

  • Luồng nghiệp vụ thông báo (trên app, qua SMS, …) – luồng này không phải là push noti là xong mà đi qua nhiều bên service, có thể service do ngân hàng có hoặc dùng bên thứ 3, rồi bên thứ 3 lại đi qua 1 bên khác => cần hiểu và thực hiện đúng luồng + truy vết để tìm lỗi khi cần.

Nghiệp vụ khách hàng doanh nghiệp

  • Quản lý đa tài khoản
  • Chuyển khoản, thanh toán hoá đơn (gồm cả chuyển tiền hàng loạt)
  • Duyệt thanh toán/chuyển khoản
  • Thanh toán lương
  • Quản lý tiền mặt/dòng tiền
  • Quản lý liên quan đến thuế
  • Hạn mức giao dịch
  • Quản lý tín dụng
  • Phân quyền
  • Và các tính năng khác tuỳ cty/ngân hàng mà sẽ có những tính năng khác nhau

Nghiệp vụ về Omni channel

  • Quản lý kết hợp Mobile Banking và Internet Banking hoặc 1 ứng dụng khác của ngân hàng về một nơi

Nghiệp vụ về Loyalty

  • Quản lý danh sách sản phẩm và value của sản phẩm
  • Quản lý cấp/level khách hàng
  • Link tài khoản loyalty với tài khoản ngân hàng
  • Quản lý loyalty point/hết hạn/hạn mức min, max
  • Quản lý khuyến mãi, giảm giá
  • Quản lý thanh toán qua loyalty point

Nghiệp vụ truy vết giao dịch

Thường luồng này là đặt events vào các bước giao dịch, thanh toán để tracking xem trục trặc nằm chỗ nào khi có vấn đề và từ đó có hướng xử lý, hoặc thậm chí hỗ trợ cho việc khắc phục các vấn đề về UX.

Hiểu về luồng Audit

Khi thực hiện xây dựng ứng dụng ngân hàng thì bước Audit khá quan trọng để đảm bảo không bị hack/hoặc sai phạm quy định ngân hàng nhà nước,… do đó BA cùng với Dev tham gia luồng Audit.

 

XEM LINK MINDMAP tại: https://hoangphan.blog/bankingba 

Kết luận

Hi vọng với danh sách các nghiệp vụ thường ở các ngân hàng có mà mình liệt kê ở trên sẽ giúp bạn có một cách tổng quan và định hướng tìm hiểu/nghiên cứu để có một kiến thức nghiệp vụ vững chắc cho con đường BA Banking trong tương lai.