BAHUB.VN
Glossary

Software Development Life Cycle(SDLC)

General BAVòng đời phát triển phần mềm

Chuỗi các pha một phần mềm đi qua từ lúc có ý tưởng tới lúc ngừng dùng: lập kế hoạch, phân tích, thiết kế, lập trình, kiểm thử, triển khai, vận hành. BA có việc ở gần như mọi pha.

Định nghĩa

Mọi phần mềm đều đi qua một chuỗi việc giống nhau: có người nêu nhu cầu, có người làm rõ nhu cầu, có người thiết kế, có người code, có người test, rồi nó lên chạy thật và sống tiếp vài năm. Gọi tên chuỗi đó là SDLC. Cái khác nhau giữa các công ty là kích thước mỗi pha và số lần lặp lại, chứ không phải bản thân các pha.

SDLC mô tả các pha phải đi qua. Waterfall hay Scrum chỉ là cách sắp xếp thứ tự và độ dài của những pha đó.

Các pha và việc của BA

PhaAi chủ trìBA làm gìĐầu ra thường gặp
Lập kế hoạchPM, sponsorLàm rõ vấn đề, ước lượng lợi ích, dựng business caseBusiness case, phạm vi sơ bộ
Phân tích yêu cầuBAPhỏng vấn, workshop, quan sát, viết yêu cầuBRD, FRD, user story, sơ đồ
Thiết kếTech lead, designerRà thiết kế có phủ hết nghiệp vụ chưa, chốt wireframe với kháchWireframe, thiết kế kỹ thuật
Lập trìnhDevTrả lời câu hỏi, làm rõ ngoại lệ, quản lý thay đổiTicket đã refine, CR
Kiểm thửQCRà test case theo yêu cầu, hỗ trợ UAT, phân xử tranh cãi bug hay CRKịch bản UAT, biên bản nghiệm thu
Triển khaiDevOps, PMLập kế hoạch cắt chuyển, viết tài liệu hướng dẫn, đào tạo người dùngCutover plan, tài liệu người dùng
Vận hành, bảo trìĐội hỗ trợĐo hiệu quả thật, gom yêu cầu mới, phân loại ticketBáo cáo sau go-live, backlog mới

Pha bị coi nhẹ nhất là pha cuối. Hợp đồng thường kết thúc ở mốc nghiệm thu, đội chuyển sang dự án khác, và không ai quay lại xem thứ vừa làm có ai dùng hay không.

Mấy mô hình chạy các pha đó

  • Waterfall: đi một lượt, mỗi pha có cửa ký duyệt trước khi sang pha sau.
  • V-model: giống waterfall nhưng gắn mỗi pha bên trái với một cấp kiểm thử bên phải. Yêu cầu nghiệp vụ đối xứng với UAT, thiết kế hệ thống đối xứng với SIT.
  • Iterative, incremental: chia thành nhiều vòng, mỗi vòng đủ các pha và cho ra một phần chạy được.
  • Agile, Scrum: vòng lặp rất ngắn, hai tuần, các pha nén lại và chồng lên nhau trong cùng một sprint.
  • Spiral: mỗi vòng có thêm bước đánh giá rủi ro, hợp với dự án tốn kém và nhiều thứ chưa biết.

Ở phỏng vấn, người ta hay hỏi bạn thích mô hình nào. Câu trả lời có trọng lượng hơn là hỏi ngược lại: yêu cầu ổn định tới đâu, chi phí sửa sai cao thế nào, khách có người ngồi cùng đội hằng ngày không.

Ví dụ thực tế

Dự án app đặt lịch khám cho một hệ thống phòng khám 6 cơ sở, 5 tháng, đội 7 người, chạy sprint hai tuần nhưng vẫn có ba cửa ký duyệt vì bên khách hàng cần chứng từ nghiệm thu theo giai đoạn.

Cách các pha thật sự diễn ra:

  • Tuần 1–2: BA làm việc với ban giám đốc và ba lễ tân, ra một tài liệu 12 trang gồm phạm vi, luồng chính và bảng chỉ tiêu kỳ vọng. Ký duyệt lần một.
  • Tuần 3–14: chạy 6 sprint. Trong mỗi sprint đều có đủ phân tích, thiết kế, code, test. BA viết story trước một sprint, ngồi cùng QC rà test case trong sprint.
  • Tuần 15–16: UAT với 12 người dùng thật ở hai cơ sở, 34 lỗi ghi nhận, trong đó 9 cái sau khi phân xử được ghi là CR chứ không phải bug.
  • Tuần 17: cắt chuyển vào tối thứ bảy, chạy song song với sổ giấy trong một tuần đầu.
  • Tuần 18–21: hypercare. BA trực tổng đài nội bộ hai giờ mỗi sáng, gom được 47 phản hồi, chuyển 11 cái thành backlog đợt hai.

Con số đáng nhớ ở dự án đó là 9 CR bị nhầm thành bug. Toàn bộ chín cái đều rơi vào những chỗ tài liệu tuần 1–2 viết chung chung, kiểu "hệ thống hỗ trợ huỷ lịch". Huỷ trước bao lâu thì được, ai được huỷ thay bệnh nhân, huỷ rồi khung giờ có mở lại ngay hay không — không có câu nào trả lời.

Mẹo khi đi làm

Khi vào một dự án mới, câu hỏi đầu tiên nên hỏi là dự án này đang ở pha nào và pha trước đã chốt cái gì bằng văn bản. Nhiều bạn BA mới nhận việc giữa pha lập trình, tưởng mình chỉ cần viết tiếp story, rồi ba tuần sau phát hiện phạm vi đã được ký ở một tài liệu mình chưa từng đọc. Xin bằng được tài liệu đó trong ngày đầu tiên.

SDLC là gì? Các pha và việc của BA ở từng pha | BAHUB.VN