Loading...
Blockchain cho Business Analyst | Product Owner | Product Manager

Hi, Hoàng đây, hoangphan.blog đây.

 

Lần đầu tiên mình tổ chức call chia sẻ cùng mọi người.

Hiện tại mình đang làm blockchain được vài năm (từ 2020), cũng may mắn được làm nhiều sản phẩm khác nhau trên thị trường blockchain (crypto).

FORM YÊU CẦU ĐĂNG NHẬP, mình cần email của bạn để mời qua google meet. 

TỐI ĐA: 99 bạn
Thời gian: 20:00, Thứ 7 ngày 09/11/2024
Call sẽ được mời qua email của bạn vào tối thứ 6, ngày 08/11/2024

Nên muốn có một cuộc gọi chia sẻ kinh nghiệm cá nhân, cũng như hỏi đáp về làm BA blockchain.

Mình sẽ tổ chức kiểu free talking, thoải mái như 1 cuộc nói chuyện ở quán cf nhé.

Dự kiến nội dung cơ bản như sau:
– Giới thiệu về cá nhân:

  • Đang làm gì?
  • Kinh nghiệm làm BA bao lâu?
  • Cơ duyên nào đến với Blockchain
  • Các dự án về blockchain đã làm
– Người làm BA/PO/PM/QC blockchain thì cần những yếu tố nào?
– Kể chuyện mấy dự án đã làm, và thường làm một dự án blockchain sẽ như thế nào?
– Chia sẻ kinh nghiệm để người mới tham gia và trở thành một BA/PO/PM/QC blockchain, lộ trình học tập
– Q/A: hỏi đáp
 
 

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.

Những kỹ năng của IT Business Analyst

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

IT Business Analyst (ITBA) là một vị trí yêu cầu kết hợp của rất nhiều kỹ năng mềm và kỹ năng chuyên môn nghiệp vụ. Để làm tốt vị trí BA, thì cần khá nhiều thời gian để rèn luyện – nắm vững các kỹ năng và công cụ để phân tích, giao tiếp và làm việc hiệu quả với các bên liên quan.

Trong bài viết này mình sẽ chia sẻ những kỹ năng cần thiết và khá phổ biến khi làm IT Business Analyst nhé.

Bài viết cũ

Cách đây một thời gian mình cũng viết một bài liên quan đến các kỹ năng cần cho một internship khi làm BA theo cách nhìn và cách tuyển dụng của mình.

Bạn có thể đọc ở bài đây nhé

Thực tập IT Business Analyst cần những kỹ năng gì?

Tiếp theo đây mình vẫn chia sẻ những kỹ năng khác đầy đủ hơn.

IT Business Analyst cần những kỹ năng gì?

1. Kỹ năng về giao tiếp

Từ giao tiếp ở đây trong tiếng Anh mình đang muốn nói tới từ “Interpersonal skills“, 

Nó bao gồm:

  • Kỹ năng làm việc với những người khác (dev team, stakeholders, c-level,…)
  • Kỹ năng giao tiếp (communicate): gồm biết cách
    • Truyền đạt thông tin hiệu quả, rõ ràng, chính xác => này cả việc viết tài liệu & thuyết trình.
    • Lắng nghe và hiểu nhu cầu từ các bên liên quan
    • Đàm phán, thương lượng, thường là giải thích solutions, thuyết phục stakeholders theo một hướng nào đó tốt cho dự án, đôi lúc có xung đột giữa các bên cũng biết cách xử lý.
  • Kỹ năng về ngoại ngữ: Giờ tiếng Anh là một cái buộc phải có của BA, dù bạn BA cho công ty Nhật thì cũng cần phải biết tiếng Anh, đa số các kiến thức về BA, nghiệp vụ, công nghệ được viết trong tiếng Anh => Có tiếng Anh hỗ trợ việc đó, Ngoài ra nếu là công ty sử dụng tiếng Anh trong giao tiếp thì càng tốt, có tiếng Anh => Tăng lương, tăng cơ hội việc làm,… Nếu không là công ty sử dụng tiếng Anh => Thì biết thêm tiếng Nhật, Hàn, Thái … tuỳ mỗi công ty 😀

2. Kỹ năng đặt câu hỏi

Hình như không mấy bài viết về kỹ năng này, nhưng mình nghĩ kỹ năng này rất rất quan trọng cho người làm Business Analyst luôn.

  • Luôn luôn hỏi “Tại sao?”, “Tại sao?”, và “Tại sao?”.
  • Câu hỏi này dành cho Stakeholders, các thành viên khác và hỏi cả chính mình, từ đó mà có thể tìm ra được vấn đề gốc rễ, những điều bạn chưa biết, chưa rõ để làm rõ nó, từ đó phân tích ra được giải pháp phù hợp.
  • Dĩ nhiên là khi hỏi “Tại sao” cũng cần có một sự tinh tế nhất định để phù hợp với từng bối cảnh cụ thể.
  • Và “tự thì thầm nói chuyện” với bản thân, tự đặt câu hỏi với chính bản thân bạn, đây là một trong những kỹ thuật mình sài để tự khơi gợi (elicitation) và tìm ra đáp án cho các câu hỏi khó.

