Vai trò BA trong dự án phát triển phần mềm
Bài đăng này đã không được cập nhật trong 4 năm
Tưởng tượng bạn có một ý tưởng kinh doanh hấp dẫn. Trong việc phát triển một sản phẩm IT, chỉ ý tưởng thôi là chưa đủ. Bạn sẽ cần một chuyên gia - người sẽ xác định các mục tiêu kinh doanh mức high-level và vạch ra các yêu cầu khởi tạo để thực hiện dự án.
Điều này nghe có quá khó không? Câu trả lời là Không - Đó là công việc của một BA (business analyst), thành viên không thể thiếu của bất kỳ nhóm CNTT nào.
Từ bài viết này, chúng ta sẽ cùng nhau tìm hiểu BA là gì? BA tham gia vào quá trình phát triển như thế nào? Và sử dụng những công cụ gì?
Tại sao nói BA cần thiết trong việc phát triển phần mềm?
BA làm việc chặt chẽ với các bên liên quan và team phát triển, biến các ý tưởng kinh doanh thành các giải pháp CNTT.
Vậy câu hỏi đặt ra là: Một BA sẽ làm gì/đóng vai trò gì trong việc phát triển CNTT?
Nếu không có BA, team phát triển phải dành nhiều thời gian và nỗ lực hơn để hiểu các yêu cầu của khách hàng. Giao tiếp đầy thách thức như vậy thường dẫn đến lãng phí năng lượng và kết cục là dự án thất bại.
Hơn nữa, team phát triển thường không đủ các kỹ năng cần thiết để chuyển đổi một ý tưởng kinh doanh thành các giải pháp cao cấp đáp ứng kỳ vọng của khách hàng và nhu cầu kinh doanh.
Do đó, team phát triển nào cũng cần BA để xác định nhu cầu của các bên liên quan, giúp cung cấp sản phẩm chính xác, hợp lý và thiết thực mà không bị trễ thời hạn.
Nhưng BA sẽ làm điều đó như thế nào? Bạn sẽ tìm thấy câu trả lời trong phần tiếp theo.
BA là ai?
Mục tiêu chính của BA là truyền đạt hiệu quả các yêu cầu của khách hàng cho đội phát triển và đảm bảo dự án đáp ứng các mục tiêu của doanh nghiệp.
Đối với vị trí BA, các kỹ năng sau đây là hết sức cần thiết:
Kiến thức công nghệ
Chuyên môn kỹ thuật là kỹ năng cần thiết để hiểu đúng chi tiết kỹ thuật và giới hạn kỹ thuật của dự án, dựa vào đó có thể giao tiếp với DEV, QA một cách hiệu quả.
Kỹ năng phân tích và giải quyết vấn đề
Kỹ năng phân tích sâu rộng rất cần thiết để biến nhu cầu kinh doanh của khách hàng thành các đặc tả chức năng. Vai trò và trách nhiệm của BA đòi hỏi kỹ năng giải quyết vấn đề và kỹ năng ra quyết định đối với bất kỳ vấn đề nào nảy sinh giữa khách hàng và đội phát triển.
Kỹ năng giao tiếp
Một BA cần biết cách thu thập thông tin từ một người và truyền đạt thông tin đó cho người khác một cách dễ hiểu. Do phải tham gia trao đổi với nhiều người thuộc nhiều tổ chức khác nhau nên mỗi BA nên biết cách tương tác hiệu quả để đảm bảo rằng mối quan tâm của mình và mối quan tâm của các bên liên quan map nhau.
Vậy là bây giờ bạn đã phần nào hiểu về định nghĩa cũng như các kỹ năng cần có của 1 BA. Tiếp theo hãy cùng tìm hiểu xem BA tham gia vào quá trình phát triển như thế nào nhé.
Vai trò của BA trong dự án phần mềm
Trong suốt quá trình phát triển phần mềm, BA tham gia vào các giai đoạn sau đây.
Thu thập yêu cầu
Trong giai đoạn đầu tiên này, BA thực hiện thu thập các Yêu cầu chức năng (Functional Requirements - FRs) và Yêu cầu phi chức năng (Non-functional Requirements - NFRs) cho dự án.
Yêu cầu chức năng bao gồm các chức năng hoặc tính năng của dự án tương lai.
Yêu cầu phi chức năng xác định các tiêu chí có thể được sử dụng để đánh giá hoạt động của hệ thống. Các yêu cầu đó tương phản với các Yêu cầu chức năng trên này với mục định xác định hành vi hoặc chức năng cụ thể.
Để thu thập các yêu cầu, BA thường sử dụng các kỹ thuật sau.
Phỏng vấn
BA hỏi khách hàng những câu hỏi cụ thể để xác định các yêu cầu của họ đối với dự án. Buổi trao đổi như này nhằm xác định các vấn đề kinh doanh chính cần giải quyết.
Bảng câu hỏi/Q&A
BA gửi cho các bên liên quan các cuộc khảo sát điện tử hoặc khảo sát giấy để xác định yêu cầu dự án. Việc này sẽ thực sự hiệu quả khi BA cần thu thập yêu cầu từ nhiều người, ở nhiều nơi khác nhau.
Tạo mẫu/Prototyping
Chúng ta sử dụng cách tiếp cận này để trực quan hóa yêu cầu dự án. Nếu có sample sản phẩm, việc thảo luận tất cả các tính năng cần thiết với khách hàng sẽ thuận tiện hơn rất nhiều.
Phân tích tài liệu
BA sử dụng kỹ thuật này để tiến hành thu thập tài liệu, xác định các yêu cầu của dự án. Họ phân tích tài liệu khách hàng nội bộ liên quan đến các hạn chế kinh doanh hoặc tài liệu về các sản phẩm hiện có, với các mục tiêu kinh doanh tương tự.
Brainstorming
BA áp dụng kỹ thuật này để thu thập ý tưởng về chức năng của sản phẩm từ cả bên liên quan và đội phát triển nội bộ.
Chuẩn bị tài liệu đặc tả dự án
Trong giai đoạn này, BA thực hiện phân tích, xem xét và tinh chỉnh các yêu cầu dự án để xác định kỹ thuật dự án bao gồm:
Biên bản tóm tắt: Phác thảo các yêu cầu dự án
Mục tiêu dự án: BA thực hiện các mục tiêu dự án theo format SMART, có nghĩa là các mục tiêu dự án phải cụ thể (specific), có thể đo lường được (measurable), có thể đạt được (attainable), thực tế (realistic) và có thời hạn (time-bound).
Biên bản nhu cầu Khách hàng: Trong phần này, BA nêu ra lý do tại sao một doanh nghiệp cần dự án này và cách dự án giải quyết các vấn đề kinh doanh.
Phạm vi dự án: Tài liệu này bao gồm tất cả thông tin về phạm vi dự án, phác thảo chức năng của sản phẩm.
Yêu cầu chức năng: Trong phần này, BA phác thảo tất cả các yêu cầu kỹ thuật đối với dự án bằng cách sử dụng sơ đồ, biểu đồ và các mốc thời gian.
Giả định: Ở đây, BA vạch ra các sự kiện dự đoán có thể xảy ra trong giai đoạn phát triển dự án.
Chi phí: Trong phần này, BA đưa ra danh sách chi tiết tất cả các chi phí liên quan đến việc phát triển dự án.
Dựa trên thông số kỹ thuật của dự án, team xác định phạm vi dự án và xây dựng lộ trình từng bước của dự án.
Giải thích yêu cầu cho team phát triển
Khi các bên liên quan phê duyệt đặc tả dự án, BA sẽ chia dự án thành các nhiệm vụ nhỏ hơn và giao những nhiệm vụ này cho team phát triển.
Trong giai đoạn phát triển, team phát triển có thể cần chỉ định một số thông tin liên quan đến chức năng, kiến trúc và logic bên trong của sản phẩm với các bên liên quan.
Khi đó, BA sẽ tiến hành thu thập tất cả các câu hỏi từ các team phát triển và trao đổi với các bên liên quan. Sau đó, BA có thể thêm các yêu cầu mới của dự án vào bản mô tả specs kỹ thuật.
Cứ thế, BA sẽ liên lạc với cả team phát triển và các bên liên quan theo cách như vậy cho đến khi dự án kết thúc.
Tiến hành UAT (User Acceptance Test)
Trong một số trường hợp, BA tham gia vào quá trình test tiếp nhận của người dùng - là giai đoạn cuối cùng của quá trình phát triển phần mềm. Trong suốt giai đoạn này, người dùng phần mềm thực tế sẽ kiểm tra phần mềm để đảm bảo rằng sản phẩm có thể xử lý các tác vụ trong các tình huống thực tế.
Sau giai đoạn này, BA sẽ xác định xem liệu sản phẩm đã sẵn sàng để ra mắt hay chưa, hoặc sản phẩm có cần bảo trì bổ sung hay không.
Bây giờ, chúng ta cùng đi vào tìm hiểu những công cụ mà các BA thường hay sử dụng.
Bộ công cụ của BA
BA cần một bộ công cụ nâng cao để trực quan hóa các yêu cầu phức tạp của khách hàng, thêm sơ đồ vào tài liệu đặc tả và kiểm tra tiến độ của đội phát triển.
Dưới đây là bộ công cụ thường được BA sử dụng.
Công cụ prototyping
Những công cụ sau cực kỳ tiện lợi để tạo ra các protype thiết kế và bố cục dự án.
Marvel
Công cụ dựa trên trình duyệt này đơn giản hóa quá trình tạo mẫu. Marvel hỗ trợ tải lên hình ảnh JPG, GIF và PSD. Bên cạnh đó, công cụ này có khả năng nhập trực tiếp với Dropbox, Sketch, Google drive, v.v.
BA thường sử dụng điều này để tạo các ứng dụng di động hoặc các trang web nguyên mẫu trong trình duyệt. Proto.io hỗ trợ drag-and-drop file thủ công cũng như tải lên trực tiếp từ Dropbox.
Invision
InVision rất tiện lợi vì người dùng có thể để lại phản hồi trực tiếp về bản mẫu.
Quản lý task
Để quản lý task một cách hiệu quả, BA thường sử dụng các công cụ sau.
Jira
Sử dụng khi cần phối hợp giữa các dự án phức tạp và tùy chỉnh quy trình làm việc của dự án.
Trello
Với các dự án đơn giản, hãy sử dụng Trello. Nó cũng là một lựa chọn tuyệt vời khi người quản lý dự án hoặc BA cần một cấu trúc đơn giản để vẫn đảm bảo tổ chức tốt dự án.
Hygger
Là một công cụ quản lý dự án mới ra mắt, kết hợp các tính năng của Jira và Trello thành công cụ gọn gàng và hợp lý hơn, Hygger cung cấp các công cụ quản lý nhiệm vụ trực tiếp để giúp mọi người luôn đồng hành và đạt được mục tiêu mà không phải mất quá nhiều công sức.
Asana
Công cụ này, dành cho các nhóm nhỏ, cho phép BA có thể xem xét xem cách các nhiệm vụ của họ đang thực hiện các mục tiêu kinh doanh tổng thể như thế nào.
Công cụ phân tích nghiệp vụ dạng sơ đồ
Để thêm sơ đồ vào thông số kỹ thuật của dự án, BA sẽ sử dụng công cụ Draw.io.
Bằng cách sử dụng công cụ này, có thể tạo một lưu đồ hoặc sơ đồ để hình dung cơ sở hạ tầng của dự án một cách rõ ràng.
Lời kết
BA và công việc phân tích nghiệp vụ là một phần thiết yếu của bất kỳ nhóm phát triển nào.
Tuy nhiên, điều quan trọng là phải hiểu khi nào nên sẵn sàng thuê một nhà phân tích kinh doanh.
Hãy thử nghiệm các ý tưởng kinh doanh trong thực tế trước khi đầu tư phát triển dự án. Kiểm tra các đối thủ cạnh tranh tiềm năng, thực hiện phỏng vấn với người dùng cuối, tạo sample hoặc thậm chí quảng bá sản phẩm sắp được phát triển và nhận phản hồi từ khách hàng tiềm năng. Sau khi nhận được kết quả thực tế, hãy đánh giá và liên hệ với các nhà phát triển.
Thực hiện các thử nghiệm như vậy là một lựa chọn tiết kiệm ngân sách hơn là thuê một BA và đầu tư vào một sản phẩm mà không ai muốn sử dụng.
Bản gốc: https://theappsolutions.com/blog/development/business-analyst-role-in-project-development/
All rights reserved