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.

IT Business Analyst sử dụng AI Artificial Intelligence) - Hoàng Phan Blog

Tiếp tục phần một “Ứng dụng AI trong công việc IT Business Analyst

Lời giới thiệu

Dưới đây là các task vụ trong BA/PO/PM mình đã áp dụng AI để thực hiện. Nhưng trước khi đọc phần này, bạn nhớ đọc phần 1 nhé, phần 1 là những nhận định cá nhân chung về các công cụ AI.

Viết user story và Acceptance Criteria

Role của mình cũng hay viết User Story, và việc xử dụng AI để viết và để viết hiệu quả mình thường sử dụng ChatGPT để thực hiện task vụ này.

Bạn có thể xem video dưới đây để hiểu cách viết nhé.

Link video: https://youtu.be/LY0DsQr3YSg

Và hướng dẫn viết Acceptance Criteria

Link video: https://youtu.be/ywGnz9i3ztw

Dĩ nhiên là với AC, bạn có thể viết theo syntax “GWT” Given When Then


Scenario 1: Successful Admin Login

Given an administrator is on the Shared Login Page for Teachers and Admins,
And the administrator has a valid Email and Password,
When the administrator enters the correct Email and Password,
And clicks the “Login” button,
Then the system should authenticate the administrator,
And redirect the administrator to the Admin Dashboard,
And display the Admin Dashboard interface.

Và từ đó suy ra Decision Table

Tip từ bản thân mình cho phần viết này là bạn hãy input thật rõ chi tiết về User story bạn muốn, hoặc add những idea bạn đã nghĩ ra cho phần User story và bảo AI bổ sung hoặc viết chỉnh chu hơn cho User Story.

Các bạn có thể đọc đoạn này cho phần ví dụ nhé: https://poe.com/s/QdDjRA6gk2rq5MX9S37m

Ngoài ra bạn hãy thử sử dụng: https://userstorygenerator.ai/ để viết nha.

Phụ viết rõ hơn về yêu cầu

Thường thì mình có idea về tasks, và cũng hơi hơi làm biết để làm chi tiết, hoặc cụ thể hoá theo 1 cách đầy đủ => Đây là cơ hội để nhờ AI hỗ trợ =))

Mình đưa ví dụ, bạn có thể tự áp dụng thêm nha.

Như ví dụ dưới đây mình có idea về làm tròn số và có nhiều trường hợp khác nhau, mình cứ mô tả theo cách mình hiểu.

Cuối cùng với những dòng mình viết kiểu khá dài dòng, AI có thể đọc hiểu và viết gọn lại cho mình => Thậm chí mình biết ae Dev đang dùng ngôn ngữ lập trình nào, mình copy mẫu luôn cho họ.

AI hỗ trợ viết lại yêu cầu rõ ràng và gọn hơn
AI hỗ trợ viết lại yêu cầu rõ ràng và gọn hơn

Hay ví dụ như viết checklist, testcase mình cũng mô tả rồi nhờ AI hỗ trợ làm rõ và viết ra các cases

AI hỗ trợ viết testcase/checklist
AI hỗ trợ viết testcase/checklist

Với trường hợp viết testcase như này, bạn cần input thật rõ business rule cho AI để nó viết cho đầy đủ, thậm chí bạn cũng phải suy luận, đọc và kiểm tra lại xem AI đã viết đủ và đúng chưa nữa.

Vẽ Diagram

Mình sử dụng kết hợp ChatGPT + Mermaid hoặc ChatGPT + Draw.io

Các loại biểu đồ mà ChatGPT có thể hỗ trợ gồm:

  • Flowchart => Tận dụng làm Activity Diagram luôn cũng được
  • State diagram
  • Grantt chart
  • Sequence Diagram (Mình hay sài nhất)
  • Class diagram
  • ERD
  • User Journey
  • Object Diagram

Mình thì hay sài Flow chart và sequence nhất, mấy loại khác thì mình hay sài kiểu khác hơn. Các bạn cứ thử mò và tìm cách sử dụng nhé, nhớ là tự mày mò => tìm được “AI Prompting” và sử dụng nó nhiều lần để thuần thục nhé.

Bước 1: Cứ nói chuyện với AI (Prompting), sau đó khi AI đã hiểu được bài toán => Bảo tạo ra diagram (với loại Mermaid), ví dụ: “Tạo sequence diagram cho tính năng đăng nhập của giáo viên, các actor trong hệ thống gồm: Teacher, UI, BE, AuthService, sử dụng syntax Mermaid”

Bước 2: Copy đoạn code được tạo ra từ AI, bỏ vào một trong những công cụ hỗ trợ view từ Code sang Diagram.

Sử dụng ChatGPT vẽ sequence diagram - Hoàng Phan Blog
Sử dụng ChatGPT vẽ sequence diagram – Hoàng Phan Blog
  • Mermaid Live Editor: https://mermaid.live/ => Cứ copy code và bỏ vào bình thường theo loại bạn muốn