Bạn hãy nghiên cứu những loại câu hỏi sau, mình nghĩ sẽ có lợi cho bạn đoá:

  • Câu hỏi làm rõ: Kiểu hỏi để làm rõ vấn đề, những thứ bạn chưa hiểu
    • Ví dụ 1: “Bạn có thể giải thích ý số 2 là như thế nào được không?”
    • Ví dụ 2: “Đăng nhập với email, ý bạn là cần mật khẩu hay với OTP?”
  • Câu hỏi đóng: thường là để xác thực thông tin
    • Ví dụ: “Vậy đăng nhập với email sẽ gửi một link vào email và người dùng nhấn vào để xác thực đúng không?”
  • Câu hỏi mở: khuyến khích người khác bày tỏ ý kiến
    • Ví dụ: “Bạn nghĩ gì về giải pháp này?”
  • Câu hỏi giả định: đưa vào một tính huống giả định và hỏi xem có những khả năng nào xảy ra hoặc kiểu xem thử người được hỏi phản ứng như thế nào
    • Ví dụ 1: “Giả sử user đăng ký, và luồng là tự động đăng nhập sau khi đăng ký, vậy email nằm trong blacklist có tự động đăng nhập được hay không?”
    • Ví dụ 2: “Giả sử như giải pháp không được lãnh đạo duyệt thì sẽ làm gì?”
  • Câu hỏi thăm dò: nhằm kháp phá sâu hơn về một vấn đề cụ thể, khuyến khích người được hỏi cung cấp thêm thông tin hoặc suy nghĩ kỹ hơn về câu trả lời của họ.
    • Ví dụ 1: “Bạn có thể cung cấp thêm chi tiết về những phần của hệ thống đang hoạt động chậm?”
    • Ví dụ 2: “Bạn có thể mô tả cụ thể hơn về ý nghĩa của ‘dễ sử dụng’ trong bối cảnh này không? Ví dụ, bạn đang nghĩ đến giao diện người dùng, tốc độ phản hồi của hệ thống, hay mức độ đào tạo cần thiết cho người dùng mới?”
    • Ví dụ 3: “Có ví dụ nào từ hệ thống hiện tại hoặc từ các ứng dụng khác mà bạn cho là dễ sử dụng không? Điều gì trong đó mà bạn nghĩ sẽ hữu ích cho hệ thống mới?”
  • Câu hỏi dẫn dắt: Dẫn mọi người đi theo 1 hướng cụ thể hoặc đồng ý với 1 quan điểm nhấn định => nhưng nên cẩn thận vì tránh ảnh hưởng đến tính khách quan.
    • Ví dụ 1: “User chắn chắn sẽ thích giao diện mới này hơn, vì nó trực quan hơn nhiều, các bạn thấy vậy đúng không?”
    • Ví dụ 2: “Bạn cũng đồng ý rằng việc thêm tính năng báo cáo tự động sẽ giúp tiết kiệm rất nhiều thời gian cho team, đúng không?”
  • Câu hỏi đối chiếu: Kiểu dẫn dắt việc trả lời so sánh 2 hoặc nhiều lựa chọn => giúp đánh giá ưu và nhược điểm của từng phương án
    • Ví dụ 1: “Giải pháp A và B, cái nào tốt hơn nhỉ?”
    • Ví dụ 2: “Dự án này nên theo WaterFall hay Agile sẽ phù hợp hơn?”

3. Khả năng “Take notes”

😀 BA thường tham gia nhiều cuộc họp thảo luận, rồi trao đổi với nhiều bên, gathering requirements, tránh bỏ sót những chi tiết quan trọng => Cần take notes lại để sau còn phân tích, đưa ra solutions, viết docs, cập nhật docs các kiểu. Do đó kỹ năng này rất quan trọng với người làm IT Business Analyst.

Nguyên tắc cơ bản

Để tốt khả năng take notes thì có 1 số nguyên tắc cơ bản mình gợi ý như sau, bạn có thể nghiên cứu và học thêm nhé.

  • Xác định mục tiêu ghi chép: Trả lời những câu hỏi “bạn cần ghi lại những thông tin gì?” “những điểm nào là quan trọng nhất?”
  • Sử dụng từ khoá/cụm ngắn gọn: Viết ngắn gọn, dùng từ khoá, hoặc dùng các ký hiệu để tiết kiệm thời gian, không gian, vì đâu ai đang nói cái đợi bạn ghi notes lại đâu phải không? =)) => Nhưng không có nghĩa bạn được hỏi lại nhé… do đó tận dụng việc hỏi lại để xác thực thông tin.
  • Sử dụng ứng dụng, hoặc giấy bút hợp lý, tuỳ thuộc vào cái nào tiện: tuỳ theo mỗi bạn, có thể viết note vào bút nếu bạn ghi chép nhanh và quản lý tốt, còn không thì có thể sài những phần mềm take notes như: Onenote, Evernote, Notion, Sticky Notes, Google Docs, Ms Word. => Như mình thì chỉ sài phần mềm thôi, gõ nhanh hơn nhiều :3
  • Tổ chức thông tin hợp lý: Nên học vài phương pháp ghi chép phổ biến => từ đó luyện và ghi thành cấu trúc hợp lý kiểu như có tiêu đề, đánh số, gạch đầu dòng,… Sau đọc lại còn biết ý nào ý chính, ý nào ý phụ, tìm kiếm thông tin cũng dễ dàng hơn.
  • Highlight những điểm quan trọng: Kiểu như sài dấu sao, tô đỏ, tô đậm, gạch chân, để sau này đọc lại còn chú ý những điểm đó
  • Được thì tổng hợp lại mấy cái bạn notes, xong gửi lại cho team/người tham gia cuộc họp để họ đọc & xác nhận lại. Hoặc đơn giản chỉ gửi thôi.
  • Bạn cần lắng nghe 1 cách chủ động, đừng ngại hỏi, khi viết xong thì dành thời gian đọc lại, đôi lúc cần điều chỉnh cho hợp lý, lưu trữ nơi dễ truy cập, ngăn nắp.

Phương pháp

  • Phương pháp outline, cách này mình hay sài: sắp xếp thông tin theo dạng thứ tự từ trên xuống, kiểu như viết sách ấy, đánh 1, 2, 3 hoặc I, II, III,.. cho tiêu đề, dưới thì a, b, c, … gạch đầu dòng (-)
    • Ví dụ:
      1. Yêu cầu dự án
      – Hệ thống cần hỗ trợ đa ngôn ngữ
      – Phải tích hợp với hệ thống CRM hiện tại
      2. Thời hạn và ngân sách
      – Thời hạn hoàn thành: 3 tháng
      – Ngân sách dự kiến: $50,000
  • Phương pháp Cornell: Chia làm 3 phần (dạng kẻ bảng),này mình cũng có sài, hay viết trên excel, nhưng cũng ít chứ không nhiều.
    • Phần 1: Bên trái: Kiểu như ghi từ khoá/ý chính
    • Phần 2: Bên phải: Ghi chi tiết nội dung (dạng tóm tắt)
    • Phần 3: Ghi tóm tắt toàn bộ nội dung (mình ít khi viết phần này lắm :v)
    • Từ khoá/Ý chính Ghi chép chi tiết
      Yêu cầu hệ thống
      • Hỗ trợ đa ngôn ngữ
      • Tích hợp với CRM hiện tại
      • Người dùng cần quyền truy cập hạn chế
      Thời hạn & Ngân sách
      • Thời hạn 3 tháng
      • Ngân sách $50,000Ví dụ:
         

      Tóm tắt: Dự án yêu cầu hệ thống đa ngôn ngữ, tích hợp với CRM, và phải hoàn thành trong 3 tháng với ngân sách $50,000.

  • Phương pháp sài mindmap: Mình cũng ít sài mấy này lắm 😀 Nhưng share cho bạn biết, có thể phù hợp với bạn.
    • 5 mind map types popular with teams

