Bài viết chuyên sâu

Nghề BA ...

Nghề BA ...

by Admin Dathoc -
Number of replies: 0

#koolj_softwaretesting
#businessalanysis
#chiase

Về nghề: Business Analysis hay Analyst hay BA...rất rất khác với nghề Business Analytics nhé.
👉Business Analysis hay Analyst hay BA ở CNTT Việt Nam: bạn là cầu nối giữa nhiều bên; nhiệm vụ là biến đổi yêu cầu từ khách hàng thành sản phẩm; là tìm giải pháp tối ưu nhất cho nhu cầu khách hàng.
👉Business Analytics ở CNTT Việt Nam: bạn là nhà phân tích, sử dụng con số, số liệu, dữ liệu tạo ra những mô hình dự đoán, hoặc thống kê; nhiệm vụ tìm ý nghĩa trên những cái đang/đã diễn ra ở nghiệp vụ nhất định; dự đoán xu thế mới trong tương lai gần hỗ trợ nghiệp vụ phát triển tốt hơn cho tổ chức.

(Mình không rõ cái này có phù hợp với group không nếu OK admin approve, nếu NOT OK admin có thể xoá bài nhé, thanks)

BA là một nghề mà software TESTER rất dễ bị làm bù, hoặc bắt ép phải làm hoặc, việc không của riêng ai, không ai làm thì em làm đi... đai loại vậy! Chính bản thân mình cũng làm xuyên tâm liên: chat, meeting trực tiếp với khách hàng, phân tích yêu cầu gửi về team; trao đổi những giải pháp; hỏi đáp cầu nối giữa team và khách.

Sau một thời gian tham gia trực tiếp nghề BA; kèm quan sát các bạn bên BA, Product vẽ vời và làm yêu cầu, mình nhìn thấy nhiều bất cập mà 17 năm qua mình làm ở FPT Software tụi mình đã từng gặp, thì mình xin chia sẻ vài ý kiến về những ĐIỂM MỐC mà BA, Design Artifact cho Product mà sếp giao cần bạn làm và đạt được, kèm những CHECKLIST mà họ cần có.
.
.
👉 Cơ bản thế nào gọi là BA trong gia công phần mềm tại Việt Nam (tính từ 1996 tới 2021)
- Team sẽ cần một người (biết nói tiếng Anh hoặc nói tiếng bản địa của khách hàng là tốt nhất) hiểu về miền kiến thức CNTT (phần mềm làm ra thế nào; các module chính của phần mềm X, Y, Z; mấy công đoạn; kiến trúc phần mềm phổ biến, hiện đại mới nhất là gì; khi nào cần làm phần mềm theo kiến trúc đó) kèm 
- Đã từng làm các dự án CNTT thì tốt; đã từng hứng chịu những than phiền, mắng mỏ, ch.ử.i rủa.... từ khách hàng thì tốt
- Đã quen với môi trường tiêu chuẩn mô hình làm việc của khách hàng sở tại thì tốt (ví dụ mô hình làm việc phía khách hàng cuối, phía tuyển trạch nhân lực, phía cầu nối cá bên.... ví dụ khách hàng Nhật NTT khác với Nhật NISSEN khác với Nhật Panasonic khác với Bắc Mỹ , khác với Đức)
- Đã từng quen với miền kiến thức nghiệp vụ (ngân hàng, chứng khoán quỹ đầy tư, tài sản đấu giá, bán lẻ, trông giữ xe, chăm sóc bò gà, chăm sóc người già, điều khiển robot, quản trị kênh truyền hình; điều khiển phanh máy bay; điều khiển robot mổ phẫu thuật; mua bán nhà đất, phân tích dự đoán hành vi, giá sản phẩm; phân tích tâm lý khách hàng; dự đoán tắc đường; dự đoán cháy rừng....) là tốt nhất.

