Professional Documents
Culture Documents
Lesson - 01 - Quy Trình Phát Triển
Lesson - 01 - Quy Trình Phát Triển
Lesson 1
Quy trình phát triển phần mềm
23/04/2022
Agenda Chương trình
Thiết kế
Triển khai
Các công việc chính của phân tích requirements bao gồm:
- Phân tích
- Lập tài liệu
- Xác định và quản lý các requirements của phần mềm hoặc hệ thống.
Ví dụ về Requirement:
Một người đến cửa hàng điện thoại và bảo người bán hàng “Tôi muốn mua Iphone 13
mới nhất với giá 13 triệu”
Hãy phân tích Requirement của khách hàng?
2. Stakeholder Requirement: là những yêu cầu cụ thể của từng Stakeholder. Những
yêu cầu này phải thể hiện được cái need-nhu cầu cụ thể của các Stakeholder.
3. Solution Requirement: là những yêu cầu về khả năng và tiêu chuẩn mà giải pháp
phải có để đạt được Business Requirement và Stakeholder Requirement. Gồm 2 loại:
- Functional Requirement (what the system do?): là những thứ mà hệ thống có
thể làm.
- Non-Functional Requirement (how the system work?): là những thứ không liên
quan chức năng nhưng giúp hệ thống chạy tốt và đảm bảo được chất lượng.
4. Transition Requirement: là những yêu cầu của khách hàng liên quan tới việc áp
dụng các giải pháp vào tổ chức như thế nào cho hiệu quả.
Chuyển giao
1. Business Requirement: Giám đốc một công ty bán hàng đưa ra yêu cầu mong muốn “tăng 10% tỉ
lệ khách hàng quay lại mua hàng”
3. Functional Requirement:
+ Xây dựng chức năng Đăng kí thông tin khách hàng => lấy được thông tin khách hàng
+ Xây dựng chức năng Lưu các hoạt động mua hàng của từng khách hàng => Xây dựng danh sách
khách hàng tiềm năng dựa vào những lần mua hàng
+ Xây dựng các chương trình Giảm giá ưu đãi để thu hút khách hàng
4. Non-Functional Requirement:
Hệ thống ko phải chỉ chạy được, mà hệ thống còn phải chạy nhanh, gọn và đẹp, tiện dụng
5. Transition Requirement:
- Ít nhất có 5 buổi đào tạo hệ thống cho Sales team.
- Toàn bộ Scenario phải đáp ứng được toàn bộ nghiệp vụ của công ty và phải được chạy test ít
nhất 2 lần trước khi phát hành
Kịch bản
Thực hiện thiết kế và tổng hợp các tài liệu thiết kế:
- Thiết kế Database
- Thiết kế API API
- Vẽ Data Flow
- Vẽ Mockup
- Thiết kế UX/UI
- Thiết kế Business Process Flow
- Thiết kế bộ phân quyền hệ thống
- Vẽ Solution Architect
……..
Tùy từng quy trình phát triển có thể đưa ra các loại tài liệu khác nhau, và BA có thể ko
phải làm tất cả những loại tài liệu này
Lập trình viên thực hiện lập trình dựa trên các tài liệu thiết kế.
Project Manager:
Thiết lập dự án, xác định scope, quản lý tiến độ, resource, chi phí…
Business Analysis:
Phân tích yêu cầu, quản lý yêu cầu…
Techlead:
Xây dựng cấu trúc hệ thống, review code, nghiên cứu công nghệ mới hoặc khó…
Developer:
Coding theo yêu cầu……
Tester (QC):
Viết testcase dựa theo yêu cầu và test……
Để hiểu được Project chúng ta phải trả lời được các câu hỏi sau:
- Vấn đề khách hàng đang gặp phải là gì? ( Problem to be solved)
- Mục tiêu khách hàng muốn là gì? (Business Goal)
- Hiện trạng của khách hàng? (Business Case)
- Phạm vi của dự án? (Project scope)
Elicitation là khai thác thông tin từ khách hàng, mọi yêu cầu từ khách hàng thường là
không có sẵn mà BA phải biết cách khai thác => để hiểu được mình cần phải làm gì?
Phân tích đơn giản chỉ là sắp xếp và phân loại các thông tin để BA xác định được:
- Vấn đề thực sự của khách hàng là gì?
- Đâu là những yêu cầu thực tế?
- Đâu là những yêu cầu không thể thực hiện được?
- Những thứ khách hàng thực sự ưu tiên vào thời điểm hiện tại? priotiry
Bước documentation nghĩa là tài liệu hóa, tức là đem toàn bộ những thứ làm đc từ
bước trên tổng hợp lại thành tài liệu.
Hai tài liệu phổ biến là SRS hoặc FRD: Đặc tả yêu cầu phần mềm
Biểu mẫu
Để document áp dụng:
- Tận dụng Template có sẵn
- Mô hình hóa để Document
Sau khi Document sẽ chuyển cho team verify lại một lần nữa, cụ thể là QC hoặc PM.
Document đã đúng chưa?
Các yêu cầu trong Document đã đầy đủ chưa?
6. Management
Không hẳn là BA sẽ phải làm hết những phần này mà sẽ có sự tham gia của các vị trí
khác như Dev, Technical, Architect, hoặc PM……
Giai đoạn này BA sẽ hỗ trợ Develop team trong quá trình phát triển sản phẩm.
Trong giai đoạn Kiểm thử thì QC sẽ viết bộ Testcase và BA chuẩn bị một tài liệu
Requirement Tracebility Matrix (RTM)
Mục đích của RTM là để BA check lại xem các Requirement đã được test hay
chưa? Và test thành công hay thất bại. RTM sẽ giúp BA control được
Requirement xuyên suốt dự án.
- Sau khi chuẩn bị tài liệu Hướng dẫn sử dụng thì sẽ tiến hành Training khách hàng
sử dụng hệ thống
- Fix bugs: khi có lỗi phát sinh, khách hàng sẽ gửi lỗi để BA vào phân tích và team
fix.
- Log bugs và phân tích bugs: nguyên nhân tại sao, ai là người phát hiện, hiện
trạng, thời gian…
- Phân tích để phát triển thêm các tính năng mà khách hàng muốn.
- Nâng cấp version khi có phiên bản update (thường là sau khi fix bugs)
- Activity sheet: quản lý hoạt động giữa team phát triển và khách hàng, tính
toán phát sinh chi phí nếu cần