4. Kỹ năng gathering requirements

Kiểu các kỹ năng, techniques, hiểu các bước cần thực hiện để làm sao đó Gathering requirements một cách hiệu quả.

Gathering ở đây không phải là “Lấy”, mình cũng không biết dịch sao cho hợp lý, kiểu như bạn phải đi thu thập nhưng không phải nó có sẵn mà bạn phải nỗ lực để khơi gợi, làm việc, trao đổi, phân tích thì mới có được.

Sẽ có 1 bài viết về phần này kỹ hơn ở sau, bạn tìm đọc trong chuỗi bài viết của mình nhé.

5. Kỹ năng Thinking & Visualize

  • Tư duy phân tích: Phân tích từ vấn đề phức tạp thành những vấn đề nhỏ hơn, để tìm ra được giải pháp.
  • Tư duy phản biện: Kiểu hỏi, tự phản biện, đánh giá và phân tích thông tin một cách khách quan để đưa ra quyết định sáng suốt.
  • Tư duy hệ thống: Khả năng hiểu và phân tích một ván đề một cách hệ thống, hơi thiên kiểu như A thì dẫn đến B, Rồi B lại ra 2-3 trường hợp C1, C2, C3, …
  • Creative thinking: Kiểu tư duy sáng tạo, bạn nghĩ ra cái mới, hoặc tìm ra cách tiếp cận mới mẻ (innovation) để giúp cho dự án đi tới được mục đích một cách hay hơn, không đi theo khuôn khổ.
  • Tư duy hình dung/mô hình hoá dữ liệu (Visualize): Kiểu như từ một bài toán, mọi người nói và chia sẻ, nhưng những thông tin đó khó hình dung => Ta đưa nó về 1 dạng visualize. Như mình thì mình hay vẽ wireframe, takenote trên đó, vẽ userflow, hoặc modal overview, hoặc là diagram để cấu trúc lại nội dung sau đó dùng nó để phân tích, điều chỉnh thêm.
  • Tư duy vẽ bức tranh toàn cảnh: Mình hay phân tích vẽ đi từ bức tranh toàn cảnh vào, lúc nào cũng vẽ các thành phần của hệ thống, cách chúng kết nối, sau đó mới đi vào chi tiết hơn.

6. Kỹ năng viết docs/tài liệu

Bao gồm việc vẽ sequence, activity diagram, Usecases, User story, UML, BRD, URD, SRS, …

Kể cả việc vẽ wireframe, mockup, đôi lúc là UI design

Bạn đọc bài: https://hoangphan.blog/thuc-tap-it-business-analyst-can-nhung-ky-nang-gi/ để kỹ hơn phần này nhé.

7. Hiểu biết về Công nghệ và hệ thống

Như số 5, bạn đọc thêm trong bài viết mình đã viết trước đó nhé.

Không phải là kiểu bạn cái gì cũng biết, như code bạn không cần biết code giỏi, nhưng ít nhất biết cách hệ thống/code nó hoạt động, ví dụ đang phân tích tính năng “Calendar” cho chọn range ngày A=>B, mà nó yêu cầu animation các kiểu, thì bạn cũng cần biết ít nhiều để mà biết chắc là cái này Dev làm được chứ không đưa ra 1 tính năng mà Dev chả làm được, hoặc tốn rất rất nhiều thời gian, kinh phí.

Như mình thì từ dân Dev ra, trước cũng code được sơ sơ nên giờ phần đó khá lợi thế với mình, kiểu mình có thể ước chừng tính năng mất khoảng bao lâu thì xong nếu Dev đang ở level nào, làm được tính năng đó hay không? Hay thậm chí đi tìm code mẫu gửi cho dev luôn.

Hoặc kiểu như giờ các dự án dính tới vụ API khá nhiều => cần có kiến thức để mà đi đọc docs của đối tác, xem bên mình tích hợp được không? nếu tích hợp được thì luồng như thế nào.

8. Kỹ năng tư duy, chiến lược

  • Tư duy chiến lược: Khả năng nhìn nhận các vấn đề kinh doanh từ góc nhìn chiến lược, đảm bảo rằng các giải pháp được đề xuất không chỉ giải quyết các vấn đề trước mắt mà còn hỗ trợ mục tiêu dài hạn của doanh nghiệp.
  • Tư duy hệ thống: Hiểu biết về cách các yếu tố trong hệ thống công nghệ và kinh doanh tương tác với nhau, và cách các thay đổi trong một phần của hệ thống có thể ảnh hưởng đến toàn bộ hệ thống, hoặc ảnh hưởng 1 phần => từ đó nhắc Dev, QC chú ý tới để tránh xảy ra lỗi.

9. Hiểu biết chút về UI/UX

  • Biết cách vẽ wireframe, biết cách cấu trúc (layers), dùng các phần mềm vẽ như Figma, Axure, Balsamiq đồ.
  • Biết chút về WCAG để khi mà UI vẽ ra, mình test được, tránh phạm quá lỗi này.
  • Khi vẽ wireframe, thì không phải vẽ riêng biệt các screens, mà kiểu vẽ rồi link chúng nó lại với nhau, nhấn nút nào thì điều hướng tới đâu, đó là 1 phần của User Flow, UX, nên bạn có hiểu biết về UX để khi vẽ tối ưu được luồng, biết cách đặt button đâu cho hợp lý… Đôi lúc còn biết kiến thức mà cãi lại UI/UX team nữa :v mình hay vậy lắm, kkk. Đùa thôi!!! Tuỳ trường hợp.

10. Hiểu biết về Business/Domain

😀 Ví dụ làm BA Banking, thì bạn phải hiểu nghiệp vụ về Bank, làm bảo hiểm thì phải biết bảo hiểm là gì, nó thường có những tính năng gì, hoạt động ra sao,…

Này chắc không cần giải thích gì nhiều. … 😀

Ngoài ra bạn cũng hiểu thêm chút về tài chính, kiểu như khi build hệ thống nên biết về cách hệ thống làm ra tiền, hệ thống nào build chả support cho việc làm ra tiền đúng không? Hoặc kiểu giống như ảnh hưởng tới tài chính/business á => hiểu biết thì sẽ giúp bạn hiểu cái gốc rễ của việc làm ra hệ thống hơn => đưa những solutions hợp lý, chứ k thể nghe sao là làm vậy, BA phải tư duy lên.