Sử dụng Mermaid tạo diagram - Hoàng Phan Blog
Sử dụng Mermaid tạo diagram – Hoàng Phan Blog
  • Dùng Markdown, có thể sài trên github, visual studio code, thì trước đoạn code bạn bổ sung “`mermaid
  • Hiển thị trên draw.io thì bạn làm theo như hình dưới đây, sau đó paste code vào và nhấn lưu để hiển thị.
Sử dụng Draw.io và ChatGPT tạo diagram - Hoàng Phan Blog
Sử dụng Draw.io và ChatGPT tạo diagram – Hoàng Phan Blog

Mình hay sài Mermaid/Draw.io nên dùng cách này, các bạn cũng có thể sài những format khác như PlanUML, StartUML nhé.

Vẽ wireframe/mockup

Nói thật với các bạn là có nhiều người nhắn tin hỏi mình về AI để vẽ mấy wireframe/mockup, mà thực sự mình rất ít khi sài :D. Kiểu giống như là cả team mình sài Figma, xong rồi mình đi sài những công cụ khác để vẽ rồi copy qua, khi cần edit nó cũng bất tiện ấy.

Một phần là khi vẽ wireframe, rõ là bước này chính là bước Elicitation của mình luôn, hay đặt câu hỏi, phân tích tới đâu vẽ tới đó, vừa visualize ý tưởng lên cho dễ hình dùng khi phân tích

Chưa kể là mình vẽ wireframe khá là nhanh :v không tốn mấy thời gian, tốn là tốn thời gian ngồi suy nghĩ luồng nghiệp vụ sao cho hợp lý ấy.

=> nên mình hay sài công cụ https://excalidraw.com/, và figma bạn đọc bài viết này nhé.

Đọc thêm  Công cụ vẽ wireframe và diagram tuyệt vời mình tìm được cho Business Analyst.
Đọc thêm  Figma Professional miễn phí: Công Cụ Đắc Lực Cho Business Analyst

Còn cho những bạn tò mò và muốn thử nghiệm xem thử sài AI thì thử những công cụ mình liệt kê dưới đây nha.

  • Visily.ai (thiệt là mình chưa sài =)) mà thấy group nào cũng đề cập => Mình đưa vào list)
  • Miro: Có hỗ trợ AI vẽ diagram
  • Jeda.ai: https://www.youtube.com/shorts/ekdmMBXSP0Q?feature=share
  • Relume Library (on Figma): https://youtu.be/8eNnr6GPClU
  • UIZard.io:
  • Plugin Figma: https://www.figma.com/community/plugin/1355208994639626356/codia-ai-designgen-prompt-to-ui-for-website-landing-page-blog
  • https://uxpilot.ai/
  • https://creatie.ai/

Mình chỉ gợi ý, các bạn tự xem video mà mày mò thêm nhé, mình ít sài,… nên mình sẽ không quá nói chi tiết 😀

Mình có 1 mẹo cho các bạn đó là “Sử dụng ChatGPT để tạo prompting và dùng những đoạn mô tả đó bỏ vào trong các công cụ Generate ra Wireframe”

Link video: https://youtu.be/BdRD_cSdL44

Điểm mình quan tâm ở công cụ này đó là làm sao để mình sài, và khi có kết quả được tạo ra => Khi mình bàn giao dự án cho người khác, họ vẫn tiếp tục sử dụng được resource mình đã tạo ra trước đó và họ điều chỉnh, chỉnh sửa. => Các bạn nhớ chọn công cụ phù hợp nhé. Mình thì mình vẫn trung thành với Figma 😀

Ngoài việc sử dụng AI để vẽ, mình còn dùng Pinterest, Behance để tham khảo các ideas để vẽ Wireframe sao cho hợp lí.

Viết lệnh SQL

Mình cũng hay sài để kiểu query, hoặc thậm chí các vấn đề hơi thiên về code tíu là mình sài AI để hỗ trợ.

Dĩ nhiên là yêu cầu người viết cũng cần có kiến thức sẵn về SQL để thực hiện đọc hiểu và xác thực tính chính xác của câu lệnh cho AI tạo ra.

Phần này khá phổ biến nên có rất nhiều AI hỗ trợ, mình thì sài Poe có sẵn ChatGPT, Claude, thì mình sẵn sài những con này luôn.

Bạn có thể xem video dưới đây biết biết cách sài nha.

TÓM TẮT cách sử dụng

Some best practices:

1) Set the context

2) Give ChatGPT a role to play (ex: SQL expert)

3) Describe your table(s)

4) Tell the AI what you want a query to do

 

Link video: https://youtu.be/RVYtfKZNYNM

Nghiên cứu domain knowledge

Mình làm ở mảng blockchain, và dự án đi khá nhanh. Như một bài mình từng đề cập trước đây là khi làm các dự án Blockchain, tỉ lệ cao là hay đi copy lẫn nhau rất nhiều, ví dụ ứng dụng A có trên blockchain Ethereum, nhưng loại ứng dụng A lại chưa có trên một mạng mới, ví dụ Sei blockchain, thì mình sẽ tham khảo các dự án đã build sẵn đó (dự án A), đọc code, đọc tài liệu, cách nó hoạt động.

Các bạn có thể tham khảo các tip sau để nghiên cứu các Domain Knowledge mà các bạn chưa hiểu, hoặc chưa làm qua để học thêm cái mới, hoặc là dự án bắt buộc làm nhưng mình có kiến thức chưa đủ nhiều.

Mình sài Poe, và sài lõi Claude.AI (Claude-3.5-Sonnet) để thực hiện

Mình có những tips sau cho bạn để thực hiện.

Tip 1: Yêu cầu tóm tắt.

Thường thì các dự án blockchain hay có whitepaper, hoặc docs cho Developer, Users.

Thì mình sẽ tải file về, hoặc gửi link docs cho AI, bảo nó tóm tắt nhanh để mình hiểu.

Bước này chính là bước để mình hiểu tổng quan về cách dự án nó hoạt động.

Thậm chí có thể kêu AI vẽ lưu đồ để hiểu cách mà hệ thống đang chạy.

Tóm tắt docs với Claude - Hoàng Phan Blog
Tóm tắt docs với Claude – Hoàng Phan Blog

Trong quá trình tóm tắt, có thể bạn chưa hiểu hết thì có thể hỏi lại kỹ hơn để nó giải thích

Tip 2: Hỏi lại những gì AI trả lời/giải thích, để nó trả lời rõ hơn.

Ở bước này bạn có thể đặt lại câu hỏi với ý rõ hơn cho từng phần nhỏ, vì AI cũng không phải thần thánh do đó đôi lúc trả lời thiếu ý, hoặc chưa hiểu rõ kiến thức đó => Hỏi lại

Khi chưa hiểu bạn có thể hỏi lại AI để giải thích rõ hơn
Khi chưa hiểu bạn có thể hỏi lại AI để giải thích rõ hơn

Tip 3: Giải thích như một trẻ em

Thật ra nhiều lúc AI trả lời cũng hơi hơi khó hiểu, do đó bạn hãy bảo nó giải thích như một đứa trẻ em (độ tuổi cỡ 10 hoặc nhỏ hơn), thì nó sẽ giải thích và ví dụ đơn giản để bạn dễ hiểu.

AI giải thích như trẻ em sẽ giúp bạn dễ hiểu hơn
AI giải thích như trẻ em sẽ giúp bạn dễ hiểu hơn

Tip 4: Đặt Q/A, hoặc kiểu câu hỏi giả định

Thường thì trong quá trình giải thích, bạn cần hỏi ngược lại AI khá là nhiều, một trong những câu hỏi mình hay đặt ra là câu hỏi “Giả định”

Ví dụ ở bài toán này mình sẽ hỏi lại là “Có khi nào tiền người dùng bỏ vào Vault thì sẽ bị giảm lợi nhuận (tiền bị âm) không?”

Câu hỏi giả định sử dụng AI
Câu hỏi giả định sử dụng AI

Tip 5: Bảo AI cung cấp thêm keyword để nghiên cứu 

Khi bạn nghiên cứu, thường có nhiều từ khoá để bạn học thêm kiến thức liên quan đến dự án, do đó việc hỏi thêm keyword để tự nghiên cứu đi details hơn sẽ giúp bạn hiểu dự án hơn.

Hỏi AI thêm về Keyword
Hỏi AI thêm về Keyword

Sau khi có danh sách => Bạn bảo nó tiếp tục giải thích các keyword đó.

Tip 6: Sử dụng thêm nhiều nguồn tài liệu khác nhau

Ngoài ra bạn nên cung cấp nhiều nguồn tài liệu khác nhau để AI học và cùng trao đổi => Từ đó nắm rõ kiến thức hơn.

Đọc code và giải thích cách code hoạt động

Như bài toán ở trên, lúc mình tìm hiểu thì cần đụng tới code, hoặc như bài toán subscription mình từng viết trước đây thì cần đọc hiểu API.

Do đó mình luôn nhờ ChatGPT/Claude hỗ trợ trong việc giải thích code, mình thì hay tải code về + attach code vào trong AI để nó đọc và giải thích cách hoạt động.

Nhờ AI giải thích code - Hoàng Phan Blog
Nhờ AI giải thích code – Hoàng Phan Blog

Và từ đó sẽ hiểu nghiệp vụ của dự án chi tiết hơn => Mà hiểu rồi thì lúc thực hiện checklist, viết các case test cụ thể hơn

Hỗ trợ phần UX Writing

AI có 1 lợi thế rất tốt về ngôn ngữ, do đó mình luôn tận dụng để AI hỗ trợ mình trong việc viết các UX writing khi làm UI cho các dự án.

Ví dụ như 1 tooltip mình không biết phải nên hiển thị gì cho gọn mà đọc dễ hiểu, mình viết những ý của mình ra, rồi bảo AI nó viết lại một số câu phù hợp, và mình đọc cũng như chọn lựa cái nào phù hợp nhất.

UX Writing - Hoàng Phan Blog
UX Writing – Hoàng Phan Blog

 

Viết docs cho user (User Guide)

Mình hay sài AI để viết docs, đặc biệt là docs viết tiếng Anh.

Input đầu vào là mình hay bảo nó re-write lại nhưng viết hay hơn, dùng từ vựng của level B1 trở xuống (thường mình bảo nó viết theo trình độ A2-B1)

Ở phần này bạn chat và cung cấp ngữ cảnh đầy đủ, ideas từ bạn nó sẽ viết lại khá hay.

Bạn có thể đọc docs này của seitrace.com, mình dùng AI hỗ trợ rất nhiều.

https://docs.seitrace.com/

User docs được viết bằng AI
User docs được viết bằng AI

Tạo idea dự án

Này chắc các bạn cứ search google là ra nhiều video hướng dẫn lắm. Mình thường nghĩ ra 1 ideas, và trong đầu mình đã phân tích sẵn những cái mình muốn, nhưng nằm ở mức chưa quá rõ ràng details, nhưng về mặt tổng quan đã có.

Lúc này mình sẽ xem AI là một người bạn chuyên gia trong mảng đó, và mình sẽ hỏi đáp, rồi chia sẻ + hỏi cảm nghĩ của con AI về cái ý tưởng đó, rồi bảo nó cho những ý tưởng tương tự 😀

Cái này hơi mơ hồ, với lại mình không thể chia sẻ mấy cái đoạn chat mình đã nói chuyện với AI, các bạn tự nghiên cứu thêm nhé, mình chỉ share ideas thôi.

Tóm tắt nội dung cuộc họp

Otter.ai => Công cụ này các bạn search và sài đi 😀 hịn đó.

Kiểu như vào google meet hoặc một công cụ họp khác như Team, Zoom => sẽ bật con AI lên để sử dụng, nó sẽ hỗ trợ việc ghi lại nội dung cuộc họp, rồi tóm tắt.

Với việc sử dụng cả tháng nay mình thấy nó ghi nhận và tóm tắt khá chính xác nha.

Nó còn tạo sẵn luôn các action cần phải thực hiện luôn (kiểu như tasks – đầu việc)

Theo công cụ này bảo thì nó hiện tại đang hỗ trợ English (US, UK), Spanish, French.

We currently only support transcribing in English, Spanish, and French; however, we hope to support more languages in the future. Stay tuned!

Hỗ trợ viết mail, report, viết nội dung tuyển dụng,…

Thiệt là mình sài AI hỗ trợ phần viết khá nhiều, đặc biệt là viết tiếng Anh, xưa môn ngữ văn, viết văn có 5/10 điểm à => Tiếng Anh viết cũng dỡ.

Mình cứ viết ý, bảo AI nó re-write lại, hoặc thậm chí là copy từ nguồn khác :v chả lẽ viết lại y chang => Bỏ qua AI nó đổi lại cho :)))

Mà nó viết format khá ok á nha, ae cứ thử nhé.

Mình đã áp dụng cho:

  • Viết email
  • Viết nội dung tuyển dụng
  • Viết Report
  • Chỉnh sửa proposal

Học tiếng Anh

Đối với mình, để làm BA mà sử dụng tiếng Anh giao tiếp được thì trình độ khoảng rơi vào C1 (theo chuẩn IELTs, một số chuẩn khác C1 đôi lúc cũng hơi ảo, kiểu dễ)… 

Thì việc mình nâng cao trình độ tiếng Anh lên việc dùng AI cũng là một lựa chọn tốt.

Mình có sài Elsa AI (premium) để luyện phát âm.

Ngoài ra thì có luyện nói với giáo viên tiếng Anh của mình, chắc các bạn thường xuyên đọc blog mình cũng biết mình có tự mở một trung tâm tiếng Anh có thuê giáo viên Philippines dạy 1 kèm 1.

Hoặc sài con ChatGPT 4o á, cũng đang hỗ trợ khá tốt, mình đã test rồi, nhưng bạn nào đã có kỹ năng nói rồi thì luyện với nó sẽ tốt hơn với việc các bạn mới. => Này các bạn cứ search youtube là có mấy video test á.

Viết code/build app

Mình thì lai lai giữa BA, PM, QC, UI Design, rồi cả Dev nữa… không quá giỏi dev nhưng hiểu logic và có thể tự build 1 sản phẩm từ A->Z dạng như CRM, mini app, các app không quá nặng về hạ tầng.

Do đó việc dùng AI hỗ trợ việc code là 1 lợi thế rất lớn với mình 😀

Mình có dùng con Claude Sonnet và Cursor AI. Ae có thể search hoặc nt hỏi mình để sharing thêm nha.

Kết bài

Ở trên là những công cụ AI mình đã sử dụng để phục vụ cho việc làm IT Business Analyst, hi vọng các bạn có nguồn tham khảo cũng như trải nghiệm và có thể áp dụng vào công việc thực tế.

Ứ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é.

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.

Xây dựng landing page trong vòng 1 tiếng với Unicorn Platform và Github Page

Vừa rồi mình có tính xây dựng vài trang landing page cho các dự án cá nhân của mình, do đó được @khoanguyen là CEO Nocode VietNam giới thiệu cho công cụ Unicorn Platform để tạo ra các trang static pages.

Kết hợp với thêm kiến thức trước đó về việc tự host 1 static page lên Github Page và gắn domain vào thì mình có thể xây dựng được 1 trang okela.

Vậy từng bước như thế nào?

 

Từng bước xây dựng Landing Page với Unicorn Platform

Bước 1: Truy cập https://unicornplatform.com/ và đăng ký một tài khoản

Bước 2: Tạo page => Chọn template và kéo thả (thêm, xoá, sửa) các sections + cập nhật nội dung

Bước 3: Kết nối các form (nếu có) với database/nơi dữ liệu xuất ra (Như google sheet, mailchimp,…)

Bước 4: Cập nhật thông tin SEO, Feature image, Title, Description cho trang web

Bạn xem tất cả các bước từ đăng ký đến khi tạo ra website và tự host lên github page qua video sau nhé:

Tải source về và xoá branding

Bước 1: Nhấn setting -> Export HTML => Và download file Assets và name.html về

Để tải về được thì bạn phải đăng ký tài khoản https://unicornplatform.com/pricing/ với giá 9$/tháng

Bước 2: Giải nén file assets và copy file name.html vào trong thư mục vừa giải nén

Bước 3: Đổi tên file name.html thành index.html

Bước 4: mở file index.html trên trình duyệt và xem thử nó đã hiển thị như mình đã thiết kế trên UnicornPlatform hay chưa?

Bước 5: Mở file index.html với trình chỉnh sửa code như Visual Studio Code, Notepad, Hoặc Sublime Text để xoá đi branding UnicornPlatform

Host lên trên Github Page

Bước 1: Bạn tạo tài khoản Github nếu chưa có và tạo 1 repository để làm nơi lưu trữ code của static page

Bước 2: Sử dụng phần mềm Github Desktop clone code từ repository bạn mới tạo về local (máy tính của bạn)

Bước 3: Copy code từ thư mục lúc nãy bạn download vào trong thư mục bạn vừa clone từ Github về.

Bước 4: Bạn commit và push dữ liệu lên ngược lại trên github

Bước 5: Cấu hình Github page (bạn xem kỹ video của mình có hướng dẫn rồi nhé)

Gắn Domain

Bạn thực hiện gắn domain theo như hướng dẫn.
Mình dùng cloudflare để làm DNS cho domain của mình, bạn xem kỹ video để làm theo nhé.

 

Sau khi gắn xong bạn có thể có 1 trang web như mình 😀 https://blockchainba.hoangphan.blog/

Có gì chưa ok thì bạn có thể comment trên bài đăng youtube của mình, mình sẽ làm video hướng dẫn cụ thể hơn cho những bước bạn chưa hiểu nha.

Giới thiệu chung

Mình bắt đầu sử dụng công cụ Figma đã được gần 2 năm, trước đây rất lâu được nhiều bạn giới thiệu nhưng vì những công ty mình làm việc qua đều không sử dụng công cụ này.

Nhưng khi có cơ hội được vào một môi trường startup, nơi mà tất cả mọi thứ chưa được định hình, tự công cụ quản lý, process – quy trình, vận hành, đội ngũ, và cả những công cụ sử dụng để vẽ wireframe/mockup/design/prototype.

Do đó mà tại thời điểm đó mình mạnh dạng đề xuất quy trình vận hành, và tất cả công cụ cho đội ngũ công ty sử dụng (và đặc biệt là team Tech), những công cụ mình đề xuất gồm có:

  • Công cụ quản lý task/process: Sử dụng Jira hoặc Larksuite hoặc Notion
  • Công cụ viết tài liệu: Notion hoặc Confluence
  • Công cụ vẽ thiên về wireframe/mockup/prototype: Figma
  • Công cụ brainstorming: Figma & Miro
  • Công cụ vẽ diagram: Figma Jam và Draw.io
  • Kênh chat trao đổi: Sài mặc định công ty đang sài Telegram
  • Meeting: Google Meet/GG Calendar
  • Một số công cụ riêng cho team Dev như Github/Gitlab, CI/CD, DB: MongoDB, Postgre,… thì do ae chuyên về Dev tự đề xuất cho phù hợp mình follow theo.

Công cụ Figma

Giới thiệu xong rồi thì vào phần nói về Figma thôi.

Thực ra công cụ này được giới làm UX/UI biết tới nhiều hơn dùng để vẽ UI (User Interface) và làm về UX (User Experience), nhưng dĩ nhiên khi làm những công việc BA vẫn có thể sử dụng nó, vì dùng Figma ta có thể vẽ Wireframe, Sketch, Mockup,… rồi dùng để brainstorming, và vẽ cả diagram (thường mình vẽ activity diagram ở đây)

Vì sao mà mình lại đề xuất sử dụng Figma như vậy?

Thực tế là mình đã sử dụng qua rất nhiều công cụ dùng để vẽ wireframe/sketch/mockup, làm prototype và trao đổi với đồng nghiệp như là: Axure RP, Balsamiq Mockup, Adobe XD, Sketch, thậm chí từng làm việc với Photoshop để view wireframe/mockup khi đi làm cho các dự án/công ty. Và dùng thử qua các công cụ kiểu như FluidUI, Mockflow,… nhưng chưa áp dụng vào công việc thực tế.

Nhưng vì có những ưu điểm mà mình thấy nó đã hội tụ đủ mọi yêu cầu về công việc của mình:

  1. Miễn phí/paid: nếu mình áp dụng cho công ty thì sẽ dùng bản trả phí, còn nếu mình làm freelancer mình sài phiên bản miễn phí, tối đa là 3 figma files và 3 figjams. Nếu bạn dùng phiên bản Education (free 2 năm) thì sẽ không giới hạn số file, số pages và có thể cùng với những người khác edit chung 1 files, cuối bài viết mình sẽ hướng dẫn đăng ký.
  2. Vẽ wireframe và mockup: Dĩ nhiên công cụ này để vẽ UI/UX nên việc dùng để vẽ được wireframe và mockup là điều hiển nhiên được 😀
  3. Thiết kế prototype: Mình thường hay present design cho đối tác và anh em trong team, hoặc present trực tiếp với ae đội ngũ C-level, nên việc có tính năng prototype sẽ rất tiện để trực quan hoá một design/wireframe/idea hay luồng trong khi build một ứng dụng.
  4. Vẽ diagram, brainstorming: ở Figma có tính năng Figjam giúp vẽ diagram rất tiện, còn có hỗ trợ các widget như đếm giờ hay note trực tiếp trên canvas => dùng thảo luận brainstorming rất đã.
    Nhưng thực tế là mình sài draw.io cho việc vẽ diagram nhiều hơn :D, draw.io nó được tích hợp trong confluence nữa.
  5. Comment xuyên lục địa, cộng tác đa người dùng: yeah, tính năng này mình cực kì thích khi mà phải làm việc với nhiều stakeholders khác nhau, nên việc có thể cho nhiều người vào xem, phân quyền view only hoặc cho edit, và có thể comment góp ý trực tiếp trên chính xác vị trí đề xuất, tính năng này tuyệt vời hơn trên XD Cloud và Axure, Balsamiq cloud khi mà comment nó đôi lúc bị trật chỗ, chưa kể trên XD nó cho webview tách từng frame nằm trên 1 page rất khó để review, chưa biết nay đã update lại chưa :D. Yeah, cái này mình thích nhất á =)). Đã đã.
  6. Chia sẻ dễ dàng, nhiều người cùng vào xem mà không cần gì cả: Như mục 5 có nhắc, thì chỉ cần chuyển qua view with the link by anyone, thì ai có link đều có thể xem design mà không cần tài khoản, nên khi đó ai hỏi mà họ được quyền xem design => Đưa họ cái link là họ xem được rồi. Xưa mình sài Balsamiq desktop, nên việc share này cực kì mệt, chưa kể phần góp ý cứ screenshot rồi edit trên screenshot rất là mệt.
  7. Các thiết kế cùng nằm trên 1 canvas/project, zoom nhỏ ra để xem tổng quan và zoom to vào để xem chi tiết: Này thì mình nghĩ giờ nhiều công cụ đã hỗ trợ, nhưng bên figma có hỗ trợ mấy tính năng ở mục 5, 6 thành ra thấy tính năng này khá tiện.
  8. Tài nguyên phong phú (free & trả phí), mình có thể lên Figma Community và tải về các thiết kế có sẵn hoặc mẫu wireframe, nên khi mà thiết kế wireframe, mình hay dùng các component mình clone sẵn và gọi ra để sử dụng, nên vẽ rất tiện luôn. Ví dụ mình thường có các component sẵn như Popup thông báo (với nhiều style như 1 button, có nút close, hoặc popup có 2 button, …), Buttons, Tables, …
    Ngoài ra có các widget và plugin nơi mà mình dùng icon miễn phí (đôi lúc là trả phí), và nhiều thứ hay ho khác, bạn nên sài và thử nghiệm 😀
  9. Sử dụng component: Như mình chia sẻ ở trên, thì có component nên khi mình vẽ wireframe rất tiện luôn, đầu tiên là clone component qua 1 project mới, rồi sau đó khi vẽ sẽ gọi ra sử dụng và sửa content, thay vì phải vẽ từ đầu từng elements rất chi là cực. Nên rất là speed up thời gian mình hoàn thành tasks. 
  10. Dễ dàng học và sử dụng: Theo mình thì nếu bạn đã quen sử dụng 1 công cụ design thì việc sử dụng Figma rất chi là dễ, thậm chí là có thể bạn chưa sài nhiều thì tiếp cận nó rất dễ, trong cty mình nhiều bạn chưa sài bao giờ, mình chỉ làm 1 buổi seminar chia sẻ thôi thì về các bạn sài được hết mà gần như không có Q/A gì thêm, vì các bạn đó chỉ sài tính năng basic nên sẽ ít hỏi lắm 😀 còn ông nào làm chuyên design thì không kể tới nhá, mấy cái như variants, effects, auto layout, different states,…
  11. Kết hợp với team design, review design/luồng: Này thì như mục 5, 6 khi mà mình vẽ wireframe xong, cùng trên 1 project đó design sẽ mở page riêng và vẽ design trên đó, dữ liệu thiết kế được tổng hợp tại một nơi, rồi từ đó mình cũng review design trực tiếp bằng comment luôn, nghĩa là team BA/PO và UX/UI Design sài chung 1 project trên figma.
  12. Dùng như một công cụ để mình thiết kế banner/standee/…: Mình hay sài như này để thiết kế banner/standee/ rồi mấy hình cần thiết, mình xem nó như 1 công cụ giống Adobe Illustration (AI), bao gồm cả việc thiết kế logo luôn nha khi mà mình có thể export file vector hay export png, pdf,…
  13. Đôi lúc export ra được html để xem trước trên webview như một website thực sự: Này thì sau khi thiết kế ra xong, mình hay export ra html rồi mớ view trên các screen khác nhau, lý do là khi view trên canvas đôi lúc nó bị sai size và mình không nhận ra được sự khác thường, mình từng bị trường hợp này rồi khi thiết kế nhìn trên canvas nhìn rất ok, nhưng khi dev ra sản phẩm, layout nhìn rất là chán vì các element bị bự ra so với cách mình nhìn trên canvas,… màn hình bự cỡ 27, 32 inch thì không sao, chứ khi trên màn hình cỡ 14 inch là nhìn nó chán lắm. Nên tính năng này cũng là thứ cần thiết (dĩ nhiên là có thể làm kiểu prototype để view cũng đc, nhưng html giúp mình xem nó real hơn 1 tíu).

Còn mấy lý do khác thì giờ mình chưa nghĩ ra,… khi nào thấy có thêm thì mình bổ sung vào bài.

So sánh Figma với các công cụ khác

Thực ra tính không viết phần này, vì đa số các công cụ mình sài chưa hết tính năng đâu, chỉ sài 1 phần các tính năng, nên khi so sánh sẽ bị thiếu sót gì đó,.. nhưng mình cứ chia sẻ theo quan điểm và cách mình sử dụng để mọi người có thể thấy 1 cách nhìn nhận nào đó hé.

Chắc nói mấy cái hơn của Figma đi ha, tại giờ mình mê Figma quá nên …. à…

  1. So với Adobe XD:
    • Dễ comment, review hơn, trên XD lúc comment nó hay bị sai vị trí sao đó
    • Dễ sharing hơn, trên XD nó bị 1 lỗi là nó tự động zoom hơi bị to so với size mình thiết kế, chưa kể zoom in, zoom out không được mượt lắm
    • Mình thấy XD hỗ trợ phần component không được xịn như trên Figma lắm, sài Figma sướng hơn nhiều, chưa kể trên Figma có nhiều thư viện bao đã.
    • Thật ra mình thích cách dùng XD để thiết kế banner/standee, logo nha, xưa là sài XD làm việc đó không á
    • Trước khi sài Figma, thì công cụ chính mình sài là XD, nhưng khi sài Figma nhiều rồi thì lại sài Figma nhiều hơn.
    • XD giờ không có bản free nữa, xưa có giờ thì không còn.
    • XD thì mình chưa thử nghiệm làm việc với member khác kiểu nhiều người edit 1 file, nên k review chỗ này.
  2. So với Axure:
    • Axure xưa mình phải sài crack rất cực luôn, phải trả phí để sài (không biết giờ có bản free chưa), nhưng có bản cho students/teachers dùng free 1 năm.
    • Khúc làm prototype bên Axure hơi bị cực
    • Lúc vẽ wireframe mình cũng thấy cực nốt, cực hơn khi vẽ bên Figma rất nhiều, kiểu vẽ từng elements, rồi đổ dữ liệu vào, với lúc ra element nhìn như thời window hay kiểu UI của element nó cũ cũ sao đó.
    • Được cái nó hỗ trợ kiểu như Git để mà làm việc với team, nhưng mình lại thấy hơi phức tạp để sài.
    • Mình thấy công cụ này mà kiểu công ty bự bự sài sướng, crack để sài nên cũng giảm bớt chi phí sử dụng cũng ok.
    • Axure cũng có các thư viện khá là okela như Figma.
  3. So với Balsamiq:
    • Balsamiq mình sài ver 3, có key free, còn ver 4 thì phải trả tiền.
    • Sài ver desktop nên khi làm việc với members khác sẽ khó, phải export rồi gửi file xong import, quản lý version rất cực
    • Bản cloud thì buộc phải trả phí => cũng phần làm việc với team khá ok chỗ này, cũng ok chỗ quản lý version luôn.
    • Được cái Balsamiq mình thấy còn dễ sài hơn cả Figma, nhưng mà cũng bị giới hạn phần components và elements có sẵn, muốn sài xịn phải tự define ra khá là cực.
    • Balsamiq vẽ wireframe cũng nhanh, nhất là mấy cái liên quan đến table thì balsamiq là nhanh lắm (so với các công cụ khác)
    • Mình cũng có quay khoá hướng dẫn sử dụng Balsamiq, ae thử xem qua nhé.
Đọc thêm  Khoá học nghiệp vụ Blockchain cho Business Analyst

Cách đăng ký miễn phí Figma sài trong 2 năm (Education).

Bước 1: Truy cập Figma Education

Bước 2: Nhấn vào Get verify

Bước 3: Đăng ký tài khoản 

Với việc bạn có tài khoản thì bỏ qua bước đăng ký mà đi trực tiếp vào link apply student program nhé.

Bước 4: Điền thông tin sau khi đăng ký

  • Điền tên, Làm vị trí gì
  • Và cái số 3 phải chọn là “For teaching or taking a class

=> Sau khi tạo xong, check email các kiểu thì mở lại link: https://www.figma.com/education/apply 

Bước 5: Điền thông tin Get free Figma for Education

Nhớ là bạn đang đăng ký với Figma bạn là 1 sinh viên => bạn cần phải xác nhận bạn là sinh viên

Bằng cách điền các thông tin như sau:

  • Are you a student or an educator? chọn Student
  • What type of institution do you attend or work for? => Chọn K12 => Rồi 2 câu dưới chọn Agree, Agree
  • Why are applying for a free Figma Education plan: Bạn nên gõ tiếng Việt, ghi gì cũng được, đại loại là tui cần acc figma để làm bài tập, mình thì hay ghi bằng tiếng Anh “For doing assignment from teachers where I can design User Interface and Wireframe for application”
  • School name: School not listed
  • Full school name: nhập tên tiếng Anh của 1 trường đại học bất kỳ => Như mình học UIT thì mình điền đúng University of Information Technology – VNU HCM.
  • Nhâp địa chỉ Website của trường bạn đã khai báo ở trên: nhập đúng website chính của trường
  • Why is your primary field of study: Chọn bất kỳ theo ngành trường đó dạy, ví dụ mình chọn Information Technology hay kiểu kiểu vậy.
  • Expected graduation date: chọn tháng nào cũng được, năm 2024 trở đi, nên chọn từ năm hiện tại + 2 năm nữa là ok nhất.
  • Có 1 bước là upload lịch học, thì bạn cứ lên web chọn đại 1 lịch học nào đó điền, mình thì vào trực tiếp lịch kế hoạch năm file png của trường mình upload lên.Mình thấy là khi đăng ký tuỳ lúc nó ra form thông tin khác nhau, bạn điền sao cho hợp lý nhất là được nhé, lúc thì chỉ show có vài trường, lúc thì show 1 mớ thông tin. => Tuỳ cơ ứng biến thêm nhé.

Bước 6: Tạo team

Bạn chỉ cần điền tên Team rồi tạo thôi.

Sẽ có bước mời thành viên team => bạn có thể mời hoặc skip nhé, tuỳ mục đích.

Bước 7: Chọn gói dịch vụ và thanh toán (Free)

Lúc này bạn nhấn vào team => Sẽ có popup show ra và chọn Next cho team đó.

Sau đó chọn thanh toán (upgrade)

Vậy là giờ bạn đã có tài khoản Figma Edu được dùng như bản Professional trong 2 năm.

Kết bài

Như vậy là mình đã chia sẻ công cụ Figma, một công cụ tuyệt vời cho anh em Business Analyst, không chỉ là một công cụ để thiết kế mà còn có một công cụ để tư duy, trình bày và thực hiện ý tưởng của mình một cách chuyên nghiệp và hiệu quả, dù bạn làm trong team nhỏ hay lớn.

Và cũng đã chia sẻ luôn cách đăng ký tài khoản Figma Edu (free 2 năm).

Hi vọng giúp cho anh em nào chưa từng sử dụng tìm được công cụ mới hữu ích khi làm công việc Business Analyst nhé.

Giới thiệu

Mới gần đây thôi,… cỡ đâu 14-15 tháng trước, có một anh giới thiệu công cụ kiểu vẽ để present và phát khảo nhanh ý tưởng mà dân Defi (Decentralized Finance – ý nói những người hay nghiên cứu, chơi và build sản phầm tài chính phi tập trung) hay sử dụng.

excalidraw
excalidraw

Từ ngày mình biết tới nó mình sài hơi bị nhiều, vì kiểu nhìn nó như bản vẻ tay, vô cùng thân thiện.

Một số ưu điểm mà mình nghĩ nó over hợp với BA.

À mà đâu phải hợp mỗi BA, mình thấy hợp với nhiều người á chứ, cứ liên quan đến phát khảo idea, present đồ các kiểu là over hợp hết.
Dưới là một số ưu điểm mà mình thấy

  1. Phác Thảo Ý Tưởng Nhanh Chóng: Excalidraw cho phép bạn nhanh chóng phác thảo ý tưởng, tạo wireframe và sketch với giao diện đơn giản, trực quan. Có sẵn một số mẫu để kéo ra sử dụng từ library, giúp phát khảo ý tưởng rất nhanh.
  2. Present Dễ Dàng: Với Excalidraw, việc chia sẻ và trình bày ý tưởng cho team của bạn trở nên dễ dàng hơn bao giờ hết. Bạn có thể vẽ, chỉnh sửa và cùng làm việc với đồng nghiệp chỉ qua một link mà không cần phải tạo tài khoản.
  3. Lưu trữ local/lưu cloud linh hoạt: Khi tạo xong wireframe, có thể lưu lại file vào local sau đó có thể mở ra sử dụng sau đó, hoặc thay vì lưu local, mình có thể lưu trên cloud và sẽ có 1 link để mình truy cập và sử dụng sau này, khi mở link thì những gì mình đã vẽ sẽ còn lưu lại.
    Có hỗ trợ export ra hình ảnh png, sgv, copy phần đã chọn để paste (dạng image) vào nơi khác.
  4. Free, không cần tài khoản: Sử dụng hoàn toàn miễn phí, cứ mở link https://excalidraw.com/ lên là sử dụng thôi, và có thế bật lên chế độ cùng chỉnh sửa, nhiều người cùng tham gia edit và phát hoạ ý tưởng trên cùng 1 Canvas.
  5. Thư viện wireframe: Hiện có nhiều thư viện wireframe có thể bạn thêm vào, và kéo thả từ khung thư viện, nào là icons, khung frame web, mobile, wireframe mẫu sẵn, …
  6. Text to diagram (AI): Hiện tại có hỗ trợ text to diagram để lên diagram, flow chart, sequence, class nhanh chóng (bạn xem hình mình để mẫu nhé). => mình có thấy tính năng wireframe to code,… ae có thể sài ChatGPT thử nghiệm thử nhé.
  7. Các công cụ (tools) cơ bản mà một ứng dụng vẽ wireframe cần có như: Thêm hình vuông, hình tròn, ellipse, hình thoi, mũi tên, đường thẳng, đường cong, vẽ pen, thêm text, thêm image, xoá, hỗ trợ group layers, add frame, đổi màu, …
  8. Hỗ trợ tính năng present: Laser pointer, import video, web embed, …

Mình nghĩ là sẽ còn nhiều tính năng hay ho khác bạn có thể xem tại đây: https://plus.excalidraw.com/excalidraw-plus-vs-excalidraw, nếu mà bạn thử nghiệm trực tiếp thì sẽ có cảm nhận thực tế hơn qua cách mình trình bày 😀

 

Ngoài ra hình như có hỗ trợ embed/integrate Excalidraw vào trong ứng dụng (app/webapp) của bạn, tìm hiểu kỹ hơn tại đây https://docs.excalidraw.com/docs/@excalidraw/excalidraw/integration

Nhược điểm mình thấy

Nhưng vẫn có 1 nhượt điểm đó là thực sự so sánh với những công cụ chuyên cho công việc của chính công cụ đó thì Excalidraw sẽ không bằng.

Ví dụ như vẽ diagram để trình bày trong tài liệu, thì sẽ không thể ngon bằng các công cụ Visio, Draw.io, LucidChart
Hay vẽ wireframe, mockup thì không thể ngon bằng sketch, xd, hay figma được.

Nhưng nếu chỉ xét khía cạnh present và thực hiện nhanh khi đang present, thì công cụ này tuyệt vời với những tính năng và ưu điểm mình nói ở trên.

Thực tế đối với mình khi xử dụng, mình vẽ phát hoạ nhanh bằng Excalidraw lúc đang call với mọi người khi trình bày ý tưởng, hoặc thảo luận về luồng, cách thức hoạt động, cấu trúc hệ thống.
Rồi khi document details lại thì sẽ screenshot màn hình của Excalidraw rồi copy bỏ vào Figma nếu liên quan đến wireframe/mockup => Rồi vẽ lại = figma cho đầy đủ, chỉnh chu. Còn nếu là diagram thì sẽ bỏ vào draw.io rồi vẽ lại để có sản phẩm cuối cùng.

Dưới đây là một số hình minh hoạ, bạn có thể xem qua nhé.

Vẽ sketch/wireframe với Excalidraw.com

Image 1 of 5

Kết bài

Mình hi vọng với bài chia sẻ này, bạn có thể thấy công cụ này hữu ích với công việc của bạn, và giúp bạn tối ưu công việc của mình bởi việc sử dụng nó :D.