... nói tới đây có lẽ một vài fans sẽ thốt lên: Ối zồi ôi, có lẽ chỉ có bạn làm lâu năm mới có đc những cái trên. Sao mấy đứa mới vào làm 2-3 tháng, lại còn học làm BA sao làm được. Không ở đây tôi đang nói về trải nghiệm của tôi nhìn tôi thấy và tôi làm. Còn có thể bạn và những ai đó có thấy, chứng kiến: một bạn lính mới tò te vừa tốt nghiệp Đại học, xông ra làm BA ...cũng ok...thì tôi nghĩ đó chỉ là hữu hạn ngoại lệ. Còn thật khó khi bạn chưa rành kiến thức CNTT, hoặc bạn chưa rõ miền nghiệp vụ...mà bạn làm tốt BA ...mà lại chỉ cần học 2-3 tháng ...mà LÀM TỐT thì mình đang nghĩ ...chắc các bạn nói cho vui thôi ạ!
.
.
Có một số sách và QUY TẮC bất thành văn, ai làm BA đều cần tham khảo là:
Ví dụ bạn này bạn ý nêu có vẻ hợp lý này: https://www.slideshare.net/MSaifurRahmanMBAPMP/cbap-babok-v3-notes
.
.
1. ĐIỂM MỐC
👉Về SẢN PHẨM CUỐI của BA trong gia công phần mềm ở VN (thông thường - gần như 99% các dự án làm ở VN)
- Sản phẩm cuối cùng nên là (như chúng tôi làm suốt 17 năm với kh Mỹ Nhật)
VD1: Văn bản SRS - cho khách hàng Mỹ làm mạng xã hội: https://1drv.ms/x/s!AoMt1NVPO04zg9QOr1j21budAeLcdQ?e=s7iP4l
VD2: Văn bản SRS - cho khách hàng Nhật: https://1drv.ms/w/s!AoMt1NVPO04zg9QTSZCEavBgTACqCw?e=5hACbP
- Vì sao chúng tôi gọi là sp cuối của BA: vì khi đó Dev team, Testteam rồi Product team hay BOM ...thậm chí nhiều level từ khách hàng sẽ không hỏi cái gì sau khi đọc doc này.
- Vậy còn những startup không có time, vậy hãy làm ra ít nhất là những cái này:
VD1: https://1drv.ms/b/s!AoMt1NVPO04zg9QRfXOLTnQr9cr03g?e=xXi3hA
VD2: https://1drv.ms/w/s!AoMt1NVPO04zg9QSC4z5IzzdWiKrzQ?e=SoJlJf

👉 Về HƯỚNG DẪN, CÁCH LÀM để làm được sản phẩm cuối trên
- Nhiều lắm, ví dụ các bạn tìm hiểu trong dathoc.net/booktest, có zip về RUP (bạn xem ở đây hoặc cứ Google IBM RUP ra nhiều lắm) hoặc IEEE về quy trình làm phần mềm là các bạn rõ ngay làm cái mà chúng tôi gọi là SRS là thế nào
- Tôi không rõ bạn đã đọc RUP về cách làm phần mềm bất kỳ thế nào chưa: xong với tôi đó là tài liệu chi tiết nhất để nói cho bạn từng bước từng giai đoạn làm phần mềm: từ tìm hiểu yêu cầu, thiết kế phần mềm; coding phần mềm; testing; triển khai ... ở đó các bạn sẽ tham khảo đủ khái niệm để trang bị tốt cho nghề BA
- Bạn xem 5 clip miễn phí qua Youtube, từ tôi trải nghiệm: https://www.youtube.com/watch?v=KLRVaH8whio&list=PL0ANjPcxElLjt8Im9y7J0Ig-OzNc-aQUc
- Nếu cụ thể hơn, Tiếng Việt cho dễ hiểu, các bạn xem phần Quy trình làm Yêu Cầu: trong dathoc.net/booktest, có folder req_process
- Có sách công nghiepe BA rất nổi tiến BABOK, link: https://onedrive.live.com/?authkey=%21ANpXbaexx4o4ayI&cid=334E3B4FD5D42D83&id=334E3B4FD5D42D83%2159935&parId=334E3B4FD5D42D83%2159657&o=OneUp
.
.
.
Vậy các điểm mốc để làm những cái trên là gì?
👉ĐIỂM MỐC SỐ 1: Đầu ra là một hệ thống FLOW, được vẽ mô phỏng kiểu mindmap.
- Một bản vẽ giấy nháp FLOW
- Bạn cần hiểu: Bạn phải trở nên người MASTER về yêu cầu dự án- ít nhất là phía team Việt Nam. Nếu bạn không giữ vai trò này, vậy 90% dự án sẽ không thành công, hay nói cách khác Yêu cầu dự án sẽ bị.. lung tung, mỗi ông hiểu một kiểu
- Cần tiếp cận yêu cầu theo BottomUp hoặc BreakDOwn, nó là cái gì, xin xem clip: https://www.youtube.com/watch?v=uua0g6BYVsU
- Đầu ra là một hệ thống FLOW kiểu user/system hoăc mindmap như ví dụ này, tôi viết về Yêu cầu phân loại chức năng của Instagram: 
https://onedrive.live.com/?authkey=%21ABq9Z4TKA2E4MbE&cid=334E3B4FD5D42D83&id=334E3B4FD5D42D83%2159904&parId=334E3B4FD5D42D83%2159895&o=OneUp