11. Các kỹ năng khác

Mình nghĩ IT BA không chỉ dừng lại là cần những kỹ năng mình kể trên đâu, mà nó cần phối hợp nhiều kỹ năng khác nữa…

Mình chỉ kể 1 phần, trong quá trình làm việc các bạn có thể nhận ra thêm nha.

 

Bạn tìm và đọc tiếp những bài tiếp theo của mình nhé. 

Tại sao bạn muốn làm IT Business Analyst

Qua 2 bài viết đầu và đã hiểu IT Business Analyst là gì?, Vai trò của IT Business Analyst thì bạn đã hiểu phần nào về những gì công việc BA sẽ làm. 

Cũng chính vì có rất nhiều bạn nhắn tin và hỏi mình dạy về IT BA, mình hỏi ngược lại “Tại sao muốn làm BA?” nhiều bạn trả lời rất ngập ngừng, mình cảm giác như các bạn biết tới vì nhiều bài trên mạng đăng giới thiệu về BA sơ qua, chưa hiểu rõ cốt lõi của công việc BA, hoặc nghe lương cao … nên chuyển qua làm.

Mình có search trên google về chủ đề này =)) mà thấy toàn quảng cáo cho IT BA, kiểu như “Tại sao bạn nên làm IT BA”, mình thì không thích làm vậy lắm, chủ yếu là muốn những bạn nghĩ tới việc làm IT BA thì nên tìm hiểu kỹ về nghề IT BA, tự thấu hiểu bản thân => Chọn hướng đi cho đúng.

Nên bài này chính là một bài mình viết ra những câu hỏi để các bạn tự hỏi lại bản thân xem thử là

Tại sao bạn muốn làm IT Business Analyst?

Các câu hỏi để bạn tự hỏi bản thân và từ đó tự trả lời cho câu hỏi “Tại sao bạn muốn làm IT Business Analyst?”

  • Bạn có thực sự hiểu về công việc của một IT BA hay chỉ bị thu hút bởi những lợi ích như lương cao hoặc cơ hội thăng tiến? => BA không phải dễ như bạn nghĩ
  • Bạn có nghĩ BA dễ làm hơn ngành khác không? Hoặc kiểu thấy nó dễ hơn vị trí khác trong ngành IT => muốn làm
  • Bạn có thấy làm IT BA ít áp lực và công việc nhẹ nhàng hơn so với các vị trí công việc khác đúng không? Như mình thì mình thấy đúng =)) Vì mình thích và cảm giác như mình đang đi đúng, nhưng mình nghĩ với những bạn khác thì không phải như vậy, mình từng đưa bài toán hơi khó 1 tíu thôi, thấy những bạn BA đó làm mà bảo muốn nản luôn…. Nên ở góc nhìn của bạn cũng chưa chắc là đúng => Tìm hiểu kỹ, nghe những người từng làm kể đã.
  • Bạn có thích làm về công nghệ không? => Làm IT BA buộc phải làm liên quan đến công nghệ.
  • Bạn thực sự đã hiểu về tất cả những công việc IT BA sẽ làm chưa? => Chưa hiểu thì phải tìm hiểu thật là kỹ để biết và làm
  • Bạn có thích giao tiếp và làm việc với nhiều người từ các bộ phận khác nhau không? => Phải thường xuyên trao đổi, họp hành, khi lên vị trí cao hơn, việc họp còn nhiều hơn thời gian ngồi phân tích và viết tài liệu nữa, chưa kể thường được/bị người này người kia hỏi nghiệp vụ
  • Bạn có khả năng tự tìm hiểu một thông tin mới không? => BA là người đi tìm hiểu, nghiên cứu, có kiến thức rộng để đưa ra những giải pháp phù hợp => Phải luôn trong tâm thế tìm hiểu và học hỏi, đặc biệt là tự tìm hiểu.
  • Bạn có khả năng tự học không? Tìm hiểu để học kỹ năng mới=> Có những dự án rất rất mới, không có ai chỉ cho bạn, mà bạn lại là người đi đầu trong dự án => bạn phải có khả năng tự học, tự tìm hiểu, tự suy luận để có những kiến thức mới phù hợp với dự án. Chưa kể công nghệ thay đổi liên tục, buộc người làm trong lĩnh vực IT phải luôn cập nhật cái mới để tìm ra cái phù hợp nhất trong từng giai đoạn.
  • Bạn có khả năng truyền đạt ý tưởng và thông tin phức tạp một cách rõ ràng, dễ hiểu không? => Thật ra câu hỏi này thì mang tính tương đôi, bạn có thể trao dồi thêm trong quá trình học và làm BA, nếu đã có rồi thì tốt, chưa có thì nên học, làm nghề, ngành nào cũng cần cái này.
  • Bạn đã có kiến thức nền tảng về IT chưa? => Nên trao dồi và nắm các kiến thức cơ bản trước khi vào làm, đừng mộng tưởng việc học xong 1 khoá học là có thể đi làm, cũng sẽ có công ty chấp nhận ấy, nhưng… làm việc thiếu kiến thức IT thì sờ chét lắm nhoa, và cũng khó lên ví trị cao được => Bạn đang làm/định hướng làm IT BA mà.
  • Bạn có sẵn sàng đối mặt với thách thức mới /dự án khó không? => Thường thì cũng có rất nhiều dự án dễ, nhưng cũng không thiếu những dự án trung bình và khó, như mình chỉ nghe 1 đề bài đơn giản là “Xây dựng hệ thống tối ưu lợi nhuận” và từ mỗi câu đó, và một số dự án tương tự => Mình phải tự xâu chuỗi, tự chiến, kiểu đôi lúc vô thế bí không biết làm gì tiếp, mà cũng không có ai để hỏi, sờ chét cực kì => Phải có những kỹ năng bóc tách, tìm ra vấn đề gốc rể và cách xử lý từng phần nhỏ, cũng như chịu được áp lực cao thì mới ra được một phân tích hệ thống đầy đủ và hợp lý với yêu cầu được.
  • Bạn kỳ vọng gì về sự nghiệp IT BA? (Thăng tiến, mức lương, sự ổn định, cơ hội học hỏi,…)
  • Bạn có sự kiên nhẫn không? => Đôi lúc đợi KH rep, hoặc kiểu yêu cầu 1 cái gì đó từ các bên mà không được hỗ trợ, hoặc bị gây khó dễ nữa => Bạn chịu được không?
  • Bạn có thích viết không? Thực tế thì việc viết docs cũng chiếm kha khá thời gian cho những bạn mới vào làm BA => nên cảm giác khúc đầu mới đi làm chả phân tích gì mấy, thời gian chính toàn viết docs
  • Bạn có linh hoạt, và chịu được sự môi trường thường xuyên thay đổi không? => Làm BA thì phải linh hoạt, đôi lúc đổi xoành xoạch ấy
  • Có vài câu chuyện liên quan đến BA bị Dev, QC, KH chèn ép, kiểu ở giữa bị mọi người gây sức ép ấy => Bạn chịu được không?
  • Bạn làm IT BA có phải là kế hoạch dài hạn không? Hay chỉ là 1 bước đệm để lên 1 vị trí khác?
  • Có kế hoạch phát triển sự nghiệp chưa?
  • Liệu do IT BA đang “hot” nên nhảy qua, hay thật sự thích làm IT BA?
  • Bạn chuyển việc => Vậy bạn có sẵn sàng bỏ kha khá kinh nghiệm cũ để qua làm IT BA để bắt đầu một sự nghiệp mới không?
  • Bạn có khả năng/thói quen tự hỏi bản thân không? => Kinh nghiệm của mình là thường khi phân tích, tự hỏi bản thân là 1 kỹ năng vô cùng quan trọng trong việc tìm ra được giải pháp đó….
  • Bạn có thích việc gì cũng tới tay mình không? => Tuỳ công ty, nhưng mình thấy kha khá bạn làm BA, trong đó có cả mình. Kiểu như việc gì cũng tới tay, bạn có khả năng chịu được áp lực, làm nhiều đầu việc cùng 1 lúc như vậy không? HOặc kiểu multitasking, bị nhiều người làm phiền ấy…. Như mình là vừa làm (công việc của) Project Manager, Product Manager, 50% việc của UI Design, UX design, BA, PO, QC Lead, hỗ trợ khách hàng (CS), thậm chí đôi lúc là Graphic design, … có khi sắp tới là code luôn =)).
  • Bạn có nói chuyện với mấy người làm IT BA chưa? Có hỏi họ về kinh nghiệm đi làm, nghe những câu chuyện trong ngành chưa? => Tham gia thử group trên tele của mình để đọc thử nhé: https://t.me/businessanalystvietnam
  • Xung đột giữa các bên (giữa các khách hàng, stakeholders với nhau, giữa dev, QC,…) liệu bạn có thích xen vào và xử lý không? => Thực tế không phải là thích hay không? Mà là tuỳ tình huống bạn nên tham gia vào để giải quyết, đôi lúc đó là 1 phần công việc của bạn
  • Bạn có nhút nhát khi đưa ra ý kiến cá nhân không? => Làm BA không phải là nghe răm rắp theo người khác, mà bạn phải tự nhận định đúng sai, đôi lúc bạn phải định hướng, bản thân đưa ra quyết định, solution và giải thích, thuyết phục người khác => Do đó nếu bạn thấy nhát khi phải đối chấp, thảo luận, tranh luận với người khác,… thì bạn nên học cách để có thể làm được nhé. Như hiện tại với mình, C-level của công ty mình hay của đối tác, việc mình thảo luận thẳng thắn, chỉ ra cái sai, đưa ra giải pháp là chuyện bình thường, mà mình cũng đã làm điều này từ những năm đầu tiên đi làm rồi, nhưng lúc đó chưa đủ trình để được nói chuyện trực tiếp với C-level thôi.

Cũng nhiều câu hỏi rồi đó, bạn hãy đọc và tự trả lời cho bản thân => từ đó rút ra được câu trả lời phù hợp, xem thử mình thực sự thích IT BA và muốn làm không nhé…

 

Bạn quay lại danh sách bài viết để xem bài tiếp theo nhé: https://hoangphan.blog/tu-hoc-business-analyst/

Vai trò IT Business Analyst

Bài thứ 2 trong chuỗi bài tự học IT Business Analyst của Hoàng Phan Blog

Vai trò của Business Analyst

Như cách bạn đọc hiểu về khái niệm BA và IT BA ở bài trước, ta có thể thấy vị trí IT Business Analyst đóng một vai trò quan trọng trong các dự án phát triển phần mềm, và cải tiến quy trình. Là một trong những cầu nối cực kì quan trọng giữa bộ phận kỹ thuật và kinh doanh, đảm bảo rằng các giải pháp được phát triển phù hợp với nhu cầu doanh nghiệp và các bên liên quan.

Vai trò của IT Business Analyst Hoàng Phan Blog
Vai trò của IT Business Analyst Hoàng Phan Blog

1. Thu thập và quản lý yêu cầu:

  • Thu thập yêu cầu: Làm việc với các stakeholders (bên liên quan) từ đó xác định được mục tiêu, yêu cầu từ họ thông qua các việc thực hiện như: phỏng vấn, khảo sát, hội thảo, đọc tài liệu hiện có, ….
  • Xác định và làm rõ yêu cầu: Phân tích và làm rõ yêu cầu, làm sao mà ta hiểu đúng và đầy đủ những yêu cầu đó. Từ đó dự vào kinh nghiệm và kiến thức cá nhân để chuyển đổi thành các yêu cầu về kỹ thuật, đảm bảo rằng đội ngũ dự án có thể thực hiện chúng một cách hiện quả ở bước transition.
  • Quản lý các yêu cầu: Thường có nhiều sự thay đổi, do đó cũng cần viết lại để quản lý, cũng như đưa ra sự ưu tiên cho từng yêu cầu, đảm bảo sao đó đáp ứng được trong sản phẩm release ra cuối cùng.

2. Phân tích quy trình

  • Hiểu về quy trình hiện tại: BA cần hiểu về quy trình, nghiệp vụ hiện tại của vấn đề/doanh nghiệp
  • Xác định và tìm phương án cải tiến: Xác định vấn đề và các cơ hội để cái tiến trong quy trình. Làm sao đó có thể giảm chi phí, tăng hiệu quả, mang lại giá trị cho doanh nghiệp.