👉ĐIỂM MỐC SỐ 2:
- Đầu ra cần vẽ UseCase là tốt nhất (ko cần viết thêm gì cả). UseCase, nếu bạn nào chưa rõ thì nó gồm:
+ Một bản vẽ giấy/nháp
+ Ai, vai trò gì làm/tác động đối tượng X nào?
+ Hành động Y nào? để biến đổi X từ trạng thái 1 sang trạng thái 2
+ Tiếp sau đó các hành động Z1, Z2.. kèm theo nếu có khi X biến đổi.
- Ví dụ đây là một usecase: 
https://onedrive.live.com/?authkey=%21ABq9Z4TKA2E4MbE&cid=334E3B4FD5D42D83&id=334E3B4FD5D42D83%2160349&parId=334E3B4FD5D42D83%2159895&o=OneUp
- Nếu không biết vẽ usecase, cần làm chi tiết flow tương tự bao gồm những cái trên

👉ĐIỂM MỐC SỐ 3:
- Chính là VB mẫu SRS trên
- Cụ thể SRS mô tả đuợc những gì?
+ Yêu cầu gốc, đã được bóc tách từng nhánh yêu cầu còn và các nhánh con, ví dụ một nhánh là: sau khi rút tiền cần xác nhận và thông báo khách hàng tiền đã rút và  hiện lời cảm ơn.
+ Có phân định rõ Yêu cầu dòng xử lý CHÍNH; và Yêu cầu dòng xử lý PHỤ
+ Có mô tả sơ qua nhánh yêu cầu; Chính thế nào, Phụ thế nào; 
ví dụ Chính: sau khi rút tiền xử lý và đưa thông báo
ví dụ Phụ1: sau khi rút tiền, internet mất
ví dụ Phụ2: khi rút tiền giữa chừng, db mất kết nối mất
ví dụ Phụ3: khi rút tiền giữa chừng, khách hoãn ko rút nữa
+ Có mô tả các buớc đối chiếu người dùng và hệ thống, ví dụ: Người dùng làm step 1 - Hệ thống xử lý phản hồi step 1 - Người dùng làm step 2 - Hệ thống phản hồi step 2....
+ Có mô tả các thông báo nếu có, ví dụ: tới bước X, hệ thống thông báo như sau: Cảm ơn bạn đã rút tiền
+ Có mô tả các thành phần giao diện GUI, và các chế tài kèm thành phần giao diện đó (cái này có thể linh hoạt theo ngôn ngữ lập trình, kiến trúc phần mềm triển khai cho phù hợp
+ Có mô tả sơ qua dòng lưu chuyển logic hoặc data: của máy trạm - chủ (client và server), hoặc các thành phần hệ thống (component) khi mỗi bước Người dùng, Hệ thống đi qua.
+ Có kèm bản vẽ GUI đã thiết kế, hoặc sơ qua thiết kế cho ai đọc cũng hiểu.

👉2. CHECKLIST
Vậy với bạn rành nghề thì đã rõ. Những bạn amato thì cần qua checklist những gì, thì sau đây sẽ có những checklist cho bạn đảm bảo bạn không thiếu thừa cái gì khi làm những cái trên
Link: https://1drv.ms/u/s!AoMt1NVPO04zg9N62ldtp7HHijhrIg?e=gp4M35

Vậy tới đây các bạn đã rõ: vì sao chúng tôi gọi các bước trên sẽ tạo ra: sp cuối SRS của BA: vì khi đó Dev team, Test team rồi Product team hay BOM ...thậm chí nhiều level từ khách hàng sẽ không hỏi cái gì sau khi đọc doc SRS này.

Có thể bạn và team có quan điểm không có SRS trên, ví dụ: bạn đang trong quy trình Agile và không có doc gì cả; hay bạn đang theo quy trình excel based của Nhật, các yêu cầu được viết chi tiết quá rồi..vậy bạn cứ theo thôi. Chúng tôi không ép buộc các bạn phải cho ra SRS; có thể các bạn làm BA theo một quy trình nào đó mà nội dung cần tương đương với SRS của tôi nêu trên thì sẽ hoàn hảo.
--------------------------------
SÁCH về BA: dathoc.net/booktest, folder babook
SÁCH - TẠP CHÍ - TÀI LIỆU ĐÚC KẾT KINH NGHIỆM làm về SOFTWARE TESTING cần tham khảo: dathoc.net/booktest
Bạn muốn thông thạo hơn việc viết thiết kế testcase, sử dụng công cụ automation test HERA để auto test, các framework Appium, TestNG, xin tham gia FREE tại: youtube.com/c/TesterPRO/
By: dathoc.net/cv