3. Đề xuất giải pháp

  • Đề xuất giải pháp: Dựa trên yêu cầu đã thu thập được, khơi gợi, phân tích để đề xuất nhưng giải pháp phù hợp. Giải pháp có thể là phần mềm mới, cải tiến quy trình, thay đổi chiến lược, làm thêm tính năng, điều chỉnh tính năng,…
  • Đánh giá giải pháp: BA đánh giá các giải pháp dựa trên nhiều tiêu chí như: chi phí, lợi ích, rủi ro, tính khả thi => đưa ra giải pháp tốt và phù hợp nhất.

4. Xây dựng và trình bày tài liệu

  • Tạo tài liệu yêu cầu: BA chịu trách nhiệm tạo ra các tài liệu chi tiết như: Business Requirement Document (BRD) – Tài liệu yêu cầu kinh doanh, nghiệp vụ, User Requirement Document (URD) – Tài liệu yêu cầu người dùng, Software Requirements Specification (SRS) – Tài liệu yêu cầu phần mềm, Functional Requirement Specification / Functional Specification Document (FRS/FRD) Tài liệu yêu cầu chức năng, Các loại như Use Case, User Stories, Product Vision,…
  • Tài liệu hỗ trợ việc test: Checklist, Testcases, Testplan.
  • Trình bày giải pháp: BA trình bày các giải pháp đề xuất và các tài liệu yêu cầu cho các bên liên quan để đảm bảo rằng mọi người đều hiểu rõ và đồng ý với những gì sẽ được thực hiện. Việc này kiểu đi xuyên suốt quá trình phát triển, Dev hỏi, QC hỏi, Sếp hỏi, Khách hàng hỏi,… BA trả lời thông tin nghiệp vụ.

5. Hỗ trợ kiểm thử

  • Việc này BA cũng có phần đó nha =)), thường thì việc test sẽ nằm trong tay QC, nhưng BA cũng là người tham gia vào, đôi lúc sẽ xem thử khi lên thực tế sản phẩm thì có cần điều chỉnh gì không => từ đó điều chỉnh yêu cầu cho hợp lý
  • Test để xem thử giải pháp được phát triển có đúng yêu cầu đã đề ra hay không.
  • Tham gia viết Checklist, testcases, kiểm thử chấp nhận người dùng (User Acceptance Testing – UAT) => đi kèm với việc report bugs

6. Hỗ trợ thiết kế

  • BA cũng tham gia vào giai đoạn thiết kế (tuỳ công ty), thường BA là người tìm hiểu khá kỹ về nghiệp vụ, và luồng hệ thống chạy => có thể đề xuất các liên kết giữa các màn hình (User Flow)
  • Tham gia review & đánh giá thiết kế cùng với đội ngũ UI để xem đã meet requirements hay chưa.
  • Đề xuất giải pháp phù hợp để phụ trợ thêm cho đội ngũ UI/UX trong việc thiết kế giao diện và luồng người dùng.

7. Quản lý thay đổi

  • Dĩ nhiên quá trình phát triển phần mềm luôn có sự thay đổi ít nhiều, có thể xuất phát từ các stakeholders, hoặc từ chính BA thấy chưa hợp lý và đề xuất thay đổi => Cần quản lý thay đổi một cách hệ thống và không ảnh hưởng tiêu cực đến tiến độ, cũng như chất lượng dự án.
  • Đảm bảo sự đồng thuận: Thay đổi => Thì phải đề xuất => Rồi có sự đồng thuận từ nhiều bên => Áp dụng việc thay đổi, đôi lúc có những thay đổi tác động tới các bên khác và các dự án khác => cũng cần làm việc để việc thay đổi không ảnh hưởng quá nhiều hoặc có nhiều thì các bên đều xử lý tốt để mang tới 1 kết quả chung tốt nhất có thể.

8. Tạo cầu nối giữa các bên.

  • Truyền đạt thông tin: BA đóng vai trò là cầu nối giữa các bộ phận kinh doanh, các bên liên quan và kỹ thuật, đảm bảo rằng các yêu cầu và mục tiêu của doanh nghiệp được truyền đạt rõ ràng và chính xác đến nhóm phát triển.
  • Giải quyết xung đột: BA giúp giải quyết các xung đột giữa nhu cầu kinh doanh và khả năng kỹ thuật, đảm bảo rằng giải pháp cuối cùng phù hợp với cả hai bên.

9. Hỗ trợ triển khai

  • Thường giai đoạn triển khai, BA sẽ hỗ trợ trong việc đào tạo người dùng, viết tài liệu hướng dẫn, đôi lúc còn phải đi cài cắm nữa cơ 😀 

10. Đánh giá hiệu quả giải pháp

  • Đánh giá sau khi triển khai: Sau khi giải pháp được triển khai, BA đánh giá hiệu quả của nó so với các mục tiêu ban đầu. Họ thu thập phản hồi từ người dùng, phân tích dữ liệu hiệu suất, và xác định liệu giải pháp có đáp ứng được kỳ vọng hay không.
  • Đề xuất cải tiến: Nếu cần thiết, BA đề xuất các cải tiến hoặc điều chỉnh để tối ưu hóa giải pháp hoặc giải quyết các vấn đề phát sinh sau khi triển khai.

Kết luận

IT Business Analyst đóng một vai trò rất quan trọng trong quy trình phát triển phần mềm, giúp việc thực hiện phân tích, triển khai dự án trơn tru và đúng yêu cầu, nhưng có thể trong công ty bạn hoặc đội phát triển của bạn không có ai có title là “Business Analyst”, vậy thì hãy tìm hiểu thêm các bài phía sau để hiểu vì sao nhé.

 

Bạn quay lại danh sách bài viết để xem bài tiếp theo nhé: https://hoangphan.blog/tu-hoc-business-analyst/

IT Business Analyst là gì? Hoàng Phan Blog

Bài viết đầu tiên trong chuỗi tự học Business Analyst của Hoàng Phan. Blog.

Giới thiệu

Mấy năm gần đây ngành “IT Business Analyst” được tìm kiếm nhiều hơn, đi đâu cũng nghe bàn luận về việc tìm hiểu và làm BA. Bạn bè mình cũng hỏi thăm khi biết mình làm việc ở vị trí BA, cũng có bạn đã chuyển qua làm với mức lương khá ổn hơn nhiều so với công việc hiện tại của các bạn.

Nhớ năm 2017 mình mới đi làm và lúc đó ở công ty mình lúc đó vị trí BA chỉ dành cho mấy anh đã có rất rất nhiều năm kinh nghiệm, thế mà qua sau 1-2 năm sau, nhiều bạn dù chưa có kinh nghiệm vẫn làm được, và cũng như công việc BA được chia nhỏ tasks hơn, khó thì người có kinh nghiệm làm, các công việc còn đơn giản, dễ, thì giao cho các bạn mới tập tành vào nghề. Thế là nó trở nên phổ biến như bây giờ.

IT Business Analyst là gì? Hoàng Phan Blog
IT Business Analyst là gì? Hoàng Phan Blog

IT Business Analyst là gì?

IT Business Analyst (hay được gọi là Chuyên viên phân tích nghiệp vụ IT), là một trong những vai trò trong các dự án công nghệ thông tin và xây dựng phần mềm.

Nhiều bạn thì hay định nghĩa BA là:

  • Người phiên dịch
  • Là người làm Document cho dự án
  • Là cầu nối, giao tiếp giữa các bên (Dev team, Stakeholders, khách hàng,…)

Vậy giờ bóc tách từ cái tên IT Business Analyst ra để xem nhé.

  • IT: Information Technology (Công nghệ thông tin)
  • Business: thường được học là Kinh doanh, nhưng trong ngữ cảnh này còn có nghĩa là “Nghiệp vụ”
  • Analyst: là chỉ người làm những công việc liên quan đến nghiên cứu, tìm hiểu rõ hơn, đưa ra giải pháp, dự đoán,… Dịch tiếng Việt là “Người làm phân tích”

Do đó người làm IT Business Analyst là người làm công việc liên quan đến NGHIÊN CỨU, TÌM HIỂU, PHÂN TÍCH, LÀM RÕ, đưa ra GIẢI PHÁP, và những công việc đi theo như Họp hành, viết tài liệu (tài liệu hoá), truyền đạt thông tin, quản lý các yêu cầu, hỗ trợ triển khai, …

Những phần ở trên mình tập trung nói sâu về công việc IT BA, còn riêng Business Analyst (BA) thì nó hiện diện ở khắp mọi nơi.

Miễn sao người làm những công việc đó tìm ra được “Need” (nhu cầu, yêu cầu thực sự) để đưa ra được những Solution (giải pháp) và mang lại những giá trị cho doanh nghiệp, cá nhân, tổ chức, những bên liên quan (stakeholders). Bạn đọc khái niệm về Business Analysis (Việc/tasks mà Business Analyst sẽ làm) từ cuốn BABOK v3.

Business analysis is the practice of enabling change in an enterprise by defining needs and recommending solutions that deliver value to stakeholders. (BABOK v3)

Thường thì cái “need” này cũng là một từ khoá, khi mà chính những người/doanh nghiệp đưa ra yêu cầu nhưng họ cũng không biết họ muốn thực sự là gì, thường yêu cầu khá chung chung => đó đó người làm việc này (BA) phải phân tích, sử dụng các kỹ thuật khác nhau để tìm ra Need và chỉ ra cho họ thấy.

Quy trình Business Analysis

Và thường thì BA sẽ làm theo quy trình sau, và IT BA cũng áp dụng quy trình này luôn

Quy trình Business Analyst - Hoàng Phan Blog
Quy trình Business Analyst => Tìm ra need
  • Thường thì bắt đầu từ Business Requirements (Yêu cầu về nghiệp vụ)
    • Cần trả lời được câu hỏi là “tại sao tôi muốn điều này?
    • Điều này chính là các vấn đề mà doanh nghiệp đang gặp phải và có một mục tiêu cần giải quyết.
    • Cần xác định rõ là cần thay đổi hoặc thực hiện một giải pháp nào đó để mang lại giá trị cho doanh nghiệp ví dụ như tăng doanh thủ, giảm chi phí, cải thiện hiệu quả công việc,…
  • Stakeholder requirements
    • Cần trả lời câu hỏi là “Yêu cầu từ các bên liên quan là gì?
    • Từ việc biết được mục tiêu cần giải quyết, BA sẽ làm việc với các bên liên quan để hiểu rõ nhu cầu và mong muốn của họ.
    • Stakeholder thì có thể là khách hàng, người dùng cuối (enduser), các nhà quản lý, các đội hỗ trợ, đội nghiệp vụ của công ty,…
  • Solution requirements
    • Cần trả lời câu hỏi “Tôi muốn gì?
    • Từ yêu cầu và mong muốn của stakeholders, BA sẽ tìm ra các giải pháp cụ thể để đáp ứng những yêu cầu của họ, gồm những yêu cầu về chức năng, phi chắc năng.
    • Solutions có thể bao gồm: tính năng, hành vi/cách hoạt động/User flow của hệ thống, hiệu suất, tiêu chuẩn bảo mật, …
  • Transition requirements
    • Cần trả lời câu hỏi “Điều kiện là gì?
    • Khi đã có giải pháp thì bắt đầu xây dựng và triển khai, cần xác định những điều kiện như đội ngũ phát triển, phát triển trong bao lâu, những ai tham gia vào, cần làm những gì?, kiểm thử, cơ sở hạ tầng,… để làm sao đó mà giải pháp được áp dụng tốt vào thực tiễn, giúp cho việc chuyển từ trạng thái hiện tại của doanh nghiệp sang trạng thái mới mong muốn trong tương lai (nhờ áp dụng giải pháp).
  • Và dĩ nhiên khi triển khai cũng cần phải đánh giá lại kết quả, chứ không phải làm 1 lần là xong, do đó mà có “Assess outcomes” ở trên mũi tên cuối.
    • Đánh giá để đảm bảo các yêu cầu ban đầu đã được đáp ứng Business Requirements chưa?
    • Và tiếp đó sẽ có những vấn đề, yêu cầu mới phát sinh ra => quay lại bước quy trình để điều chỉnh và cải thiện để đáp ứng tốt nhất yêu cầu từ doanh nghiệp.
    • Các dự án được làm ra luôn cần được điều chỉnh, thay đổi theo thời gian để phù hợp với những yêu cầu về nghiệp vụ/kinh doanh của doanh nghiệp theo từng giai đoạn.

Một ví dụ vui về giải pháp

Ví dụ vui về giải pháp Business Analyst
Ví dụ vui về giải pháp Business Analyst

Một ví dụ về việc làm BA trong cuộc sống hằng ngày:

Ngày mai anh em phải làm việc tại nhà, nhưng ở khu vực nhà bạn lại có lịch cúp điện, mà công việc cần xử lý ngay, vậy nếu theo như Quy trình Business Analysis chúng ta sẽ làm như sau:

  • Xác định Business Requirements (mục tiêu): Hoàn thành công việc một cách hiệu quả kể cả khi cúp điện.
  • Một số giải pháp (solutions) mà có thể có:
    • Tranh thủ tối nay làm việc trước hoàn thành sớm và báo công ty mình làm việc trước như vậy
    • Di chuyển ra quán cà phê nơi có điện để làm việc
    • Sử dụng pin laptop + phát 4G từ điện thoại và tranh thủ hoàn thành việc thời thời gian sử dụng PIN.
    • Sử dụng pin dự phòng
  • Các bên liên quan:
    • Công ty và Khách hàng: Chờ nhận kết quả công việc từ bạn, bạn phải chịu trách nhiệm khi không hoàn thành công việc đúng hẹn
    • Các thành viên trong đội ngũ làm việc cùng bạn, cần bạn làm việc cùng khung giờ để hỗ trợ nhau, cập nhật thông tin hoặc công việc có liên quan.
    • Bản thân bạn: xong công việc còn đi cà phê với bạn đúng 8g tối,… hoặc tránh mất uy tín vì trễ hẹn công việc,…
  • Chọn giải pháp phù hợp với các stakeholders và tuỳ trường hợp:
    • Thời gian cúp điện ngắn => Có thể dùng pin laptop để hoàn thành công việc
    • Cúp điện dài => Đi ra quán cf cho chắc, hoặc qua nhà bạn, qua co-working, hoặc lên công ty :v 
    • Nhà có sẵn máy phát điện, pin dự phòng => Sử dụng máy phát điện, pin dự phòng và làm tại nhà
    • Buộc phải ở nhà trông con => Thuê máy phát điện chẳng hạn để làm việc tại nhà và vừa có thể trông con, hoặc dẫn con tới co-working space/coffee để vừa trông con vừa làm.
    • Buộc phải làm cùng lúc với mọi người trong công ty để hỗ trợ qua lại => Không nên làm trước, hoặc làm trước 1 phần và cần đi ra nơi có điện để online và làm việc trong suốt thời gian mọi người khác trong công ty đang làm.
  • Transition:
    • Tuỳ theo giải pháp phù hợp nhất => Thực hiện cho phù hợp.
    • Ví dụ chọn làm việc trước: Chuẩn bị danh sách công việc, thời gian bao lâu để hoàn thành, sức khoẻ đảm bảo, báo trước cho công ty,…
    • Ví dụ chọn di chuyển đến nơi có điện: Thì cần chuẩn bị và mang theo thiết bị cần thiết, chuẩn bị hoặc tính phương án ăn uống cho phù hợp
    • Ví dụ chọn sử dụng pin điện thoại, laptop: Thì sạt đầy pin, tối ưu hoá việc sử dụng pin, giảm độ sáng màn hình
    • Ví dụ chọn sử dụng máy phát điện: Cho chạy máy trước và kiểm tra kết nối điện, mua xăng hay nhiên liệu để chạy được trong khung thời gian cần có điện,…

Một ví dụ về công việc IT BA trong làm phần mềm.

Mình đang có trung tâm tiếng Anh, hiện tại hệ thống quản lý khoá học, lớp học đã có học viên, giáo viên, khoá học nào, học bao nhiêu buổi.

Hiện tại khi mà có học viên đăng ký học, ví dụ 32 buổi học, thì người quản lý lớp học sẽ thêm vào trong hệ thống từng buổi học một, rất tốn thời gian dù đã biết trước lịch học vào những thứ mấy, khung giờ nào trong 1 tuần, có được lịch của giáo viên với học viên này rồi.

Do đó ta có thể phân tích và tìm ra giải pháp như sau:

  • Xác định Business Requirements (mục tiêu): Có thông tin về khoá học, người quản lý giảm thiểu thời gian thêm các buổi học vào hệ thống.
  • Các bên liên quan:
    • Người quản lý lớp học, có thông tin cơ bản về khoá học và muốn giảm thời gian thêm dữ liệu vào hệ thống
    • Giáo viên: Cung cấp danh sách các buổi trống có thể dạy học viên, xem được danh sách các buổi học có trước.
    • Học viên: Cung cấp lịch học, xem được buổi học tiếp theo.
  • Một số giải pháp (solutions) mà có thể có:
    • Viết công thức trên file excel, và tạo ra danh sách các buổi học, copy và bỏ vào trường nhập dữ liệu, hệ thống thêm các buổi đó vào db và hiển thị lên cho từng role sử dụng hệ thống
    • Có 3 trường dữ liệu gồm nhập giáo viên, nhập học viên, nhập lịch học theo tuần, số buổi học => nhấn nút và hệ thống tự chạy.
    • Thuê thêm người vào phụ.
  • Chọn giải pháp phù hợp với các stakeholders:
    • Thêm dữ liệu trên excel, thì việc cập nhật lịch của giáo viên phải bị x2 lần khi nhập cả ở excel và hệ thống, người quản lý cũng phải nhập thông tin và quản lý file excel, cũng như hệ thống bị tách rời, và cũng cần build logic cho việc thêm lớp
    • Thêm dữ liệu trên hệ thống thì giáo viên cập nhật dữ liệu 1 lần, người quản lý có thông tin toàn bộ trên hệ thống, điền vào và chạy, nhưng việc develop tính năng sẽ có chút phức tạp và tốn chi phí hơn, và chi phí này cần xem xét có phù hợp với chi phí trung tâm có thể cho phép làm không? => Có
    • Thuê thêm người phụ thì chi phí sẽ không chi nhiều ngay lúc đầu, nhưng về lâu về dài chi phí khá cao so với việc xây dựng hệ thống, cũng như phức tạp hơn trong việc quản lý nhân sự
    • => Chọn phương án số 2, dữ liệu trên 1 hệ thống quản lý duy nhất, tốn chi phí xây dựng ban đầu hơi cao tíu nhưng nằm trong phần chi phí chấp nhận.
  • Transition:
    • Dự trù kinh phí
    • Phân tích các tính năng, cách hoạt động, logic, làm file hướng dẫn cho giáo viên nhập thông tin lịch rãnh, cấu trúc lại hệ thống DB cho phù hợp
    • Testing và triển khai
  • Đánh giá hiệu suất, kết quả sau khi triển khai.

 

 

Bạn Quay lại danh sách bài viết để xem bài tiếp theo nhé: https://hoangphan.blog/tu-hoc-business-analyst/